From 7d3ff1c19d98aece090824bd86576511d7e879a2 Mon Sep 17 00:00:00 2001 From: Nathan Melehan Date: Wed, 22 Jul 2026 20:44:21 +0000 Subject: [PATCH 1/2] Utility script that removes trailing slashes on relative cloud docs links --- scripts/strip_cloud_link_trailing_slash.py | 97 ++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 scripts/strip_cloud_link_trailing_slash.py diff --git a/scripts/strip_cloud_link_trailing_slash.py b/scripts/strip_cloud_link_trailing_slash.py new file mode 100644 index 00000000000..be064c2810d --- /dev/null +++ b/scripts/strip_cloud_link_trailing_slash.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python3 +"""Remove the trailing slash from internal `/cloud/` markdown links. + +Walks every markdown file under the docs directory and rewrites inline +markdown links whose target starts with `/cloud/`, dropping the slash at the +end of the path: + + [Get Started](/cloud/marketplace-docs/get-started/) + [Get Started](/cloud/marketplace-docs/get-started) + +Links carrying an anchor are handled too, with the slash removed from the +path portion: + + [Configure](/cloud/guides/foo/#configure) + [Configure](/cloud/guides/foo#configure) + +Only markdown link syntax is matched, so bare `/cloud/` strings elsewhere in +the prose (external URLs, file paths) are left alone. + +Usage: + python3 scripts/strip_cloud_link_trailing_slash.py [--dry-run] [--path docs] +""" + +import argparse +import os +import re +import sys + +# The target of an inline markdown link pointing at /cloud. Confined to a +# single line so an unbalanced paren cannot run the match into later content. +LINK_RE = re.compile(r"(?<=\]\()/cloud[^)\n]*(?=\))") + + +def strip_slash(match): + """Drop the trailing slash from the path portion of a link target.""" + target = match.group(0) + # Split off an anchor or query string, leaving just the path to trim. + split = re.search(r"[#?]", target) + if split: + path, suffix = target[: split.start()], target[split.start() :] + else: + path, suffix = target, "" + + return path.rstrip("/") + suffix + + +def rewrite_file(path, dry_run): + """Rewrite `path` with trailing slashes stripped. Returns links changed.""" + with open(path, encoding="utf-8") as f: + content = f.read() + + updated, _ = LINK_RE.subn(strip_slash, content) + if updated == content: + return 0 + + # subn's count includes untouched matches, so count real differences. + changes = sum( + 1 + for before, after in zip(LINK_RE.findall(content), LINK_RE.findall(updated)) + if before != after + ) + + if not dry_run: + with open(path, "w", encoding="utf-8") as f: + f.write(updated) + + return changes + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--path", default="docs", help="directory to walk (default: docs)") + parser.add_argument("--dry-run", action="store_true", help="report files without modifying them") + args = parser.parse_args() + + if not os.path.isdir(args.path): + sys.exit("No such directory: {}".format(args.path)) + + files = 0 + links = 0 + for root, _, names in os.walk(args.path): + for name in names: + if not name.endswith(".md"): + continue + full = os.path.join(root, name) + changed = rewrite_file(full, args.dry_run) + if changed: + files += 1 + links += changed + print("{} ({} link{})".format(full, changed, "" if changed == 1 else "s")) + + verb = "would be updated" if args.dry_run else "updated" + print("\n{} link(s) across {} file(s) {}.".format(links, files, verb)) + + +if __name__ == "__main__": + main() From 0b868c6efd27e65a074c5bba9f34607d7bc67170 Mon Sep 17 00:00:00 2001 From: Nathan Melehan Date: Wed, 22 Jul 2026 20:44:44 +0000 Subject: [PATCH 2/2] Remove trailing slash from relative cloud docs links - The canonical URLs under akamai.com do not have trailing slashes - This PR removes trailing slashes on all relative cloud docs links inside of guides (e.g. '[/cloud/guides/]' -> '[/cloud/guides]') - A new utility script (scripts/strip_cloud_link_trailing_slash.py) is used for this task --- .../limited-user-note-shortguide/index.md | 2 +- .../index.md | 2 +- .../index.md | 20 +- .../index.md | 2 +- .../index.md | 2 +- .../getting-started-with-rasa/index.md | 4 +- .../history-of-machine-learning/index.md | 4 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 2 +- .../how-to-install-tensorflow/index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../machine-learning-cyber-attacks/index.md | 4 +- .../manually-deploy-kafka-cluster/index.md | 6 +- .../index.md | 2 +- .../index.md | 6 +- .../big-data/what-is-apache-kafka/index.md | 4 +- .../index.md | 4 +- .../how-to-use-zfs-on-ubuntu-16-04/index.md | 2 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../install-nextcloud-talk/index.md | 2 +- .../index.md | 8 +- .../owncloud-external-storage/index.md | 4 +- .../index.md | 2 +- .../tahoe-lafs-on-debian-9/index.md | 2 +- .../ansible/ansible-adhoc-commands/index.md | 8 +- .../ansible-security-benefits/index.md | 6 +- .../deploy-linodes-using-ansible/index.md | 10 +- .../index.md | 8 +- .../index.md | 10 +- .../getting-started-with-ansible/index.md | 12 +- .../running-ansible-playbooks/index.md | 12 +- .../secrets-management-with-ansible/index.md | 12 +- .../index.md | 2 +- .../gitops-principles-and-workflow/index.md | 12 +- .../basics/introduction-to-hcl/index.md | 8 +- .../index.md | 10 +- .../basics/terraform-vs-ansible/index.md | 6 +- .../basics/terraform-vs-pulumi/index.md | 4 +- .../basics/using-mktemp-command/index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../basics/yaml-reference/index.md | 4 +- .../chef/beginners-guide-chef/index.md | 10 +- .../index.md | 8 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 14 +- .../index.md | 8 +- .../manage-users-with-cloud-init/index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../write-files-with-cloud-init/index.md | 8 +- .../getting-started-with-crossplane/index.md | 4 +- .../index.md | 10 +- .../how-to-use-linode-packer-builder/index.md | 12 +- .../index.md | 2 +- .../install-and-configure-puppet/index.md | 2 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 8 +- .../index.md | 6 +- .../index.md | 6 +- .../salt/beginners-guide-to-salt/index.md | 4 +- .../index.md | 2 +- .../salt/configure-and-use-salt-ssh/index.md | 2 +- .../configure-apache-with-salt-stack/index.md | 10 +- .../create-a-salt-execution-module/index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 16 +- .../index.md | 2 +- .../index.md | 4 +- .../beginners-guide-to-terraform/index.md | 18 +- .../index.md | 6 +- .../index.md | 6 +- .../create-terraform-module/index.md | 8 +- .../index.md | 8 +- .../index.md | 12 +- .../index.md | 14 +- .../index.md | 10 +- .../index.md | 8 +- .../test-kitchen-shortguide/index.md | 2 +- .../index.md | 4 +- .../index.md | 6 +- .../beginners-guide-to-lxd/index.md | 2 +- .../index.md | 8 +- .../containers/cloud-containers/index.md | 4 +- .../create-a-dagger-pipeline/index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 2 +- .../docker-container-communication/index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../how-to-use-docker-compose-v2/index.md | 4 +- .../how-to-use-dockerfiles/index.md | 2 +- .../index.md | 10 +- .../index.md | 10 +- .../installing-docker-shortguide/index.md | 4 +- .../introduction-to-docker/index.md | 2 +- .../monitoring-docker-containers/index.md | 8 +- .../containers/podman-vs-docker/index.md | 8 +- .../remove-docker-resources/index.md | 4 +- .../running-commands-with-dockerized/index.md | 4 +- .../set-up-mongodb-on-docker/index.md | 4 +- .../understanding-docker-volumes/index.md | 8 +- .../index.md | 2 +- .../using-buildah-oci-images/index.md | 10 +- .../using-nomad-for-orchestration/index.md | 18 +- .../containers/using-podman/index.md | 10 +- .../when-and-why-to-use-docker/index.md | 2 +- .../marketplaces/installing-yunohost/index.md | 2 +- .../how-to-install-jellyfin/index.md | 6 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 6 +- .../set-up-a-streaming-rtmp-server/index.md | 2 +- .../index.md | 4 +- .../messaging/advanced-irssi-usage/index.md | 2 +- .../deploying-rabbitmq-on-a-linode/index.md | 4 +- .../index.md | 10 +- .../index.md | 6 +- .../install-mastodon-on-debian-10/index.md | 12 +- .../install-mastodon-on-ubuntu-1604/index.md | 8 +- .../install-mastodon-on-ubuntu-2004/index.md | 10 +- .../index.md | 12 +- .../install-rocket-chat-helpdesk/index.md | 10 +- .../messaging/install-znc-debian/index.md | 2 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../installing-riot-on-debian-10/index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 10 +- .../manually-deploy-jitsi-cluster/index.md | 6 +- .../index.md | 2 +- .../index.md | 10 +- .../messaging/using-weechat-for-irc/index.md | 10 +- .../index.md | 2 +- .../index.md | 2 +- .../install-farmos/index.md | 8 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 6 +- .../install-vnc-on-ubuntu-16-04/index.md | 4 +- .../install-vnc-on-ubuntu-18-04/index.md | 4 +- .../install-vnc-on-ubuntu-20-04/index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../social-networking/dolphin/index.md | 8 +- .../index.md | 2 +- .../how-to-install-collabora-code/index.md | 6 +- .../how-to-install-peertube/index.md | 4 +- .../how-to-install-pixelfed/index.md | 4 +- .../index.md | 2 +- .../index.md | 12 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 6 +- .../index.md | 2 +- .../install-asterisk-on-centos-7/index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 6 +- .../install-couchdb-20-on-ubuntu/index.md | 4 +- .../use-couchdb-2-0-on-ubuntu-20-04/index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../a-guide-to-elasticsearch-plugins/index.md | 2 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../general/database-solutions/index.md | 32 +-- .../how-to-install-and-use-replibyte/index.md | 2 +- .../general/list-of-databases/index.md | 16 +- .../relational-database-overview/index.md | 2 +- .../index.md | 6 +- .../index.md | 6 +- .../create-a-harperdb-cluster/index.md | 2 +- .../index.md | 8 +- .../index.md | 10 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../mariadb/mariadb-setup-debian/index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../mongodb-shell-shortguide/index.md | 2 +- .../index.md | 6 +- .../index.md | 12 +- .../create-a-mongodb-replica-set/index.md | 10 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../getting-started-with-mongodb/index.md | 6 +- .../mongodb/indexing-mongodb/index.md | 4 +- .../install-mongodb-on-centos-7/index.md | 2 +- .../install-mongodb-on-ubuntu-16-04/index.md | 2 +- .../install-mongodb-on-ubuntu-20-04/index.md | 4 +- .../mongodb/mongodb-introduction/index.md | 2 +- .../navigate-mongodb-databases/index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../mysql/an-overview-of-mysql/index.md | 12 +- .../back-up-your-mysql-databases/index.md | 10 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../how-to-install-mysql-on-centos-6/index.md | 4 +- .../how-to-install-mysql-on-centos-7/index.md | 6 +- .../how-to-install-mysql-on-centos8/index.md | 2 +- .../how-to-install-mysql-on-debian-7/index.md | 4 +- .../how-to-install-mysql-on-debian-8/index.md | 4 +- .../index.md | 6 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 6 +- .../install-mysql-on-ubuntu-14-04/index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../databases/mysql/install-mysql/index.md | 4 +- .../index.md | 2 +- .../list-tables-in-mysql-and-mariadb/index.md | 12 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 8 +- .../mysql/mysql-command-line-client/index.md | 16 +- .../mysql/mysqldump-backups/index.md | 12 +- .../databases/mysql/securing-mysql/index.md | 2 +- .../mysql/standalone-mysql-server/index.md | 14 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../vitess-mysql-for-kubernetes/index.md | 2 +- .../neo4j/an-introduction-to-neo4j/index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../an-introduction-to-postgresql/index.md | 6 +- .../back-up-a-postgresql-database/index.md | 6 +- .../databases/postgresql/centos-5/index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../postgresql/configure-postgresql/index.md | 6 +- .../index.md | 2 +- .../databases/postgresql/fedora-12/index.md | 4 +- .../databases/postgresql/fedora-13/index.md | 4 +- .../databases/postgresql/fedora-14/index.md | 4 +- .../index.md | 2 +- .../index.md | 10 +- .../index.md | 8 +- .../index.md | 6 +- .../index.md | 10 +- .../index.md | 4 +- .../postgresql/ubuntu-10-04-lucid/index.md | 4 +- .../postgresql/ubuntu-10-10-maverick/index.md | 4 +- .../postgresql/ubuntu-9-10-karmic/index.md | 4 +- .../index.md | 4 +- .../redis/hashes-in-redis-databases/index.md | 8 +- .../index.md | 4 +- .../index.md | 4 +- .../redis/install-redis-ubuntu/index.md | 2 +- .../redis/lua-scripting-for-redis/index.md | 6 +- .../redis/redis-client-side-caching/index.md | 10 +- .../redis/redis-getting-started/index.md | 10 +- .../redis/redis-on-centos-5/index.md | 6 +- .../redis/redis-on-debian-5-lenny/index.md | 6 +- .../redis/redis-on-debian-6-squeeze/index.md | 6 +- .../redis/redis-on-fedora-13/index.md | 6 +- .../redis/redis-on-fedora-14/index.md | 4 +- .../redis-on-ubuntu-10-04-lucid/index.md | 6 +- .../redis-on-ubuntu-10-10-maverick/index.md | 6 +- .../index.md | 6 +- .../redis-on-ubuntu-9-10-karmic/index.md | 6 +- .../databases/redis/redis-server-cli/index.md | 8 +- .../redis/redis-transaction-blocks/index.md | 8 +- .../index.md | 8 +- .../redis/using-redis-scan-commands/index.md | 6 +- .../index.md | 10 +- .../sql-syntax/sharded-database/index.md | 4 +- .../sql-syntax/sql-data-types/index.md | 2 +- .../sql-grouping-and-totaling/index.md | 2 +- .../databases/sql-syntax/sql-joins/index.md | 2 +- .../sql-syntax/sql-security/index.md | 2 +- .../sql-server-security-part-2/index.md | 6 +- .../sql-syntax/sql-server-security/index.md | 8 +- .../index.md | 2 +- .../databases/sqlite/what-is-sqlite/index.md | 2 +- .../deploy-surrealdb-cluster/index.md | 6 +- .../getting-started-with-surrealdb/index.md | 8 +- .../index.md | 10 +- .../surrealdb-for-web-applications/index.md | 26 +-- .../surrealdb-interdocument-modeling/index.md | 6 +- .../api-design-best-practices/index.md | 4 +- .../what-is-cloud-native-computing/index.md | 6 +- .../differences-between-grep-sed-awk/index.md | 6 +- .../awk/filter-data-using-awk-regex/index.md | 2 +- .../awk/test-cloud-relative-links/index.md | 6 +- .../bash/advanced-bash-scripting-1/index.md | 2 +- .../bash/advanced-bash-scripting-2/index.md | 2 +- .../index.md | 12 +- .../how-to-use-shebang-bash-python/index.md | 2 +- .../bash/intro-bash-shell-scripting/index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 2 +- .../index.md | 2 +- .../what-is-code-coverage-analysis/index.md | 4 +- .../what-is-static-code-analysis/index.md | 2 +- .../index.md | 4 +- .../ci/introduction-ci-cd/index.md | 2 +- .../index.md | 10 +- .../what-is-immutable-infrastructure/index.md | 14 +- .../index.md | 4 +- .../concepts/data-structure/index.md | 2 +- .../index.md | 2 +- .../concepts/oop-principles/index.md | 4 +- .../concepts/types-of-api/index.md | 8 +- .../concepts/webrtc-vs-websockets/index.md | 4 +- .../concepts/what-is-a-service-mesh/index.md | 4 +- .../concepts/what-is-unit-testing/index.md | 2 +- .../visualize-history/index.md | 6 +- .../deno/how-to-install-and-use-deno/index.md | 2 +- .../apache-tomcat-on-debian-10/index.md | 4 +- .../apache-tomcat-on-fedora-12/index.md | 2 +- .../apache-tomcat-on-fedora-13/index.md | 2 +- .../apache-tomcat-on-fedora-14/index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../apache-tomcat-on-ubuntu-16-04/index.md | 4 +- .../apache-tomcat-on-ubuntu-18-04/index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../connect-appsmith-to-linode-api/index.md | 4 +- .../appsmith/deploy-appsmith-docker/index.md | 16 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 4 +- .../building-a-website-with-astro/index.md | 12 +- .../cakephp-on-debian-5-lenny/index.md | 2 +- .../catalyst/catalyst-and-modperl/index.md | 12 +- .../index.md | 12 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../dotnet/install-dotnet-on-ubuntu/index.md | 2 +- .../index.md | 6 +- .../phoenix/using-phoenix-framework/index.md | 10 +- .../index.md | 8 +- .../symfony/symfony-on-centos-5/index.md | 2 +- .../webpy/webpy-on-debian-5-lenny/index.md | 8 +- .../webpy/webpy-on-debian-6-squeeze/index.md | 8 +- .../webpy-on-ubuntu-10-04-lucid/index.md | 6 +- .../webpy-on-ubuntu-10-10-maverick/index.md | 8 +- .../index.md | 8 +- .../index.md | 6 +- .../index.md | 2 +- .../go/beginners-guide-to-go/index.md | 4 +- .../index.md | 4 +- .../index.md | 8 +- .../getting-started-with-go-packages/index.md | 4 +- .../guides/development/go/go-context/index.md | 12 +- .../development/go/go-data-types/index.md | 12 +- .../development/go/go-structures/index.md | 4 +- .../go/golang-gopath-and-workspaces/index.md | 4 +- .../go/golang-unit-testing/index.md | 2 +- .../development/go/golang-vs-rust/index.md | 8 +- .../index.md | 2 +- .../go/unit-test-your-go-application/index.md | 4 +- .../development/go/using-cobra/index.md | 4 +- .../graphql-apollo-an-introduction/index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../kotlin-tutorial-learn-the-basics/index.md | 8 +- .../play-framework-build-a-website/index.md | 4 +- .../angular-animations-get-started/index.md | 2 +- .../angular-tutorial-for-beginners/index.md | 8 +- .../index.md | 8 +- .../index.md | 16 +- .../deploy-a-mern-stack-application/index.md | 18 +- .../javascript/document-object-model/index.md | 2 +- .../javascript/express-js-tutorial/index.md | 4 +- .../javascript/getting-started-ember/index.md | 8 +- .../getting-started-with-svelte/index.md | 6 +- .../how-to-add-javascript-to-html/index.md | 2 +- .../how-to-authenticate-using-jwt/index.md | 8 +- .../index.md | 10 +- .../how-to-use-javascript-fetch-api/index.md | 2 +- .../install-the-mern-stack/index.md | 16 +- .../javascript/introduction-to-bun/index.md | 4 +- .../javascript-base-64-decode/index.md | 2 +- .../javascript-dom-manipulation/index.md | 18 +- .../javascript-objects-tutorial/index.md | 4 +- .../javascript/mean-stack-tutorial/index.md | 4 +- .../javascript/traversing-the-dom/index.md | 14 +- .../index.md | 2 +- .../index.md | 6 +- .../javascript/using-socket-io/index.md | 14 +- .../index.md | 6 +- .../javascript/what-is-jamstack/index.md | 16 +- .../next-js/getting-started-next-js/index.md | 10 +- .../next-js/next-js-with-typescript/index.md | 12 +- .../index.md | 2 +- .../nodejs/how-to-update-nodejs/index.md | 6 +- .../install-and-use-npm-on-linux/index.md | 2 +- .../index.md | 4 +- .../install-nodejs-on-ubuntu-22-04/index.md | 4 +- .../nodejs/nodejs-twitter-bot/index.md | 20 +- .../index.md | 6 +- .../index.md | 2 +- .../boolean-variables-in-python/index.md | 4 +- .../python/check-python-version/index.md | 2 +- .../python/commenting-in-python/index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 4 +- .../flask-and-gunicorn-on-ubuntu/index.md | 10 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 8 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 14 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 18 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 2 +- .../python/pros-and-cons-of-python/index.md | 2 +- .../python/python-3-dictionaries/index.md | 4 +- .../development/python/python-arrays/index.md | 6 +- .../python/python-data-types/index.md | 14 +- .../python-for-and-while-loops/index.md | 6 +- .../python-lists-and-how-to-use-them/index.md | 6 +- .../python/python-priority-queue/index.md | 2 +- .../development/python/python-sets/index.md | 8 +- .../python-string-interpolation/index.md | 2 +- .../index.md | 4 +- .../development/python/python-tuples/index.md | 6 +- .../python/python-variables/index.md | 4 +- .../pytorch-installation-ubuntu-2004/index.md | 4 +- .../string-manipulation-python-3/index.md | 2 +- .../task-queue-celery-rabbitmq/index.md | 2 +- .../index.md | 6 +- .../index.md | 2 +- .../index.md | 4 +- .../python/web-programming-languages/index.md | 10 +- .../index.md | 2 +- .../index.md | 2 +- .../create-react-app-with-appwrite/index.md | 12 +- .../deploy-a-react-app-on-linode/index.md | 6 +- .../index.md | 10 +- .../index.md | 10 +- .../index.md | 10 +- .../ruby-on-rails-apache-debian-8/index.md | 6 +- .../ror/ruby-on-rails-nginx-debian/index.md | 6 +- .../index.md | 8 +- .../index.md | 4 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 10 +- .../index.md | 8 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 10 +- .../rust/how-to-install-rust/index.md | 2 +- .../index.md | 2 +- .../a-beginners-guide-to-github/index.md | 6 +- .../index.md | 2 +- .../creating-git-aliases/index.md | 2 +- .../index.md | 16 +- .../how-to-configure-git/index.md | 8 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../how-to-undo-git-commit/index.md | 2 +- .../how-to-use-gitignore/index.md | 4 +- .../install-apache-subversion-ubuntu/index.md | 6 +- .../index.md | 8 +- .../install-gitlab-on-ubuntu-18-04/index.md | 2 +- .../install-gitlab-with-docker/index.md | 6 +- .../install-gogs-on-debian/index.md | 4 +- .../introduction-to-version-control/index.md | 10 +- .../index.md | 8 +- .../index.md | 14 +- .../resolving-git-merge-conflicts/index.md | 6 +- .../revert-last-git-commit/index.md | 6 +- .../index.md | 6 +- .../subversion-svn-tutorial/index.md | 4 +- .../version-control/svn-vs-git/index.md | 6 +- .../index.md | 10 +- .../rust-webassembly-tutorial/index.md | 4 +- .../index.md | 2 +- .../running-a-mail-server/index.md | 18 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../install-roundcube-on-ubuntu/index.md | 10 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../retrieve-email-using-getmail/index.md | 8 +- .../index.md | 4 +- .../index.md | 4 +- .../how-to-install-and-use-postal/index.md | 4 +- .../postfix-smtp-debian7/index.md | 6 +- .../using-google-workspace-for-email/index.md | 4 +- .../what-are-pop-and-imap/index.md | 2 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 4 +- .../install-iredmail-on-ubuntu/index.md | 4 +- .../mail-in-a-box-email-server/index.md | 8 +- .../index.md | 8 +- .../index.md | 6 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 10 +- .../index.md | 12 +- .../index.md | 10 +- .../index.md | 10 +- .../index.md | 10 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 8 +- .../index.md | 14 +- .../how-to-setup-an-email-server/index.md | 14 +- .../index.md | 8 +- .../index.md | 12 +- .../index.md | 8 +- .../index.md | 12 +- .../index.md | 8 +- .../index.md | 20 +- .../index.md | 4 +- .../index.md | 2 +- .../zimbra/zimbra-on-ubuntu-14-04/index.md | 8 +- .../create-an-ark-server-on-ubuntu/index.md | 6 +- .../index.md | 6 +- .../garrys-mod-server-on-centos-7/index.md | 6 +- .../index.md | 10 +- .../index.md | 6 +- .../index.md | 10 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 20 +- .../index.md | 8 +- .../index.md | 14 +- .../index.md | 6 +- .../minecraft-with-bungee-cord/index.md | 4 +- .../index.md | 2 +- .../minecraft-with-spigot-ubuntu/index.md | 4 +- .../multicraft-on-debian/index.md | 4 +- .../multicraft-on-ubuntu/index.md | 4 +- .../index.md | 2 +- .../index.md | 6 +- .../k8s-alpha-deprecation-shortguide/index.md | 8 +- .../index.md | 16 +- .../index.md | 20 +- .../index.md | 16 +- .../index.md | 14 +- .../index.md | 6 +- .../beginners-guide-to-kubernetes/index.md | 10 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../build-a-cd-pipeline-with-lke/index.md | 26 +-- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 12 +- .../index.md | 12 +- .../deploy-lke-cluster-using-pulumi/index.md | 8 +- .../index.md | 8 +- .../index.md | 4 +- .../deploy-nginx-ingress-on-lke/index.md | 10 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 4 +- .../fine-tuning-job-on-lke/index.md | 2 +- .../index.md | 14 +- .../index.md | 16 +- .../index.md | 6 +- .../index.md | 18 +- .../index.md | 4 +- .../index.md | 8 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../how-to-install-rooknfs-on-lke/index.md | 2 +- .../index.md | 8 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../kubernetes/kubernetes-cron-job/index.md | 8 +- .../index.md | 4 +- .../kubernetes/kubernetes-use-cases/index.md | 18 +- .../kubernetes/kubernetes-vs-nomad/index.md | 10 +- .../index.md | 8 +- .../index.md | 2 +- .../index.md | 18 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 18 +- .../index.md | 4 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 2 +- .../index.md | 18 +- .../index.md | 12 +- .../nomad-alongside-kubernetes/index.md | 8 +- .../index.md | 8 +- .../kubernetes/terraform-vs-helm/index.md | 4 +- .../troubleshooting-kubernetes/index.md | 4 +- .../index.md | 4 +- .../using-kompose-for-kubernetes/index.md | 10 +- .../index.md | 6 +- .../what-is-kubernetes-cert-manager/index.md | 8 +- .../linode-writers-formatting-guide/index.md | 8 +- .../check-linux-ports-in-use/index.md | 8 +- .../index.md | 2 +- .../index.md | 4 +- .../networking/diagnostics/lsof/index.md | 4 +- .../networking/diagnostics/netcat/index.md | 2 +- .../guides/networking/diagnostics/ss/index.md | 2 +- .../dns/dns-and-user-privacy/index.md | 2 +- .../networking/dns/dns-overview/index.md | 4 +- .../index.md | 2 +- .../index.md | 10 +- .../dns/introduction-to-dns-on-linux/index.md | 2 +- .../previewing-websites-without-dns/index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../using-your-systems-hosts-file/index.md | 2 +- .../how-to-use-the-linux-ip-command/index.md | 4 +- .../difference-between-tcp-and-udp/index.md | 2 +- .../linux-router-and-ip-forwarding/index.md | 8 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 4 +- .../index.md | 6 +- .../vpn/pritunl-vpn-ubuntu/index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../set-up-a-hardened-openvpn-server/index.md | 6 +- .../vpn/set-up-a-streisand-gateway/index.md | 2 +- .../strongswan-vpn-server-install/index.md | 10 +- .../index.md | 6 +- .../index.md | 8 +- .../index.md | 24 +-- .../index.md | 28 +-- .../migrate-a-lamp-website-to-linode/index.md | 4 +- .../index.md | 6 +- .../migrate-cpanel-to-linode/index.md | 10 +- .../index.md | 6 +- .../index.md | 12 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 2 +- .../index.md | 10 +- .../index.md | 8 +- .../index.md | 12 +- .../index.md | 8 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 22 +- .../index.md | 2 +- .../self-hosted-vs-managed-databases/index.md | 2 +- .../index.md | 10 +- .../host-static-site-object-storage/index.md | 12 +- .../index.md | 2 +- .../index.md | 2 +- .../server-side-encryption/index.md | 2 +- .../index.md | 4 +- .../introduction-to-backups/index.md | 8 +- .../index.md | 6 +- .../index.md | 22 +- .../introduction-to-systemctl/index.md | 2 +- .../multi-cloud-vs-hybrid-cloud/index.md | 2 +- .../linux-essentials/what-is-linux/index.md | 6 +- .../what-is-serverless-computing/index.md | 2 +- .../linux-essentials/what-is-systemd/index.md | 10 +- .../linux/benefits-of-linux/index.md | 2 +- .../delete-file-linux-command-line/index.md | 2 +- .../linux/drupal-with-docker-compose/index.md | 2 +- .../index.md | 2 +- .../how-to-add-directory-to-path/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../linux/how-to-use-git/index.md | 2 +- .../linux/how-to-use-grep/index.md | 2 +- .../linux/how-to-use-head/index.md | 2 +- .../linux/how-to-use-journalctl/index.md | 2 +- .../linux/how-to-use-tail/index.md | 2 +- .../index.md | 2 +- .../linux/linux-command-line-tips/index.md | 2 +- .../linux/linux-mount-command/index.md | 8 +- .../linux/linux-mount-smb-share/index.md | 8 +- .../linux/linux-vs-windows/index.md | 4 +- .../open-source-software-benefits/index.md | 4 +- .../open-source-vs-closed-source/index.md | 2 +- .../index.md | 4 +- .../use-nano-to-edit-files-in-linux/index.md | 4 +- .../use-the-ps-aux-command-in-linux/index.md | 4 +- .../index.md | 2 +- .../wordpress-with-docker-compose/index.md | 2 +- .../how-to-enable-disable-website/index.md | 4 +- .../index.md | 8 +- .../index.md | 4 +- .../freeipa-for-identity-management/index.md | 6 +- .../index.md | 4 +- .../secure-instance-with-fido2-key/index.md | 6 +- .../backups/backing-up-your-data/index.md | 12 +- .../index.md | 6 +- .../index.md | 2 +- .../advanced-ssh-server-security/index.md | 4 +- .../basics/cloud-security-checklist/index.md | 2 +- .../basics/confidential-computing/index.md | 2 +- .../security/basics/cpanel-security/index.md | 6 +- docs/guides/security/basics/dnssec/index.md | 4 +- .../docker-security-essentials/index.md | 4 +- .../basics/how-to-secure-phpmyadmin/index.md | 2 +- .../index.md | 2 +- .../basics/ransomware-attack/index.md | 2 +- .../basics/secure-web-server/index.md | 10 +- .../index.md | 4 +- .../securing-nginx-with-modsecurity/index.md | 2 +- .../basics/securing-your-lamp-stack/index.md | 12 +- .../security-automation-business/index.md | 4 +- .../security/basics/security-testing/index.md | 8 +- .../software-security-best-practices/index.md | 6 +- .../basics/sql-injection-attack/index.md | 6 +- .../basics/types-of-cyber-attacks/index.md | 2 +- .../index.md | 2 +- .../basics/what-is-cryptography/index.md | 10 +- .../basics/what-is-data-breach/index.md | 2 +- .../index.md | 14 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../encrypt-data-disk-with-dm-crypt/index.md | 2 +- .../index.md | 10 +- .../index.md | 8 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 8 +- .../firewalls/how-to-install-bcc/index.md | 4 +- .../firewalls/how-to-use-nftables/index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../firewalls/what-is-iptables/index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 22 +- .../index.md | 4 +- .../index.md | 24 +-- .../index.md | 14 +- .../index.md | 2 +- .../twilio-email-notifications-imap/index.md | 22 +- .../index.md | 10 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../dirty-frag-mitigation/index.md | 4 +- .../disabling-sslv3-for-poodle/index.md | 2 +- .../meltdown-and-spectre/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 14 +- .../index.md | 12 +- .../ssh/connect-to-server-over-ssh/index.md | 10 +- .../security/ssh/enable-ssh-ubuntu/index.md | 2 +- .../gpg-key-for-ssh-authentication/index.md | 6 +- .../index.md | 2 +- .../ssh/secure-ssh-access-with-2fa/index.md | 8 +- .../index.md | 2 +- .../index.md | 16 +- .../index.md | 4 +- .../security/ssh/using-ssh-agent/index.md | 4 +- .../ssh/using-sshfs-on-linux/index.md | 10 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 6 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 6 +- .../index.md | 8 +- .../index.md | 6 +- .../index.md | 2 +- .../index.md | 4 +- .../ssl/secure-http-traffic-certbot/index.md | 2 +- .../index.md | 2 +- .../security/ssl/ssl-apache2-centos/index.md | 4 +- .../ssl/ssl-apache2-debian-ubuntu/index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../ssl/what-is-a-tls-certificate/index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../how-to-upgrade-to-ubuntu-22-04/index.md | 6 +- .../index.md | 44 ++-- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 6 +- .../upgrade-to-debian-8-jessie/index.md | 4 +- .../upgrade-to-ubuntu-16-04/index.md | 4 +- .../upgrade-to-ubuntu-18-04/index.md | 2 +- .../upgrade-to-ubuntu-20-04/index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../hackersploit-red-team-series/index.md | 26 +-- .../install-openvas-on-ubuntu-16-04/index.md | 4 +- .../index.md | 2 +- .../scanning-your-linode-for-malware/index.md | 4 +- .../basics/basic-linux-commands/index.md | 12 +- .../basics/file-system-quotas/index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../introduction-to-linux-concepts/index.md | 24 +-- .../linux-remove-symbolic-link/index.md | 2 +- .../basics/linux-symlinks/index.md | 4 +- .../index.md | 64 +++--- .../mount-file-system-on-linux/index.md | 2 +- .../basics/rename-files-on-linux/index.md | 2 +- .../index.md | 2 +- .../basics/using-the-terminal/index.md | 6 +- .../index.md | 4 +- .../write-to-a-file-from-the-shell/index.md | 6 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../install-coreos-on-your-linode/index.md | 2 +- .../install-nixos-on-linode/index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 12 +- .../file-transfer/filezilla/index.md | 4 +- .../file-transfer/how-to-use-scp/index.md | 4 +- .../introduction-to-rsync/index.md | 2 +- .../file-transfer/sftp-linux/index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../apt-package-manager/index.md | 10 +- .../dnf-package-manager/index.md | 6 +- .../index.md | 14 +- .../pacman-package-manager/index.md | 4 +- .../portage-package-manager/index.md | 4 +- .../slackware-package-management/index.md | 4 +- .../yum-package-manager/index.md | 8 +- .../zypper-package-manager/index.md | 8 +- .../index.md | 2 +- .../tools/curl-for-rest-api/index.md | 2 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 6 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../tools/how-to-list-cron-jobs/index.md | 4 +- .../tools/how-to-use-ack-command/index.md | 4 +- .../tools/how-to-use-fzf/index.md | 10 +- .../index.md | 16 +- .../tools/how-to-use-gping-on-linux/index.md | 4 +- .../how-to-use-nslookup-command/index.md | 2 +- .../index.md | 2 +- .../tools/how-to-use-zoxide/index.md | 4 +- .../install-and-use-ffmpeg-on-linux/index.md | 2 +- .../index.md | 2 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 2 +- .../index.md | 2 +- .../tools/linux-cheat-command/index.md | 6 +- .../tools/linux-ping-command/index.md | 2 +- .../tools/linux-sd-command/index.md | 2 +- .../tools/load-testing-with-jmeter/index.md | 12 +- .../tools/load-testing-with-locust/index.md | 8 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 8 +- .../rclone-object-storage-file-sync/index.md | 2 +- .../tools/ripgrep-linux-installation/index.md | 4 +- .../index.md | 2 +- .../tools/silver-searcher-on-linux/index.md | 6 +- .../index.md | 2 +- .../synchronize-files-with-unison/index.md | 2 +- .../tools/tldr-pages-on-linux/index.md | 2 +- .../use-chroot-for-testing-on-ubuntu/index.md | 2 +- .../tools/use-dog-linux-dns-client/index.md | 6 +- .../index.md | 4 +- .../tools/use-linux-choose-command/index.md | 2 +- .../use-nano-text-editor-commands/index.md | 2 +- .../use-nmap-for-network-scanning/index.md | 2 +- .../index.md | 2 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 2 +- .../tools/vim-color-schemes/index.md | 10 +- .../tools-reference/tools/what-is-vi/index.md | 2 +- .../write-a-neovim-plugin-with-lua/index.md | 6 +- .../tools/writing-a-vim-plugin/index.md | 6 +- .../google-analytics-for-websites/index.md | 6 +- .../google-analytics-on-wordpress/index.md | 6 +- .../install-countly-analytics/index.md | 4 +- .../index.md | 2 +- .../analytics/piwik-on-centos-5/index.md | 8 +- .../piwik-on-debian-5-lenny/index.md | 8 +- .../analytics/piwik-on-fedora-13/index.md | 8 +- .../piwik-on-ubuntu-10-04-lucid/index.md | 6 +- .../piwik-on-ubuntu-10-10-maverick/index.md | 6 +- .../index.md | 6 +- .../piwik-on-ubuntu-9-04-jaunty/index.md | 8 +- .../piwik-on-ubuntu-9-10-karmic/index.md | 8 +- .../uptime/analytics/plausible/index.md | 6 +- .../index.md | 4 +- .../analytics/webalizer-on-centos-5/index.md | 8 +- .../webalizer-on-debian-5-lenny/index.md | 6 +- .../index.md | 2 +- .../reboot-survival-guide/index.md | 8 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 8 +- .../index.md | 2 +- .../load-balancing-fundamentals/index.md | 4 +- .../index.md | 12 +- .../index.md | 2 +- .../index.md | 4 +- .../adagios-web-interface-for-nagios/index.md | 4 +- .../index.md | 6 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 8 +- .../monitoring/how-to-use-zabbix/index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../install-nagios-on-centos-8/index.md | 10 +- .../index.md | 4 +- .../index.md | 2 +- .../logwatch-monitor-system-logs/index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 8 +- .../monitor-remote-hosts-with-icinga/index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 10 +- .../monitoring-servers-with-monit/index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../monitoring-servers-with-zabbix/index.md | 4 +- .../monitoring/monitoring-software/index.md | 2 +- .../monitoring/ossec-ids-debian-7/index.md | 2 +- .../index.md | 8 +- .../index.md | 2 +- .../apache-configuration-basics/index.md | 8 +- .../apache-configuration-structure/index.md | 10 +- .../configure-modsecurity-on-apache/index.md | 2 +- .../index.md | 12 +- .../modevasive-on-apache/index.md | 4 +- .../index.md | 10 +- .../index.md | 10 +- .../index.md | 18 +- .../tuning-your-apache-server/index.md | 10 +- .../apache-2-web-server-on-centos-5/index.md | 6 +- .../index.md | 6 +- .../index.md | 8 +- .../apache-2-web-server-on-fedora-12/index.md | 6 +- .../apache-2-web-server-on-fedora-13/index.md | 6 +- .../apache-2-web-server-on-fedora-14/index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../apache/apache-access-control/index.md | 8 +- .../index.md | 6 +- .../index.md | 8 +- .../index.md | 6 +- .../apache-and-modwsgi-on-fedora-14/index.md | 8 +- .../index.md | 6 +- .../index.md | 10 +- .../index.md | 10 +- .../apache-web-server-debian-7/index.md | 8 +- .../apache-web-server-debian-8/index.md | 6 +- .../apache-web-server-on-centos-6/index.md | 6 +- .../index.md | 6 +- .../apache-web-server-ubuntu-12-04/index.md | 6 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 10 +- .../index.md | 10 +- .../how-to-set-up-htaccess-on-apache/index.md | 6 +- .../apache/how-to-use-ipv6-on-apache/index.md | 2 +- .../index.md | 8 +- .../index.md | 4 +- .../index.md | 10 +- .../index.md | 6 +- .../index.md | 14 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 8 +- .../index.md | 12 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 12 +- .../index.md | 12 +- .../index.md | 12 +- .../index.md | 12 +- .../run-php-cgi-apache-centos-6/index.md | 6 +- .../run-php-cgi-apache-debian-7/index.md | 8 +- .../run-php-cgi-apache-ubuntu-12-04/index.md | 8 +- .../index.md | 2 +- .../index.md | 6 +- .../getting-started-appwrite/index.md | 18 +- .../caddy/compile-caddy-from-source/index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../web-servers/java/java-web-server/index.md | 2 +- .../hosting-a-website-ubuntu-18-04/index.md | 12 +- .../index.md | 18 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../lamp/lamp-on-centos-6/index.md | 2 +- .../lamp/lamp-on-debian-8-jessie/index.md | 2 +- .../lamp-server-on-debian-7-wheezy/index.md | 2 +- .../lamp/lamp-server-on-fedora-20/index.md | 2 +- docs/guides/web-servers/lemp/_index.md | 2 +- .../index.md | 20 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../lemp/lemp-server-on-arch-linux/index.md | 8 +- .../lemp/lemp-server-on-centos-5/index.md | 18 +- .../lemp/lemp-server-on-centos-6/index.md | 16 +- .../lemp-server-on-debian-7-wheezy/index.md | 16 +- .../lemp/lemp-server-on-fedora-13/index.md | 18 +- .../lemp/lemp-server-on-fedora-14/index.md | 12 +- .../lemp/lemp-server-on-fedora-15/index.md | 4 +- .../index.md | 18 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../deploying-nginx-docker-container/index.md | 10 +- .../index.md | 2 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 8 +- .../how-to-configure-http-2-on-nginx/index.md | 8 +- .../index.md | 14 +- .../how-to-install-nginx-centos-8/index.md | 10 +- .../how-to-install-nginx-debian-10/index.md | 8 +- .../index.md | 8 +- .../index.md | 6 +- .../index.md | 14 +- .../index.md | 2 +- .../nginx/install-nginx-centos/index.md | 2 +- .../nginx/install-nginx-debian/index.md | 2 +- .../nginx/install-nginx-ubuntu-ppa/index.md | 2 +- .../index.md | 12 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 6 +- .../index.md | 2 +- .../nginx-and-phpfastcgi-on-centos-5/index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../nginx-phpfastcgi-ubuntu-14-04/index.md | 2 +- .../serve-php-php-fpm-and-nginx/index.md | 6 +- .../nginx/use-nginx-reverse-proxy/index.md | 2 +- .../index.md | 8 +- .../nginx/using-nginx-proxy-manager/index.md | 6 +- .../nginx/using-openresty/index.md | 4 +- .../nginx/web-servers-list/index.md | 8 +- .../index.md | 12 +- .../websites-with-nginx-on-centos-5/index.md | 16 +- .../index.md | 14 +- .../index.md | 8 +- .../websites-with-nginx-on-fedora-12/index.md | 10 +- .../websites-with-nginx-on-fedora-13/index.md | 10 +- .../websites-with-nginx-on-fedora-14/index.md | 10 +- .../index.md | 12 +- .../index.md | 12 +- .../index.md | 14 +- .../index.md | 6 +- .../index.md | 8 +- .../index.md | 10 +- .../index.md | 10 +- .../index.md | 10 +- .../index.md | 8 +- .../index.md | 10 +- .../index.md | 10 +- .../index.md | 10 +- .../squid-http-proxy-centos-6-4/index.md | 4 +- .../squid/squid-http-proxy-centos-8/index.md | 6 +- .../squid/squid-http-proxy-debian-10/index.md | 6 +- .../squid-http-proxy-ubuntu-12-04/index.md | 4 +- .../squid-http-proxy-ubuntu-18-04/index.md | 6 +- .../create-next-js-app-supabase/index.md | 10 +- .../create-react-app-supabase/index.md | 8 +- .../supabase/installing-supabase/index.md | 10 +- .../index.md | 16 +- .../websites/cms/basics/cms-overview/index.md | 10 +- .../index.md | 2 +- .../cpanel/install-cpanel-on-centos/index.md | 8 +- .../index.md | 12 +- .../index.md | 12 +- .../index.md | 4 +- .../index.md | 8 +- .../index.md | 10 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 10 +- .../index.md | 10 +- .../index.md | 18 +- .../index.md | 18 +- .../index.md | 18 +- .../index.md | 2 +- .../index.md | 2 +- .../how-to-install-drush-on-centos-8/index.md | 8 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 10 +- .../index.md | 2 +- .../index.md | 12 +- .../index.md | 10 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 4 +- .../how-to-install-ghost-on-centos-8/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 14 +- .../index.md | 14 +- .../index.md | 8 +- .../index.md | 4 +- .../index.md | 14 +- .../index.md | 14 +- .../index.md | 16 +- .../manage-web-content-with-joomla/index.md | 6 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 16 +- .../index.md | 2 +- .../index.md | 4 +- .../cms/strapi/using-strapi-cms/index.md | 24 +-- .../index.md | 4 +- .../wordpress/configuring-wordpress/index.md | 10 +- .../high-availability-wordpress/index.md | 2 +- .../index.md | 6 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 8 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 8 +- .../how-to-secure-wordpress/index.md | 12 +- .../index.md | 10 +- .../index.md | 6 +- .../how-to-update-php-for-wordpress/index.md | 16 +- .../index.md | 6 +- .../index.md | 4 +- .../install-wordpress-ubuntu-18-04/index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 8 +- .../install-magento-2-4-on-centos-8/index.md | 10 +- .../install-magento-on-centos-7/index.md | 18 +- .../install-magento-on-ubuntu-16-04/index.md | 20 +- .../install-magento-on-ubuntu-18-04/index.md | 16 +- .../install-opencart-on-centos-7/index.md | 4 +- .../magento-on-debian-5-lenny/index.md | 10 +- .../magento-on-ubuntu-9-10-karmic/index.md | 8 +- .../ecommerce/opencart-on-centos-6/index.md | 2 +- .../opencart-on-debian-6-squeeze/index.md | 2 +- .../ecommerce/opencart-on-fedora-15/index.md | 2 +- .../oscommerce-on-debian-5-lenny/index.md | 4 +- .../oscommerce-on-fedora-13/index.md | 4 +- .../oscommerce-on-ubuntu-9-10-karmic/index.md | 4 +- .../index.md | 10 +- .../index.md | 24 +-- .../index.md | 14 +- .../install-odoo-10-on-ubuntu-16-04/index.md | 4 +- .../discussion-forums-with-fluxbb/index.md | 2 +- .../discussion-forums-with-mybb/index.md | 2 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 2 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 16 +- .../index.md | 24 +-- .../index.md | 4 +- .../set-up-web-server-host-website/index.md | 12 +- .../setting-up-round-robin-dns/index.md | 2 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 14 +- .../index.md | 18 +- .../index.md | 20 +- .../index.md | 20 +- .../index.md | 18 +- .../index.md | 18 +- .../index.md | 18 +- .../index.md | 18 +- .../index.md | 6 +- .../index.md | 14 +- .../index.md | 4 +- .../static-sites/install-gatsbyjs/index.md | 6 +- .../index.md | 8 +- .../index.md | 10 +- .../websites/wikis/dokuwiki-engine/index.md | 4 +- .../index.md | 8 +- .../index.md | 8 +- .../wikis/ikiwiki-on-arch-linux/index.md | 2 +- .../wikis/ikiwiki-on-debian-5-lenny/index.md | 2 +- .../ikiwiki-on-debian-6-squeeze/index.md | 2 +- .../wikis/ikiwiki-on-fedora-12/index.md | 6 +- .../wikis/ikiwiki-on-fedora-13/index.md | 6 +- .../ikiwiki-on-ubuntu-10-04-lucid/index.md | 2 +- .../ikiwiki-on-ubuntu-10-10-maverick/index.md | 2 +- .../index.md | 2 +- .../ikiwiki-on-ubuntu-9-10-karmic/index.md | 6 +- .../install-mediawiki-on-ubuntu-1604/index.md | 4 +- .../install-mediawiki-on-ubuntu-1804/index.md | 4 +- .../websites/wikis/twiki-on-centos-5/index.md | 6 +- .../wikis/twiki-on-debian-5-lenny/index.md | 10 +- .../wikis/twiki-on-debian-6-squeeze/index.md | 10 +- .../wikis/twiki-on-fedora-14/index.md | 6 +- .../twiki-on-ubuntu-10-04-lucid/index.md | 10 +- .../twiki-on-ubuntu-10-10-maverick/index.md | 10 +- .../index.md | 10 +- docs/guides/websites/wikis/twiki/index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- docs/marketplace-docs/get-started/index.md | 6 +- docs/marketplace-docs/guides/_index.md | 200 +++++++++--------- docs/marketplace-docs/guides/aapanel/index.md | 4 +- .../guides/antmediaenterpriseserver/index.md | 4 +- .../guides/antmediaserver/index.md | 4 +- .../guides/apache-airflow/index.md | 2 +- docs/marketplace-docs/guides/beef/index.md | 2 +- .../guides/couchbase-cluster/index.md | 2 +- docs/marketplace-docs/guides/cpanel/index.md | 2 +- docs/marketplace-docs/guides/cribl/index.md | 2 +- docs/marketplace-docs/guides/docker/index.md | 22 +- docs/marketplace-docs/guides/drupal/index.md | 2 +- docs/marketplace-docs/guides/flask/index.md | 12 +- .../guides/galera-cluster/index.md | 4 +- docs/marketplace-docs/guides/gemma3/index.md | 2 +- docs/marketplace-docs/guides/gitea/index.md | 4 +- docs/marketplace-docs/guides/gitlab/index.md | 2 +- docs/marketplace-docs/guides/harbor/index.md | 2 +- .../hashicorp-nomad-clients-cluster/index.md | 10 +- .../guides/hashicorp-nomad-cluster/index.md | 4 +- .../guides/hashicorp-vault/index.md | 2 +- docs/marketplace-docs/guides/joomla/index.md | 2 +- .../guides/lamp-stack/index.md | 10 +- .../guides/lemp-stack/index.md | 12 +- .../guides/litespeed-cpanel/index.md | 4 +- .../guides/mean-stack/index.md | 4 +- .../marketplace-docs/guides/memgraph/index.md | 2 +- .../guides/mern-stack/index.md | 6 +- docs/marketplace-docs/guides/milvus/index.md | 2 +- .../guides/minecraft/index.md | 2 +- .../guides/mongodb-cluster/index.md | 8 +- docs/marketplace-docs/guides/mongodb/index.md | 6 +- docs/marketplace-docs/guides/moodle/index.md | 2 +- docs/marketplace-docs/guides/mysql/index.md | 4 +- docs/marketplace-docs/guides/neo4j/index.md | 4 +- .../guides/netfoundry/index.md | 2 +- .../guides/nextcloud/index.md | 2 +- docs/marketplace-docs/guides/nodejs/index.md | 4 +- docs/marketplace-docs/guides/ollama/index.md | 2 +- .../guides/openlitespeed-django/index.md | 4 +- .../guides/openlitespeed-nodejs/index.md | 4 +- .../guides/openlitespeed-rails/index.md | 4 +- .../guides/openlitespeed-wordpress/index.md | 4 +- docs/marketplace-docs/guides/openvpn/index.md | 2 +- docs/marketplace-docs/guides/owncast/index.md | 2 +- .../percona-monitoring-management/index.md | 4 +- .../marketplace-docs/guides/pgvector/index.md | 2 +- docs/marketplace-docs/guides/pihole/index.md | 2 +- docs/marketplace-docs/guides/plex/index.md | 8 +- .../guides/postgresql-cluster/index.md | 6 +- .../guides/postgresql/index.md | 4 +- docs/marketplace-docs/guides/pritunl/index.md | 2 +- .../guides/prometheus-grafana/index.md | 2 +- docs/marketplace-docs/guides/qwen/index.md | 2 +- .../marketplace-docs/guides/rabbitmq/index.md | 2 +- .../guides/redis-cluster/index.md | 6 +- docs/marketplace-docs/guides/redis/index.md | 2 +- .../guides/rocketchat/index.md | 2 +- .../guides/ruby-on-rails/index.md | 4 +- .../guides/secure-your-server/index.md | 2 +- .../guides/shadowsocks/index.md | 2 +- .../guides/team-fortress-2/index.md | 2 +- .../marketplace-docs/guides/terraria/index.md | 2 +- .../guides/uptime-kuma/index.md | 2 +- docs/marketplace-docs/guides/valheim/index.md | 2 +- .../guides/virtualmin/index.md | 6 +- docs/marketplace-docs/guides/vscode/index.md | 2 +- .../marketplace-docs/guides/weaviate/index.md | 2 +- docs/marketplace-docs/guides/webmin/index.md | 6 +- .../guides/woocommerce/index.md | 4 +- .../guides/wordpress/index.md | 8 +- .../auto-scaling-prometheus/_index.md | 4 +- .../_index.md | 2 +- .../index.md | 16 +- .../_index.md | 2 +- .../_index.md | 4 +- .../guides/_index.md | 2 +- .../guides/implement-jenkins-ci-cd/index.md | 16 +- .../_index.md | 2 +- .../guides/_index.md | 2 +- .../index.md | 10 +- .../video-transcoding/_index.md | 2 +- 1570 files changed, 4677 insertions(+), 4677 deletions(-) diff --git a/docs/guides/_shortguides/limited-user-note-shortguide/index.md b/docs/guides/_shortguides/limited-user-note-shortguide/index.md index e2bd81ea5ea..832e6d22a99 100644 --- a/docs/guides/_shortguides/limited-user-note-shortguide/index.md +++ b/docs/guides/_shortguides/limited-user-note-shortguide/index.md @@ -13,7 +13,7 @@ aliases: [] --- {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, visit our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, visit our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. All configuration files should be edited with elevated privileges. Remember to include `sudo` before running your text editor. {{< /note >}} \ No newline at end of file diff --git a/docs/guides/akamai/solutions/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/index.md b/docs/guides/akamai/solutions/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/index.md index 1d60db31b0c..58b27d80328 100644 --- a/docs/guides/akamai/solutions/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/index.md +++ b/docs/guides/akamai/solutions/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/index.md @@ -30,7 +30,7 @@ This guide deploys a chatbot written in Python using these open-source software - **FastAPI**: Provides components for building a REST API. The API for the example chatbot handles chat requests and responses. -The [Using LangChain and LangGraph to Build a RAG-Powered Chatbot](/cloud/guides/using-langchain-langgraph-build-rag-powered-chatbot/) guide explains the workflow of the application in more detail and provides a walkthrough of relevant code that leverages the LangChain, LangGraph, and FastAPI frameworks. +The [Using LangChain and LangGraph to Build a RAG-Powered Chatbot](/cloud/guides/using-langchain-langgraph-build-rag-powered-chatbot) guide explains the workflow of the application in more detail and provides a walkthrough of relevant code that leverages the LangChain, LangGraph, and FastAPI frameworks. If you prefer to deploy to Kubernetes, the [Deploy a RAG-Powered Chatbot with LangChain on LKE](/cloud/guides/deploy-rag-powered-chatbot-langchain-lke) guide shows how to containerize and deploy this application on Linode Kubernetes Engine (LKE). diff --git a/docs/guides/akamai/solutions/deploy-rag-powered-chatbot-langchain-lke/index.md b/docs/guides/akamai/solutions/deploy-rag-powered-chatbot-langchain-lke/index.md index 1262e12b698..efc3d2ea6ce 100644 --- a/docs/guides/akamai/solutions/deploy-rag-powered-chatbot-langchain-lke/index.md +++ b/docs/guides/akamai/solutions/deploy-rag-powered-chatbot-langchain-lke/index.md @@ -26,7 +26,7 @@ This guide demonstrates deploying a Python-based RAG chatbot to Linode Kubernete Deploying to Kubernetes unlocks production capabilities essential for reliable applications. LKE distributes your chatbot across multiple pods for high availability, automatically replaces failed instances, performs rolling updates without downtime, and scales horizontally under load. This guide covers containerizing your application, creating Kubernetes manifests for secrets and configuration, and deploying to a managed cluster. -The [Using LangChain and LangGraph to Build a RAG-Powered Chatbot](/cloud/guides/using-langchain-langgraph-build-rag-powered-chatbot/) guide explains the workflow of the application in more detail and provides a walkthrough of relevant code that leverages the LangChain, LangGraph, and FastAPI frameworks. +The [Using LangChain and LangGraph to Build a RAG-Powered Chatbot](/cloud/guides/using-langchain-langgraph-build-rag-powered-chatbot) guide explains the workflow of the application in more detail and provides a walkthrough of relevant code that leverages the LangChain, LangGraph, and FastAPI frameworks. If you prefer a simpler deployment, the [Deploy a RAG-Powered Chatbot with LangChain on an Akamai Compute Instance](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance) guide shows how to run the chatbot on a single compute instance. @@ -107,27 +107,27 @@ Follow these sections from the [Deploy a RAG-Powered Chatbot with LangChain on a Wherever an instruction says to run a command on an Akamai compute instance, run that command locally on your workstation instead. {{< /note >}} -1. [Clone the Chatbot Codebase](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/#clone-the-chatbot-codebase) +1. [Clone the Chatbot Codebase](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance#clone-the-chatbot-codebase) -1. [Start a Python Virtual Environment](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/#start-a-python-virtual-environment) +1. [Start a Python Virtual Environment](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance#start-a-python-virtual-environment) -1. [Copy the .env.example Template](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/#copy-the-envexample-template) +1. [Copy the .env.example Template](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance#copy-the-envexample-template) -1. [Install Python Dependencies](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/#install-python-dependencies) +1. [Install Python Dependencies](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance#install-python-dependencies) -1. [Create an OpenAI API Key](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/#create-an-openai-api-key) +1. [Create an OpenAI API Key](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance#create-an-openai-api-key) -1. [Provision Managed PostgreSQL Databases](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/#provision-managed-postgresql-databases) +1. [Provision Managed PostgreSQL Databases](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance#provision-managed-postgresql-databases) - When selecting a region for your databases, use the same region as your LKE cluster. - When configuring network access for the database, add your workstation's IP address to the allowed list of IPs. -1. [Set Up Linode Object Storage](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/#set-up-linode-object-storage) +1. [Set Up Linode Object Storage](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance#set-up-linode-object-storage) - When selecting a region for your object storage bucket, use the same region as your LKE cluster. -1. [Upload Documents to the Object Storage Bucket](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/#upload-documents-to-the-object-storage-bucket) +1. [Upload Documents to the Object Storage Bucket](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance#upload-documents-to-the-object-storage-bucket) ### Verify Database Access from LKE @@ -169,7 +169,7 @@ Your cluster can now reach your databases. ### Index Documents with LangChain -Follow the [Index Documents with LangChain](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/#index-documents-with-langchain) section of the [RAG Chatbot LangChain Compute Instance](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance) guide to initialize your vector database and generate the vector embeddings of your documents. +Follow the [Index Documents with LangChain](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance#index-documents-with-langchain) section of the [RAG Chatbot LangChain Compute Instance](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance) guide to initialize your vector database and generate the vector embeddings of your documents. ## Containerize your Chatbot Application diff --git a/docs/guides/applications/big-data/big-data-in-the-linode-cloud-streaming-data-processing-with-apache-storm/index.md b/docs/guides/applications/big-data/big-data-in-the-linode-cloud-streaming-data-processing-with-apache-storm/index.md index 0e4ecb0074a..f6f260b5b3e 100644 --- a/docs/guides/applications/big-data/big-data-in-the-linode-cloud-streaming-data-processing-with-apache-storm/index.md +++ b/docs/guides/applications/big-data/big-data-in-the-linode-cloud-streaming-data-processing-with-apache-storm/index.md @@ -62,7 +62,7 @@ This guide will explain how to configure a working Storm cluster and its Zookeep - A Zookeeper or Storm cluster can have either Ubuntu 14.04 LTS or Debian 8 installed on its nodes. Its distribution does not need to be the same one as the one installed on the cluster manager Linode. {{< note >}} -The steps in this guide and in the bash scripts referenced require root privileges. Be sure to run the steps below as `root`. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide and in the bash scripts referenced require root privileges. Be sure to run the steps below as `root`. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ### Naming Conventions diff --git a/docs/guides/applications/big-data/getting-started-with-pytorch-lightning/index.md b/docs/guides/applications/big-data/getting-started-with-pytorch-lightning/index.md index bc560578301..769271c096e 100644 --- a/docs/guides/applications/big-data/getting-started-with-pytorch-lightning/index.md +++ b/docs/guides/applications/big-data/getting-started-with-pytorch-lightning/index.md @@ -23,7 +23,7 @@ Several steps are recommended to optimize the compute time cost savings of GPU-b ## What Is PyTorch Lightning? -PyTorch Lightning is a module of [PyTorch](/cloud/guides/pytorch-installation-ubuntu-2004/), a developer framework for deep learning. PyTorch builds upon Python's established strengths in data modeling and neural network training through the addition of GPU-optimized capabilities. PyTorch Lightning adds a framework to PyTorch that optimizes productivity in the research and modeling process. This allows portability of code while achieving the same results, as underlying hardware permits. +PyTorch Lightning is a module of [PyTorch](/cloud/guides/pytorch-installation-ubuntu-2004), a developer framework for deep learning. PyTorch builds upon Python's established strengths in data modeling and neural network training through the addition of GPU-optimized capabilities. PyTorch Lightning adds a framework to PyTorch that optimizes productivity in the research and modeling process. This allows portability of code while achieving the same results, as underlying hardware permits. PyTorch Lightning allows developers to remove repetitive PyTorch setup code. The framework adds scaling and a command-line interface that allows developers to write modular code with repeatable results. Furthermore, PyTorch Lightning adds scaled GPU utilization that works well with Linode’s specialized GPU-enabled instances. In fact, no code change to existing PyTorch or PyTorch Lightning is needed to take advantage of Linode GPU instances. diff --git a/docs/guides/applications/big-data/getting-started-with-rasa/index.md b/docs/guides/applications/big-data/getting-started-with-rasa/index.md index 42d43860424..fd369a0f83b 100644 --- a/docs/guides/applications/big-data/getting-started-with-rasa/index.md +++ b/docs/guides/applications/big-data/getting-started-with-rasa/index.md @@ -24,7 +24,7 @@ In this tutorial, learn how to get started with Rasa. From installing the framew 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Rasa Open Source @@ -227,7 +227,7 @@ The following steps walk through setting up these prerequisites and deploying an kubectl create namespace rasacluster ``` -1. Follow our [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-the-helm-client) tutorial how to install the Helm CLI client. +1. Follow our [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3#install-the-helm-client) tutorial how to install the Helm CLI client. {{< note >}} AlmaLinux, CentOS Stream, and Rocky Linux users may need to install `git` and `tar` prior to installing Helm: diff --git a/docs/guides/applications/big-data/history-of-machine-learning/index.md b/docs/guides/applications/big-data/history-of-machine-learning/index.md index 2dde7aae79b..e09be10a092 100644 --- a/docs/guides/applications/big-data/history-of-machine-learning/index.md +++ b/docs/guides/applications/big-data/history-of-machine-learning/index.md @@ -33,7 +33,7 @@ Machine learning was once a stepping stone on the path to AI’s development, th However, machine learning is much narrower in its focus and capabilities than general AI. It eventually became apparent that it would be faster and easier (although still not easy) to develop machine learning to more immediate and diverse payloads than to aim it solely at AI’s development. -Machine learning has its own subset, called [deep learning](/cloud/guides/deep-learning-frameworks-overview/), which is even narrower than ML as it is far more specialized. General AI is a smaller subset of self-aware AI, a truly powerful but wholly futuristic form. +Machine learning has its own subset, called [deep learning](/cloud/guides/deep-learning-frameworks-overview), which is even narrower than ML as it is far more specialized. General AI is a smaller subset of self-aware AI, a truly powerful but wholly futuristic form. A tidbit in interesting history in machine learning: Deep learning was invented in 1943, which was nine years before machine learning came along. There is some debate over who invented deep learning as it traces back to Walter Pitts and Warren McCulloch’s model in 1943. It didn't widely go by the name “deep learning” until Gregory Hinton rebranded neural net research by that moniker in 2006. @@ -146,4 +146,4 @@ This is also the year that Google Assistant, an AI-powered virtual assistant, wa ## Conclusion -Today, there are many available open-source tools and frameworks that you can use to power machine learning applications. PyTorch is a Python-based machine learning framework that makes use of CPU and GPU to accelerate its processing performance. You can [install PyTorch on an Ubuntu 20.04 Linode server](/cloud/guides/pytorch-installation-ubuntu-2004/) and make use of [GPU](https://techdocs.akamai.com/cloud-computing/docs/gpu-compute-instances) or [dedicated CPU](https://techdocs.akamai.com/cloud-computing/docs/dedicated-cpu-compute-instances) compute instances. \ No newline at end of file +Today, there are many available open-source tools and frameworks that you can use to power machine learning applications. PyTorch is a Python-based machine learning framework that makes use of CPU and GPU to accelerate its processing performance. You can [install PyTorch on an Ubuntu 20.04 Linode server](/cloud/guides/pytorch-installation-ubuntu-2004) and make use of [GPU](https://techdocs.akamai.com/cloud-computing/docs/gpu-compute-instances) or [dedicated CPU](https://techdocs.akamai.com/cloud-computing/docs/dedicated-cpu-compute-instances) compute instances. \ No newline at end of file diff --git a/docs/guides/applications/big-data/how-to-create-message-stream-rabbitmq/index.md b/docs/guides/applications/big-data/how-to-create-message-stream-rabbitmq/index.md index f4167f7db6f..38d5b10bedb 100644 --- a/docs/guides/applications/big-data/how-to-create-message-stream-rabbitmq/index.md +++ b/docs/guides/applications/big-data/how-to-create-message-stream-rabbitmq/index.md @@ -106,7 +106,7 @@ The examples in this guide assume that you have a RabbitMQ installation availabl ``` {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Create a Message Stream with RabbitMQ diff --git a/docs/guides/applications/big-data/how-to-install-and-configure-a-redis-cluster-on-ubuntu-1604/index.md b/docs/guides/applications/big-data/how-to-install-and-configure-a-redis-cluster-on-ubuntu-1604/index.md index d38b2e5b7f0..a3b02690a76 100644 --- a/docs/guides/applications/big-data/how-to-install-and-configure-a-redis-cluster-on-ubuntu-1604/index.md +++ b/docs/guides/applications/big-data/how-to-install-and-configure-a-redis-cluster-on-ubuntu-1604/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](http://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Redis Official Website](https://redis.io/)' - - '[Install and Configure Redis on CentOS 7](/cloud/guides/install-and-configure-redis-on-centos-7/)' + - '[Install and Configure Redis on CentOS 7](/cloud/guides/install-and-configure-redis-on-centos-7)' deprecated: true --- @@ -24,9 +24,9 @@ Redis as an in-memory store allows for extremely fast operations such as countin Prior to starting, we recommend familiarizing yourself with the following: -* [Firewall settings using iptables or ufw](/cloud/guides/configure-firewall-with-ufw/) +* [Firewall settings using iptables or ufw](/cloud/guides/configure-firewall-with-ufw) * [Getting Started with VLANs](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-vlans) -* [Master-Replicas Replication](/cloud/guides/how-to-install-a-redis-server-on-ubuntu-or-debian8/) +* [Master-Replicas Replication](/cloud/guides/how-to-install-a-redis-server-on-ubuntu-or-debian8) ### Redis Sentinel or Redis Cluster? @@ -70,7 +70,7 @@ Alternatively, you can install the "build-essential" meta-package to load the de ## Configure Redis Masters and Replicas -This guide manually connects each of the masters and replicas across three Linodes. Consider using [tmux](/cloud/guides/persistent-terminal-sessions-with-tmux/) for the management of multiple terminal windows. +This guide manually connects each of the masters and replicas across three Linodes. Consider using [tmux](/cloud/guides/persistent-terminal-sessions-with-tmux) for the management of multiple terminal windows. This guide uses a minimum of six nodes with the following topology: diff --git a/docs/guides/applications/big-data/how-to-install-apache-kafka-on-ubuntu/index.md b/docs/guides/applications/big-data/how-to-install-apache-kafka-on-ubuntu/index.md index c62915a1e21..8c3371b61df 100644 --- a/docs/guides/applications/big-data/how-to-install-apache-kafka-on-ubuntu/index.md +++ b/docs/guides/applications/big-data/how-to-install-apache-kafka-on-ubuntu/index.md @@ -25,7 +25,7 @@ external_resources: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## A Summary of the Apache Kafka Installation Process diff --git a/docs/guides/applications/big-data/how-to-install-tensorflow/index.md b/docs/guides/applications/big-data/how-to-install-tensorflow/index.md index 2c2013ee7cb..13fcfaf880d 100644 --- a/docs/guides/applications/big-data/how-to-install-tensorflow/index.md +++ b/docs/guides/applications/big-data/how-to-install-tensorflow/index.md @@ -32,7 +32,7 @@ This guide describes how to install TensorFlow on Ubuntu 20.04, which is fully s 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Advantages of TensorFlow diff --git a/docs/guides/applications/big-data/how-to-move-machine-learning-model-to-production/index.md b/docs/guides/applications/big-data/how-to-move-machine-learning-model-to-production/index.md index 378b9e843e7..65470b2f5cc 100644 --- a/docs/guides/applications/big-data/how-to-move-machine-learning-model-to-production/index.md +++ b/docs/guides/applications/big-data/how-to-move-machine-learning-model-to-production/index.md @@ -53,7 +53,7 @@ You will be using Python both to create a model and to deploy the model to a Fla conda install keras tensorflow h5py pillow flask numpy -If you would like to experiment with the model, you may want to use a Jupyter notebook. See our [Install a Jupyter Notebook Server](/cloud/guides/install-a-jupyter-notebook-server-on-a-linode-behind-an-apache-reverse-proxy/) guide for more details. +If you would like to experiment with the model, you may want to use a Jupyter notebook. See our [Install a Jupyter Notebook Server](/cloud/guides/install-a-jupyter-notebook-server-on-a-linode-behind-an-apache-reverse-proxy) guide for more details. ## Prepare a Model diff --git a/docs/guides/applications/big-data/install-a-jupyter-notebook-server-on-a-linode-behind-an-apache-reverse-proxy/index.md b/docs/guides/applications/big-data/install-a-jupyter-notebook-server-on-a-linode-behind-an-apache-reverse-proxy/index.md index 097721dd3d2..6c23b9f2cc8 100644 --- a/docs/guides/applications/big-data/install-a-jupyter-notebook-server-on-a-linode-behind-an-apache-reverse-proxy/index.md +++ b/docs/guides/applications/big-data/install-a-jupyter-notebook-server-on-a-linode-behind-an-apache-reverse-proxy/index.md @@ -52,7 +52,7 @@ Anaconda is a package manager with built-in support for virtual environments. It ## Create a Self-Signed Certificate -The official documentation recommends generating a self-signed SSL certificate to prevent sending unencrypted passwords in the Notebook from the browser. This is especially important because Jupyter Notebooks can run bash scripts. If you have a domain name, consider using [Certbot](/cloud/guides/secure-http-traffic-certbot/) rather than a self-signed certificate. +The official documentation recommends generating a self-signed SSL certificate to prevent sending unencrypted passwords in the Notebook from the browser. This is especially important because Jupyter Notebooks can run bash scripts. If you have a domain name, consider using [Certbot](/cloud/guides/secure-http-traffic-certbot) rather than a self-signed certificate. 1. Create a self-signed certificate valid for 365 days: diff --git a/docs/guides/applications/big-data/introduction-to-machine-learning-training-and-inference/index.md b/docs/guides/applications/big-data/introduction-to-machine-learning-training-and-inference/index.md index 75ccd8af18d..094ef7ab35d 100644 --- a/docs/guides/applications/big-data/introduction-to-machine-learning-training-and-inference/index.md +++ b/docs/guides/applications/big-data/introduction-to-machine-learning-training-and-inference/index.md @@ -11,7 +11,7 @@ keywords: ['cloud machine learning'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: IntroMachineLearning_trainandinterference.png external_resources: -- '[How to Move Your Machine Learning Model to Production](/cloud/guides/how-to-move-machine-learning-model-to-production/)' +- '[How to Move Your Machine Learning Model to Production](/cloud/guides/how-to-move-machine-learning-model-to-production)' - '[Use Cases for Linode GPU Instances](https://techdocs.akamai.com/cloud-computing/docs/gpu-compute-instances)' --- diff --git a/docs/guides/applications/big-data/machine-learning-cyber-attacks/index.md b/docs/guides/applications/big-data/machine-learning-cyber-attacks/index.md index 4530f608bd1..9403a307842 100644 --- a/docs/guides/applications/big-data/machine-learning-cyber-attacks/index.md +++ b/docs/guides/applications/big-data/machine-learning-cyber-attacks/index.md @@ -10,7 +10,7 @@ keywords: ['machine learning cyber attacks','evasion attacks against machine lea license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -[Machine learning (ML)](/cloud/guides/history-of-machine-learning/) algorithms and models ingest large amounts of data and use pattern recognition to make predictions and adjustments based on that data. ML powers chatbots, product recommendation systems, self-driving cars, and assists in decision-making in the health and financial sectors. Due to the prevalence of tools and frameworks like [TensorFlow](/cloud/guides/how-to-install-tensorflow/) and [PyTorch](/cloud/guides/pytorch-installation-ubuntu-2004/), developers are now able to add ML to their applications with less effort. Before getting started with machine learning, you should be aware of the most common machine learning cyber attacks. When thinking about the security of your ML application, you must consider the following areas: +[Machine learning (ML)](/cloud/guides/history-of-machine-learning) algorithms and models ingest large amounts of data and use pattern recognition to make predictions and adjustments based on that data. ML powers chatbots, product recommendation systems, self-driving cars, and assists in decision-making in the health and financial sectors. Due to the prevalence of tools and frameworks like [TensorFlow](/cloud/guides/how-to-install-tensorflow) and [PyTorch](/cloud/guides/pytorch-installation-ubuntu-2004), developers are now able to add ML to their applications with less effort. Before getting started with machine learning, you should be aware of the most common machine learning cyber attacks. When thinking about the security of your ML application, you must consider the following areas: - **Data**: If your data is corrupted in any way, you will not obtain reliable our useful results from your machine learning models. - **Application**: When a model becomes corrupted, even the most perfect data produces incorrect results. @@ -72,6 +72,6 @@ Fraud occurs when hackers rely on various techniques, such as phishing or commun ## Conclusion -Before adding ML to your project, you should know about the types of cyber attacks that are frequently targeted at machine learning powered applications. Evasion, poisoning, and inference are some of the most common attacks targeted at ML applications. Trojans, backdoors, and espionage are used to attack all types of applications, but they are used in specialized ways against machine learning. Now that you are familiar with the cyber attacks to look out for, you can get started creating an ML powered application, by [installing TensorFlow on Ubuntu 20.04](/cloud/guides/how-to-install-tensorflow/). +Before adding ML to your project, you should know about the types of cyber attacks that are frequently targeted at machine learning powered applications. Evasion, poisoning, and inference are some of the most common attacks targeted at ML applications. Trojans, backdoors, and espionage are used to attack all types of applications, but they are used in specialized ways against machine learning. Now that you are familiar with the cyber attacks to look out for, you can get started creating an ML powered application, by [installing TensorFlow on Ubuntu 20.04](/cloud/guides/how-to-install-tensorflow). diff --git a/docs/guides/applications/big-data/manually-deploy-kafka-cluster/index.md b/docs/guides/applications/big-data/manually-deploy-kafka-cluster/index.md index cf5c09ed396..efa9b4a3dad 100644 --- a/docs/guides/applications/big-data/manually-deploy-kafka-cluster/index.md +++ b/docs/guides/applications/big-data/manually-deploy-kafka-cluster/index.md @@ -16,7 +16,7 @@ external_resources: This guide includes steps for deploying a Kafka cluster using Ansible. The provided Ansible playbook creates a functioning Kafka cluster comprised of three broker nodes configured to authenticate with encrypted secrets. Also included are steps for producing and consuming sample data for testing cluster functionality. -If you wish to deploy Kafka automatically rather than manually, consider our [Apache Kafka cluster marketplace deployment](/cloud/marketplace-docs/guides/apache-kafka-cluster/). +If you wish to deploy Kafka automatically rather than manually, consider our [Apache Kafka cluster marketplace deployment](/cloud/marketplace-docs/guides/apache-kafka-cluster). ## Architecture Diagram @@ -37,7 +37,7 @@ The following software and components must be installed and configured on your l - [Python](https://www.python.org/downloads/) version: > v3.11 - The [venv](https://docs.python.org/3/library/venv.html) Python module - A [Linode API access token](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) -- A configured [SSH key pair](/cloud/guides/use-public-key-authentication-with-ssh/) along with your public key +- A configured [SSH key pair](/cloud/guides/use-public-key-authentication-with-ssh) along with your public key - The [Git](https://git-scm.com/) utility ## Deployment Details, Software, and Supported Distributions @@ -239,7 +239,7 @@ All secrets are encrypted with the Ansible Vault utility as a best practice. - `type`: Compute Instance type and plan for each Kafka instance. - `region`: The data center region for the cluster. - `image`: The distribution image to be installed on each Kafka instance. The deployment in this guide supports the `ubuntu24.04` image. - - `group` and `linode_tags` (optional): Any [groups or tags](/cloud/guides/tags-and-groups/) you with to apply to your cluster’s instances for organizational purposes. + - `group` and `linode_tags` (optional): Any [groups or tags](/cloud/guides/tags-and-groups) you with to apply to your cluster’s instances for organizational purposes. - `firewall_label` (optional): The label for a [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) that can be created for the cluster. If this label is not provided, the firewall is not created. - `vpc_label` (optional): The label for a [VPC](https://techdocs.akamai.com/cloud-computing/docs/vpc) that can be created for the cluster. If this label is not provided, the VPC is not created. - `domain_name` and `ttl_sec` (optional): A domain name and [TTL (in seconds)](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-dns-records#set-the-time-to-live-or-ttl) for the cluster. Each cluster instance is assigned a subdomain of this domain name. For example, if your domain name is `example.com`, a record named `instance_label.example.com` is created for each instance. If a domain name is not provided, these records are not created. diff --git a/docs/guides/applications/big-data/process-streams-in-realtime-with-apache-storm/index.md b/docs/guides/applications/big-data/process-streams-in-realtime-with-apache-storm/index.md index a78aa5d9238..fba21197119 100644 --- a/docs/guides/applications/big-data/process-streams-in-realtime-with-apache-storm/index.md +++ b/docs/guides/applications/big-data/process-streams-in-realtime-with-apache-storm/index.md @@ -65,7 +65,7 @@ The example cluster in this guide is recommended for development and testing, bu 1. Once deployed, follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Java On All Nodes diff --git a/docs/guides/applications/big-data/use-apache-kafka-to-process-streams/index.md b/docs/guides/applications/big-data/use-apache-kafka-to-process-streams/index.md index d3940e24c6f..cc0bc626194 100644 --- a/docs/guides/applications/big-data/use-apache-kafka-to-process-streams/index.md +++ b/docs/guides/applications/big-data/use-apache-kafka-to-process-streams/index.md @@ -26,11 +26,11 @@ In this application model, consumers can play dual roles as subsequent producers Kafka is designed for speed, scale, and reliable distributed infrastructure. It is well-suited for frameworks constructed for Big Data, complex multi-partner trading, log accumulation & processing, and traditional transaction tracking systems. -For more information, see [An Introduction to Apache Kafka](/cloud/guides/what-is-apache-kafka/). +For more information, see [An Introduction to Apache Kafka](/cloud/guides/what-is-apache-kafka). ### The Kafka Pub/Sub Model and Terminology -Kafka uses an architectural model called [Publisher-Subscriber](/cloud/guides/what-is-pub-sub/) (pub/sub). In this model, a framework is established between publisher applications, which provide event information, and subscriber applications, which consume the logged data from these providers. +Kafka uses an architectural model called [Publisher-Subscriber](/cloud/guides/what-is-pub-sub) (pub/sub). In this model, a framework is established between publisher applications, which provide event information, and subscriber applications, which consume the logged data from these providers. In the pub/sub paradigm, Kafka refers to its application server instances as *brokers*. There is usually only one *leader broker*. However, it is common to store topic data across several brokers for resiliency, redundancy, data localization, or other processing requirements. These replicas of data are called *partitions*. @@ -131,7 +131,7 @@ Application development with Kafka is performed using an Integrated Development Libraries joining these objects to other languages, such as C#, Python, and Ruby are available for many IDE platforms. -Akamai offers a guide on how to [Install and Configure Apache Kafka on Ubuntu](/cloud/guides/how-to-install-apache-kafka-on-ubuntu/). This example is based on the installation and configuration shown in that guide. +Akamai offers a guide on how to [Install and Configure Apache Kafka on Ubuntu](/cloud/guides/how-to-install-apache-kafka-on-ubuntu). This example is based on the installation and configuration shown in that guide. This is code is written in modern Java and utilizes the `slf4j` logging framework, [a commonly used logging facade in Java](https://www.slf4j.org/). The dependencies for the Java Kafka client include the following commonly used configurations: diff --git a/docs/guides/applications/big-data/what-is-apache-kafka/index.md b/docs/guides/applications/big-data/what-is-apache-kafka/index.md index aab7ba34fce..1af6574fafa 100644 --- a/docs/guides/applications/big-data/what-is-apache-kafka/index.md +++ b/docs/guides/applications/big-data/what-is-apache-kafka/index.md @@ -136,7 +136,7 @@ Producers and consumers can both use the [Kafka Administration API](https://kafk The Kafka cluster keeps track of each consumer's location within a given partition so it knows which updates it still has to send. *Kafka Connect* and *Kafka Streams* help manage the flows of information to or from Kafka. -Our guide for [installing Kafka](/cloud/guides/how-to-install-apache-kafka-on-ubuntu/) includes an example of how to use the producer and consumer APIs. +Our guide for [installing Kafka](/cloud/guides/how-to-install-apache-kafka-on-ubuntu) includes an example of how to use the producer and consumer APIs. ### Security, Troubleshooting, and Compatibility @@ -180,7 +180,7 @@ You must install Java first before installing Apache Kafka. Kafka itself is stra - [The Kafka site](https://kafka.apache.org/) contains a basic tutorial. -- We also have a guide on how to [Install Apache Kafka](/cloud/guides/how-to-install-apache-kafka-on-ubuntu/) which demonstrates how to construct a simple producer and consumer and process data with Kafka Streams. +- We also have a guide on how to [Install Apache Kafka](/cloud/guides/how-to-install-apache-kafka-on-ubuntu) which demonstrates how to construct a simple producer and consumer and process data with Kafka Streams. ## Further Reference diff --git a/docs/guides/applications/cloud-storage/how-to-install-nextcloud-on-ubuntu-22-04/index.md b/docs/guides/applications/cloud-storage/how-to-install-nextcloud-on-ubuntu-22-04/index.md index 8b5373c2011..81443806b05 100644 --- a/docs/guides/applications/cloud-storage/how-to-install-nextcloud-on-ubuntu-22-04/index.md +++ b/docs/guides/applications/cloud-storage/how-to-install-nextcloud-on-ubuntu-22-04/index.md @@ -53,12 +53,12 @@ See the [Nextcloud feature comparison](https://nextcloud.com/compare/) for a mor 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. A LAMP Stack, including an Apache web server, a MariaDB/MySQL RDBMS, and the PHP programming language, must be installed before Nextcloud can be used. This guide includes instructions for installing the LAMP stack components. More information about installing a LAMP stack is available in the [Linode guide to installing a LAMP stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/). +1. A LAMP Stack, including an Apache web server, a MariaDB/MySQL RDBMS, and the PHP programming language, must be installed before Nextcloud can be used. This guide includes instructions for installing the LAMP stack components. More information about installing a LAMP stack is available in the [Linode guide to installing a LAMP stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04). 1. To properly use Nextcloud and secure the installation with HTTPS, configure a domain name for the server. For information on domain names and pointing the domain name to a Linode, see the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing the Nextcloud Prerequisites diff --git a/docs/guides/applications/cloud-storage/how-to-use-zfs-on-ubuntu-16-04/index.md b/docs/guides/applications/cloud-storage/how-to-use-zfs-on-ubuntu-16-04/index.md index c7c847cdc32..44d392488a1 100644 --- a/docs/guides/applications/cloud-storage/how-to-use-zfs-on-ubuntu-16-04/index.md +++ b/docs/guides/applications/cloud-storage/how-to-use-zfs-on-ubuntu-16-04/index.md @@ -139,7 +139,7 @@ Other types of virtual devices like cache and log can be used when dealing with 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. While updating, if asked about a configuration change in GRUB's config file select **keep the local version currently installed**. {{< note respectIndent=false >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Install a metapackage that will pull in the latest Ubuntu provided kernel, geared towards virtual machines. diff --git a/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-centos-stream-8/index.md b/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-centos-stream-8/index.md index 8cd69e62926..501f4213d05 100644 --- a/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-centos-stream-8/index.md +++ b/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-centos-stream-8/index.md @@ -40,10 +40,10 @@ Why would you want to host your own cloud? Some common reasons are: - You own a small business and want to keep everything in-house. - You need an expandable storage solution. -This tutorial walks you through the steps to install ownCloud on [CentOS Stream 8](https://www.centos.org/centos-stream/). There are only a few steps to install ownCloud on CentOS Stream 8. You [install the LAMP (Linux Apache MySQL/MariaDB PHP) stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/); create a database and database user; configure Apache; and set up ownCloud using its graphical user interface. +This tutorial walks you through the steps to install ownCloud on [CentOS Stream 8](https://www.centos.org/centos-stream/). There are only a few steps to install ownCloud on CentOS Stream 8. You [install the LAMP (Linux Apache MySQL/MariaDB PHP) stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8); create a database and database user; configure Apache; and set up ownCloud using its graphical user interface. {{< note >}} -To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through the Linode Marketplace](/cloud/marketplace-docs/guides/owncloud/). +To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through the Linode Marketplace](/cloud/marketplace-docs/guides/owncloud). {{< /note >}} ## Before You Begin @@ -287,7 +287,7 @@ If you continue to experience issues, you can temporarily disable SELinux. sudo setenforce 0 ``` -Refer to the [A Beginner's Guide to SELinux on CentOS 8](/cloud/guides/a-beginners-guide-to-selinux-on-centos-8/) guide to learn more about SELinux. +Refer to the [A Beginner's Guide to SELinux on CentOS 8](/cloud/guides/a-beginners-guide-to-selinux-on-centos-8) guide to learn more about SELinux. {{< /note >}} 1. Once you access the web-based installer, type a username and password for the admin user; click the `Storage & Database` drop-down; and then click `MySQL/MariaDB`. diff --git a/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-debian-10/index.md b/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-debian-10/index.md index 1eaabff5b59..3396bf7bed2 100644 --- a/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-debian-10/index.md +++ b/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-debian-10/index.md @@ -38,10 +38,10 @@ Why would you want to host your own cloud? Some common reasons are: - You own a small business and want to keep everything in-house. - You need an expandable storage solution. -This tutorial walks you through the steps to install ownCloud on Debian 10, one of the most reliable operating systems on the market. There are only a few steps to install ownCloud on Debian. You [install the LAMP (Linux Apache MySQL/MariaDB PHP) stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/); create a database and database user; configure Apache; and set up ownCloud using its graphical user interface. +This tutorial walks you through the steps to install ownCloud on Debian 10, one of the most reliable operating systems on the market. There are only a few steps to install ownCloud on Debian. You [install the LAMP (Linux Apache MySQL/MariaDB PHP) stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10); create a database and database user; configure Apache; and set up ownCloud using its graphical user interface. {{< note >}} -To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through the Linode Marketplace](/cloud/marketplace-docs/guides/owncloud/). +To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through the Linode Marketplace](/cloud/marketplace-docs/guides/owncloud). {{< /note >}} ## Before You Begin diff --git a/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-owncloud-debian-7/index.md b/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-owncloud-debian-7/index.md index c772b91c37f..58d9c50600a 100644 --- a/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-owncloud-debian-7/index.md +++ b/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-owncloud-debian-7/index.md @@ -24,14 +24,14 @@ ownCloud is an open source platform that allows easy access to files from multip Installing ownCloud on your Linode is very simple. The steps outlined below will get you up and running with a drag and drop GUI interface. An ownCloud server could benefit from large amounts of disk space, so consider using our [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) service with this setup. {{< note >}} -To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through the Linode Marketplace](/cloud/marketplace-docs/guides/owncloud/). +To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through the Linode Marketplace](/cloud/marketplace-docs/guides/owncloud). {{< /note >}} ## Installation Prerequisites -Before you can use your Linode with ownCloud you will need to have a working LAMP (Linux, Apache, MySQL, and PHP) stack. For more information on how to create a LAMP stack on your Linode consult our [LAMP Guides](/cloud/guides/web-servers/lamp/). +Before you can use your Linode with ownCloud you will need to have a working LAMP (Linux, Apache, MySQL, and PHP) stack. For more information on how to create a LAMP stack on your Linode consult our [LAMP Guides](/cloud/guides/web-servers/lamp). -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. ## Installing ownCloud diff --git a/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-ubuntu-16-04/index.md b/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-ubuntu-16-04/index.md index 79098b6b9e3..790a90d0717 100644 --- a/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-ubuntu-16-04/index.md +++ b/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-ubuntu-16-04/index.md @@ -26,7 +26,7 @@ OwnCloud is an open-source, cloud-based, file hosting service you can install on ![ownCloud](owncloud_ubuntu.jpg) {{< note >}} -To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through the Linode Marketplace](/cloud/marketplace-docs/guides/owncloud/). +To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through the Linode Marketplace](/cloud/marketplace-docs/guides/owncloud). {{< /note >}} ## Before You Begin @@ -35,7 +35,7 @@ To automatically install ownCloud on a Compute Instance, consider deploying [own 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -3. [Install and configure a LAMP stack](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/). +3. [Install and configure a LAMP stack](/cloud/guides/install-lamp-stack-on-ubuntu-16-04). ## Install ownCloud diff --git a/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-ubuntu-20-04/index.md b/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-ubuntu-20-04/index.md index acc040f4daf..b2016171595 100644 --- a/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-ubuntu-20-04/index.md +++ b/docs/guides/applications/cloud-storage/install-and-configure-owncloud-on-ubuntu-20-04/index.md @@ -39,10 +39,10 @@ Why would you want to host your own cloud? Some common reasons are: - You own a small business and want to keep everything in-house. - You need an expandable storage solution. -This tutorial walks you through the steps to install ownCloud on Ubuntu 20.04, one of the most user-friendly server operating systems available. There are only a few steps to install ownCloud on Ubuntu 20.04. You [install the LAMP (Linux Apache MySQL/MariaDB PHP) stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/); create a database and database user; configure Apache; and set up ownCloud using its graphical user interface. +This tutorial walks you through the steps to install ownCloud on Ubuntu 20.04, one of the most user-friendly server operating systems available. There are only a few steps to install ownCloud on Ubuntu 20.04. You [install the LAMP (Linux Apache MySQL/MariaDB PHP) stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04); create a database and database user; configure Apache; and set up ownCloud using its graphical user interface. {{< note >}} -To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through the Linode Marketplace](/cloud/marketplace-docs/guides/owncloud/). +To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through the Linode Marketplace](/cloud/marketplace-docs/guides/owncloud). {{< /note >}} ## Before You Begin diff --git a/docs/guides/applications/cloud-storage/install-nextcloud-talk/index.md b/docs/guides/applications/cloud-storage/install-nextcloud-talk/index.md index 3c886664e9d..95113192250 100644 --- a/docs/guides/applications/cloud-storage/install-nextcloud-talk/index.md +++ b/docs/guides/applications/cloud-storage/install-nextcloud-talk/index.md @@ -63,7 +63,7 @@ Nextcloud Talk is built using [WebRTC](https://simplewebrtc.com/), and works in 3. Click this icon to enter Talk and allow the use of your system's camera and microphone when prompted. Once this is done, you will be able to start a chat or video call with any of the users you have created. -The basic configuration here allows you to make video calls using Firefox. Google Chrome requires an HTTPS connection in order to allow access to the camera and microphone. To do this, create an [SSL certificate](/cloud/guides/security/ssl/) or place Nextcloud behind a [reverse proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/). +The basic configuration here allows you to make video calls using Firefox. Google Chrome requires an HTTPS connection in order to allow access to the camera and microphone. To do this, create an [SSL certificate](/cloud/guides/security/ssl) or place Nextcloud behind a [reverse proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/). ## Docker Compose diff --git a/docs/guides/applications/cloud-storage/install-seafile-with-nginx-on-ubuntu-1604/index.md b/docs/guides/applications/cloud-storage/install-seafile-with-nginx-on-ubuntu-1604/index.md index 146809514f5..9b5be162967 100644 --- a/docs/guides/applications/cloud-storage/install-seafile-with-nginx-on-ubuntu-1604/index.md +++ b/docs/guides/applications/cloud-storage/install-seafile-with-nginx-on-ubuntu-1604/index.md @@ -25,7 +25,7 @@ Seafile has [two editions](https://www.seafile.com/en/product/private_server/): ## Prepare Ubuntu {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Update the system: @@ -45,7 +45,7 @@ This guide is written for a non-root user. Commands that require elevated privil 4. You should now be logged into your Linode as *sfadmin*. Use our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#harden-ssh-access) guide to harden SSH access. -5. Set up UFW rules. UFW is Ubuntu's iptables controller which makes setting up firewall rules a little easier. For more info on UFW, see our guide [Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). Set the allow rules for SSH and HTTP(S) access with: +5. Set up UFW rules. UFW is Ubuntu's iptables controller which makes setting up firewall rules a little easier. For more info on UFW, see our guide [Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). Set the allow rules for SSH and HTTP(S) access with: sudo ufw allow ssh sudo ufw allow http @@ -99,7 +99,7 @@ If you don't want UFW allowing SSH on port 22 for both IPv4 and IPv6, you can de sudo mysql_secure_installation - For more info on MySQL, see our guide: [Install MySQL on Ubuntu](/cloud/guides/install-mysql-on-ubuntu-14-04/) + For more info on MySQL, see our guide: [Install MySQL on Ubuntu](/cloud/guides/install-mysql-on-ubuntu-14-04) ## Create a TLS Certificate for use with NGINX @@ -118,7 +118,7 @@ If you don't already have an SSL/TLS certificate, you can create one. This certi sudo apt install nginx -2. Create the site configuration file. The only line you need to change below is `server_name`. For more HTTPS configuration options, see our guide on [TLS Best Practices with NGINX](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/). +2. Create the site configuration file. The only line you need to change below is `server_name`. For more HTTPS configuration options, see our guide on [TLS Best Practices with NGINX](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices). {{< file "/etc/nginx/sites-available/seafile.conf" nginx >}} server{ diff --git a/docs/guides/applications/cloud-storage/owncloud-external-storage/index.md b/docs/guides/applications/cloud-storage/owncloud-external-storage/index.md index 04b593886ff..62173a8f3c5 100644 --- a/docs/guides/applications/cloud-storage/owncloud-external-storage/index.md +++ b/docs/guides/applications/cloud-storage/owncloud-external-storage/index.md @@ -17,10 +17,10 @@ One feature found in ownCloud is the ability to connect an instance to Linode Ob ## Before You Begin -1. Ensure you have a [running instance of ownCloud](/cloud/guides/install-and-configure-owncloud-on-ubuntu-20-04/) deployed on your Linode. +1. Ensure you have a [running instance of ownCloud](/cloud/guides/install-and-configure-owncloud-on-ubuntu-20-04) deployed on your Linode. {{< note >}} - To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/owncloud/). + To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/owncloud). {{< /note >}} 1. Purchase an [enterprise license for ownCloud](https://doc.owncloud.com/server/admin_manual/enterprise/installation/install.html) (to enable the necessary external storage app). diff --git a/docs/guides/applications/cloud-storage/store-and-share-your-files-with-nextcloud-centos-7/index.md b/docs/guides/applications/cloud-storage/store-and-share-your-files-with-nextcloud-centos-7/index.md index 947daf7453b..0e685aebff9 100644 --- a/docs/guides/applications/cloud-storage/store-and-share-your-files-with-nextcloud-centos-7/index.md +++ b/docs/guides/applications/cloud-storage/store-and-share-your-files-with-nextcloud-centos-7/index.md @@ -184,4 +184,4 @@ Once you have successfully installed you Nextcloud environment, you may want to Although Apache was used as the web server in this guide, installing Nextcloud with nginx is possible as well. Navigate to the [Nextcloud NGINX Configuration](https://docs.nextcloud.com/server/12/admin_manual/installation/nginx.html) documentation to setup Nextcloud with NGINX. -[Nextcloud Talk](https://nextcloud.com/talk/), is an addon to Nextcloud that allows for secure text and video conferencing through Nextcloud's platform. Check out our guide on how to [Install Nextcloud Talk](/cloud/guides/install-nextcloud-talk/). +[Nextcloud Talk](https://nextcloud.com/talk/), is an addon to Nextcloud that allows for secure text and video conferencing through Nextcloud's platform. Check out our guide on how to [Install Nextcloud Talk](/cloud/guides/install-nextcloud-talk). diff --git a/docs/guides/applications/cloud-storage/tahoe-lafs-on-debian-9/index.md b/docs/guides/applications/cloud-storage/tahoe-lafs-on-debian-9/index.md index e2c56a73abd..3342838ee8e 100644 --- a/docs/guides/applications/cloud-storage/tahoe-lafs-on-debian-9/index.md +++ b/docs/guides/applications/cloud-storage/tahoe-lafs-on-debian-9/index.md @@ -45,7 +45,7 @@ All of these things make Tahoe-LAFS a good fit for securely storing sensitive da 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Server Requirements and Recommendations diff --git a/docs/guides/applications/configuration-management/ansible/ansible-adhoc-commands/index.md b/docs/guides/applications/configuration-management/ansible/ansible-adhoc-commands/index.md index 66612117cbc..abcc1730a16 100644 --- a/docs/guides/applications/configuration-management/ansible/ansible-adhoc-commands/index.md +++ b/docs/guides/applications/configuration-management/ansible/ansible-adhoc-commands/index.md @@ -29,12 +29,12 @@ The basic syntax for invoking an adhoc command is: To run the commands in this tutorial, you'll need: -- A workstation or server with the Ansible command line tool installed on it that will act as the control node. The [Set Up the Control Node](/cloud/guides/getting-started-with-ansible/#set-up-the-control-node) - section of the [Getting Started With Ansible](/cloud/guides/getting-started-with-ansible/) guide has instructions for setting up a Linode as a control node. Installation instructions for non-Linux distributions can be found on the [Ansible documentation site](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html). +- A workstation or server with the Ansible command line tool installed on it that will act as the control node. The [Set Up the Control Node](/cloud/guides/getting-started-with-ansible#set-up-the-control-node) + section of the [Getting Started With Ansible](/cloud/guides/getting-started-with-ansible) guide has instructions for setting up a Linode as a control node. Installation instructions for non-Linux distributions can be found on the [Ansible documentation site](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html). - At least one other server that will be managed by Ansible. Some commands in this guide will target a non-root user on this server. This user should have sudo privileges. There are a couple options for setting up this user: - - You can use Ansible to create the user, which is outlined in the [Add a Limited User Account](/cloud/guides/running-ansible-playbooks/#add-a-limited-user-account) section of the [Automate Server Configuration with Ansible Playbooks](/cloud/guides/running-ansible-playbooks/) guide. + - You can use Ansible to create the user, which is outlined in the [Add a Limited User Account](/cloud/guides/running-ansible-playbooks#add-a-limited-user-account) section of the [Automate Server Configuration with Ansible Playbooks](/cloud/guides/running-ansible-playbooks) guide. - Alternatively, you can manually add the user, which is outlined in the [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) section of the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. @@ -42,7 +42,7 @@ To run the commands in this tutorial, you'll need: Follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide for help with creating Linodes. {{< /note >}} -The commands in this guide will be run from the control node and will target a host named `Client`. Your control node's Ansible inventory should be configured so that at least one of your managed nodes has this name. The [Create an Ansible Inventory](/cloud/guides/getting-started-with-ansible/#create-an-ansible-inventory) section of the [Getting Started With Ansible](/cloud/guides/getting-started-with-ansible/) guide outlines how to set up an inventory file. +The commands in this guide will be run from the control node and will target a host named `Client`. Your control node's Ansible inventory should be configured so that at least one of your managed nodes has this name. The [Create an Ansible Inventory](/cloud/guides/getting-started-with-ansible#create-an-ansible-inventory) section of the [Getting Started With Ansible](/cloud/guides/getting-started-with-ansible) guide outlines how to set up an inventory file. {{< note >}} Alternatively, you can modify the commands in this guide to use a different host name. diff --git a/docs/guides/applications/configuration-management/ansible/ansible-security-benefits/index.md b/docs/guides/applications/configuration-management/ansible/ansible-security-benefits/index.md index 0e0941898e8..ff145f5284c 100644 --- a/docs/guides/applications/configuration-management/ansible/ansible-security-benefits/index.md +++ b/docs/guides/applications/configuration-management/ansible/ansible-security-benefits/index.md @@ -11,13 +11,13 @@ external_resources: - '[Ansible Collaborative Official Site](https://www.ansible.com/)' --- -[Ansible](/cloud/guides/applications/configuration-management/ansible/) is an automation engine used for enabling infrastructure as code (IaC), managing and deploying applications, and automating processes. It is often considered a tool for system administrators, DevOps practitioners, and related IT specialists. +[Ansible](/cloud/guides/applications/configuration-management/ansible) is an automation engine used for enabling infrastructure as code (IaC), managing and deploying applications, and automating processes. It is often considered a tool for system administrators, DevOps practitioners, and related IT specialists. Ansible workflows have significant implications for IT security, both enhancing it and introducing potential risks. This guide discusses various security benefits and considerations of using Ansible. ## Source Control Integration -Ansible's configuration management capabilities enable various security techniques associated with effective [infrastructure as code](/cloud/guides/introduction-to-infrastructure-as-code/), including: +Ansible's configuration management capabilities enable various security techniques associated with effective [infrastructure as code](/cloud/guides/introduction-to-infrastructure-as-code), including: - **Versioning and Change Tracking**: Keeps a detailed record of what changes are made, when, and by whom. - **Auditing and Compliance**: Ensures changes to sensitive documents are made, reviewed, and approved by authorized personnel. @@ -29,7 +29,7 @@ The integration of these techniques together allows you to use the same Single S ## Secure Communication -Ansible uses `ssh` as its default transport protocol. In addition to accessing `ssh` through standard clients and servers, Ansible also uses [Paramiko](https://www.paramiko.org/), a [Python](/cloud/guides/development/python/) implementation of [OpenSSH](https://www.openssh.com/). These components are regarded as secure for commercial traffic. +Ansible uses `ssh` as its default transport protocol. In addition to accessing `ssh` through standard clients and servers, Ansible also uses [Paramiko](https://www.paramiko.org/), a [Python](/cloud/guides/development/python) implementation of [OpenSSH](https://www.openssh.com/). These components are regarded as secure for commercial traffic. Ansible encrypts all communications, and authentication mechanisms include public-key, password, and [Kerberos](https://www.techtarget.com/searchsecurity/definition/Kerberos) protocol. diff --git a/docs/guides/applications/configuration-management/ansible/deploy-linodes-using-ansible/index.md b/docs/guides/applications/configuration-management/ansible/deploy-linodes-using-ansible/index.md index ad46846e9fa..e382dbc8718 100644 --- a/docs/guides/applications/configuration-management/ansible/deploy-linodes-using-ansible/index.md +++ b/docs/guides/applications/configuration-management/ansible/deploy-linodes-using-ansible/index.md @@ -21,10 +21,10 @@ deprecated_link: 'guides/deploy-linodes-using-linode-ansible-collection/' {{< note >}} This guide shows how to use the older *Linode Ansible module* to manage Linode infrastructure. This module is maintained by members of the Linode community. A newer *Linode Ansible collection* is now available which is maintained by the Linode development team. -The community-maintained module still functions, but using the Ansible collection is recommended. Review our [Using the Linode Ansible Collection to Deploy a Linode](/cloud/guides/deploy-linodes-using-linode-ansible-collection/) guide for more information. +The community-maintained module still functions, but using the Ansible collection is recommended. Review our [Using the Linode Ansible Collection to Deploy a Linode](/cloud/guides/deploy-linodes-using-linode-ansible-collection) guide for more information. {{< /note >}} -Ansible is a popular open-source tool that can be used to automate common IT tasks, like cloud provisioning and configuration management. With [Ansible's 2.8 release](https://docs.ansible.com/ansible/latest/roadmap/ROADMAP_2_8.html), you can deploy Linode instances using our latest [API (v4)](https://techdocs.akamai.com/linode-api/reference/api). Ansible's `linode_v4` module adds the functionality needed to deploy and manage Linodes via the command line or in your [Ansible Playbooks](/cloud/guides/running-ansible-playbooks/). While the dynamic inventory plugin for Linode helps you source your Ansible inventory directly from the Linode API (v4). +Ansible is a popular open-source tool that can be used to automate common IT tasks, like cloud provisioning and configuration management. With [Ansible's 2.8 release](https://docs.ansible.com/ansible/latest/roadmap/ROADMAP_2_8.html), you can deploy Linode instances using our latest [API (v4)](https://techdocs.akamai.com/linode-api/reference/api). Ansible's `linode_v4` module adds the functionality needed to deploy and manage Linodes via the command line or in your [Ansible Playbooks](/cloud/guides/running-ansible-playbooks). While the dynamic inventory plugin for Linode helps you source your Ansible inventory directly from the Linode API (v4). In this guide you will learn how to: @@ -43,7 +43,7 @@ The steps outlined in this guide require [Ansible version 2.8](https://github.co - Add a limited user to your Linode following the steps below, created by following the [Add a limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) section of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Ensure that all commands are entered as your limited user. -- Install Ansible on your computer. Use the steps in the [Control Node Setup](/cloud/guides/getting-started-with-ansible/#set-up-the-control-node) section of the [Getting Started With Ansible - Basic Installation and Setup](/cloud/guides/getting-started-with-ansible/) guide. +- Install Ansible on your computer. Use the steps in the [Control Node Setup](/cloud/guides/getting-started-with-ansible#set-up-the-control-node) section of the [Getting Started With Ansible - Basic Installation and Setup](/cloud/guides/getting-started-with-ansible) guide. - Ensure you have Python version 2.7 or higher installed on your computer. Issue the following command to check your system's Python version: @@ -69,7 +69,7 @@ The Ansible configuration file is used to adjust Ansible's default system settin In this section, you will create an Ansible configuration file and add options to disable host key checking, and to allow the Linode inventory plugin. The Ansible configuration file will be located in a development directory that you create, however, it could exist in any of the locations listed above. See [Ansible's official documentation](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#common-options) for a full list of available configuration settings. {{< note type="alert" >}} -When storing your Ansible configuration file, ensure that its corresponding directory does not have world-writable permissions. This could pose a security risk that allows malicious users to use Ansible to exploit your local system and remote infrastructure. At minimum, the directory should restrict access to particular users and groups. For example, you can create an `ansible` group, only add privileged users to the `ansible` group, and update the Ansible configuration file's directory to have `764` permissions. See the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide for more information on permissions. +When storing your Ansible configuration file, ensure that its corresponding directory does not have world-writable permissions. This could pose a security risk that allows malicious users to use Ansible to exploit your local system and remote infrastructure. At minimum, the directory should restrict access to particular users and groups. For example, you can create an `ansible` group, only add privileged users to the `ansible` group, and update the Ansible configuration file's directory to have `764` permissions. See the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide for more information on permissions. {{< /note >}} 1. In your home directory, create a directory to hold all of your Ansible related files and move into the directory: @@ -96,7 +96,7 @@ You can now begin creating Linode instances using Ansible. In this section, you ### Create your Linode Playbook -1. Ensure you are in the `development` directory that you created in the [Configure Ansible](/cloud/guides/deploy-linodes-using-ansible/#create-a-linode-instance) section: +1. Ensure you are in the `development` directory that you created in the [Configure Ansible](/cloud/guides/deploy-linodes-using-ansible#create-a-linode-instance) section: cd ~/development diff --git a/docs/guides/applications/configuration-management/ansible/deploy-linodes-using-linode-ansible-collection/index.md b/docs/guides/applications/configuration-management/ansible/deploy-linodes-using-linode-ansible-collection/index.md index 2d2c7c821e4..bcf052fe0cc 100644 --- a/docs/guides/applications/configuration-management/ansible/deploy-linodes-using-linode-ansible-collection/index.md +++ b/docs/guides/applications/configuration-management/ansible/deploy-linodes-using-linode-ansible-collection/index.md @@ -41,7 +41,7 @@ If you remove the resource, [you are only be billed for the hour(s) that the res The steps outlined in this guide require [Ansible version 2.9.10 or greater](https://github.com/ansible/ansible/releases/tag/v2.9.10) and were tested on a Linode running Ubuntu 22.04. The instructions can be adapted to other Linux distributions or operating systems. {{< /note >}} -1. Provision a server that acts as the Ansible [*control node*](/cloud/guides/getting-started-with-ansible/#what-is-ansible), from which other compute instances are deployed. Follow the instructions in our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide to create a Linode running Ubuntu 22.04. A shared CPU 1GB Nanode is suitable. You can also use an existing workstation or laptop if you prefer. +1. Provision a server that acts as the Ansible [*control node*](/cloud/guides/getting-started-with-ansible#what-is-ansible), from which other compute instances are deployed. Follow the instructions in our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide to create a Linode running Ubuntu 22.04. A shared CPU 1GB Nanode is suitable. You can also use an existing workstation or laptop if you prefer. 1. Add a limited Linux user to your control node Linode by following the [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) section of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Ensure that all commands for the rest of this guide are entered as your limited user. @@ -49,7 +49,7 @@ The steps outlined in this guide require [Ansible version 2.9.10 or greater](htt sudo apt update && sudo apt upgrade -1. Install Ansible on your control node. Follow the steps in the [Install Ansible](/cloud/guides/getting-started-with-ansible/#install-ansible) section of the [Getting Started With Ansible - Basic Installation and Setup](/cloud/guides/getting-started-with-ansible/) guide. +1. Install Ansible on your control node. Follow the steps in the [Install Ansible](/cloud/guides/getting-started-with-ansible#install-ansible) section of the [Getting Started With Ansible - Basic Installation and Setup](/cloud/guides/getting-started-with-ansible) guide. 1. Ensure you have Python version 2.7 or higher installed on your control node. Issue the following command to check your system's Python version: @@ -125,7 +125,7 @@ These lines specify the location of your password file. ### Encrypt Variables with Ansible Vault -1. Create a directory to store variable files used with your [Ansible playbooks](/cloud/guides/getting-started-with-ansible/#what-is-ansible): +1. Create a directory to store variable files used with your [Ansible playbooks](/cloud/guides/getting-started-with-ansible#what-is-ansible): mkdir -p ~/development/group_vars/ @@ -187,7 +187,7 @@ token: !vault | ## Understanding Fully Qualified Collection Namespaces -Ansible is now configured and the Linode Ansible collection is installed. You can create [playbooks](/cloud/guides/running-ansible-playbooks/#playbook-basics) to leverage the collection and create compute instances and other Linode resources. +Ansible is now configured and the Linode Ansible collection is installed. You can create [playbooks](/cloud/guides/running-ansible-playbooks#playbook-basics) to leverage the collection and create compute instances and other Linode resources. Within playbooks, the Linode Ansible collection is further divided by resource types through the [Fully Qualified Collection Name](https://github.com/ansible-collections/overview#terminology)(FQCN) affiliated with the desired resource. These names serve as identifiers that help Ansible to more easily and authoritatively delineate between modules and plugins within a collection. diff --git a/docs/guides/applications/configuration-management/ansible/front-line-best-practices-ansible/index.md b/docs/guides/applications/configuration-management/ansible/front-line-best-practices-ansible/index.md index ee5511790fa..980003b4cc4 100644 --- a/docs/guides/applications/configuration-management/ansible/front-line-best-practices-ansible/index.md +++ b/docs/guides/applications/configuration-management/ansible/front-line-best-practices-ansible/index.md @@ -10,7 +10,7 @@ keywords: ['ansible best practices','ansible documentation','ansible testing','a license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -[Ansible](/cloud/guides/applications/configuration-management/ansible/) is an important open source automation tool and platform. It is used for configuration management, application deployment, task automation, and [orchestration](https://www.databricks.com/glossary/orchestration) of complex workflows. +[Ansible](/cloud/guides/applications/configuration-management/ansible) is an important open source automation tool and platform. It is used for configuration management, application deployment, task automation, and [orchestration](https://www.databricks.com/glossary/orchestration) of complex workflows. Ansible figures prominently in DevOps. It allows Information Technology (IT) administrators and developers to automate repetitive tasks and streamline the management and deployment of infrastructure, applications, and services. Ansible’s business and strategic features include: @@ -24,11 +24,11 @@ Data centers effectively require Ansible, or one of its competitors. Businesses The following is a list of key terms that cover the [fundamental components and concepts associated with Ansible](https://docs.ansible.com/ansible/latest/getting_started/basic_concepts.html): -- **Target State**: Ansible is a [**declarative**](http://www.it-automation.com/2021/06/05/is-ansible-declarative-or-imperative.html) language. It details target states for computing systems and how those states are achieved. It then takes responsibility for achievement of the target states. This creates a kind of [teamwork](https://www.linkedin.com/pulse/delegating-goals-versus-tasks-karl-maier) between users and Ansible, where users take the lead in telling what they want, and Ansible works out the details of how it's done. This is different from older styles of [system administration](/cloud/guides/linux-system-administration-basics/) and system administration tools. +- **Target State**: Ansible is a [**declarative**](http://www.it-automation.com/2021/06/05/is-ansible-declarative-or-imperative.html) language. It details target states for computing systems and how those states are achieved. It then takes responsibility for achievement of the target states. This creates a kind of [teamwork](https://www.linkedin.com/pulse/delegating-goals-versus-tasks-karl-maier) between users and Ansible, where users take the lead in telling what they want, and Ansible works out the details of how it's done. This is different from older styles of [system administration](/cloud/guides/linux-system-administration-basics) and system administration tools. An important aspect of target state is how it applies. Many practitioners have strong experience with Ansible's use in provisioning and deployment, but don't realize it also applies in other automations. While it is good at "spinning up" a new server or updating an existing one, it's also handy for many more uses that aid overall system health. For example, daily checks of certificate expirations, or hourly confirmations that file systems have at least 10% free storage. It only takes a few lines of Ansible to implement these and many other target states and verifications. -- **Playbooks**: Ansible [playbooks](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_intro.html) are written in [YAML](/cloud/guides/yaml-reference/) and define a sequence of steps, or "plays", to execute on a target system or group of systems. Playbooks express desired states for systems and how those states are achieved. Ansible then takes responsibility for achieving those states. That dynamic is Ansible’s fundamental accomplishment. +- **Playbooks**: Ansible [playbooks](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_intro.html) are written in [YAML](/cloud/guides/yaml-reference) and define a sequence of steps, or "plays", to execute on a target system or group of systems. Playbooks express desired states for systems and how those states are achieved. Ansible then takes responsibility for achieving those states. That dynamic is Ansible’s fundamental accomplishment. - **Modules**: Ansible [modules](https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html) are the building blocks of playbooks. Modules are discrete units of code that enact specific tasks such as package management, file configuration, or launching services. One of Ansible's great assets is its enormous collection of built–in modules and the ability for users to author custom ones. @@ -42,7 +42,7 @@ The following is a list of key terms that cover the [fundamental components and - **Facts**: Ansible gathers information about target systems using modules called [facts](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_vars_facts.html). Examples of gathered information include hardware, operating systems, and internet addresses. Playbooks inform the decisions they make with such facts. -- **Templates**: Ansible [templates](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/template_module.html) are files structured in [Jinja2 syntax](/cloud/guides/introduction-to-jinja-templates-for-salt/) with placeholders. Playbook execution dynamically populates the placeholders with variables. Templates can generate configuration files, scripts, and other Ansible artifacts. +- **Templates**: Ansible [templates](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/template_module.html) are files structured in [Jinja2 syntax](/cloud/guides/introduction-to-jinja-templates-for-salt) with placeholders. Playbook execution dynamically populates the placeholders with variables. Templates can generate configuration files, scripts, and other Ansible artifacts. - **Handlers**: Various specific Ansible events trigger [handlers](https://docs.ansible.com/ansible/latest/getting_started/basic_concepts.html#handlers), typically at the conclusion of a playbook run. A common handler responsibility is to restart services after a configuration change. @@ -54,7 +54,7 @@ While best practices certainly improve run-time efficiency, they also improve or As Abelson and Sussman wrote: "[Programs must be written for people to read, and only incidentally for machines to execute.](https://medium.com/javarevisited/epic-programmers-quotes-explained-aed933257b93#:~:text=The%20quote%20implies%20that%20writing,involves%20continuous%20updates%20and%20maintenance.)" In much the same way, the best Ansible playbooks are an ongoing asset for their *human* readers. -Recognize that Ansible playbooks and related specifications are source, or "[code](https://www.cloudbees.com/blog/configuration-as-code-everything-need-know#)". Like all other sources, they deserve a [version-controlled source code control system](/cloud/guides/introduction-to-version-control/) to call home. Think of this as "best practice zero", which precedes the following top 12 best practices for using Ansible. +Recognize that Ansible playbooks and related specifications are source, or "[code](https://www.cloudbees.com/blog/configuration-as-code-everything-need-know#)". Like all other sources, they deserve a [version-controlled source code control system](/cloud/guides/introduction-to-version-control) to call home. Think of this as "best practice zero", which precedes the following top 12 best practices for using Ansible. ### File System Layout diff --git a/docs/guides/applications/configuration-management/ansible/getting-started-with-ansible/index.md b/docs/guides/applications/configuration-management/ansible/getting-started-with-ansible/index.md index 69ee030a6ea..508892ab04a 100644 --- a/docs/guides/applications/configuration-management/ansible/getting-started-with-ansible/index.md +++ b/docs/guides/applications/configuration-management/ansible/getting-started-with-ansible/index.md @@ -31,7 +31,7 @@ To get started using Ansible, it is helpful to become familiar with a few basic - **Inventory**: Ansible keeps track of its managed nodes using an [inventory file](http://docs.ansible.com/ansible/intro_inventory.html) typically located in `/etc/ansible/hosts`. In the inventory file, you can group your managed nodes and use these groups to target specific hosts that make up your infrastructure. Ansible can use multiple inventory sources, like other inventory files and dynamic inventory pulled using an inventory plugin or script. - If your Ansible managed infrastructure will change over time, it is recommended to use the [dynamic inventory plugin for Linode](https://docs.ansible.com/ansible/latest/plugins/inventory/linode.html). You can read the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible/) to learn how to use this plugin. + If your Ansible managed infrastructure will change over time, it is recommended to use the [dynamic inventory plugin for Linode](https://docs.ansible.com/ansible/latest/plugins/inventory/linode.html). You can read the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible) to learn how to use this plugin. - **Modules**: Modules add extra functionality to Ansible. You can call Ansible modules directly from the command line to execute on your managed nodes or use them in your Playbooks. See [Ansible's module index](https://docs.ansible.com/ansible/latest/modules/modules_by_category.html) for a list of available modules by category. @@ -47,7 +47,7 @@ This guide introduces the basics of installing Ansible and preparing your enviro - Create two Linodes to manage with Ansible and establish a basic connection between the control node and your managed nodes. The managed nodes will be referred to as `node-1`, and `node-2` throughout the guide. {{< note >}} - The examples in this guide provide a manual method to establish a basic connection between your control node and managed nodes as a way to introduce the basics of Ansible. If you would like to learn how to use Ansible's [Linode module](https://docs.ansible.com/ansible/latest/modules/linode_v4_module.html) to automate deploying and managing Linodes, see the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible/). The guide assumes familiarity with Ansible modules, Playbooks, and dynamic inventories. + The examples in this guide provide a manual method to establish a basic connection between your control node and managed nodes as a way to introduce the basics of Ansible. If you would like to learn how to use Ansible's [Linode module](https://docs.ansible.com/ansible/latest/modules/linode_v4_module.html) to automate deploying and managing Linodes, see the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible). The guide assumes familiarity with Ansible modules, Playbooks, and dynamic inventories. {{< /note >}} ## Before You Begin @@ -75,7 +75,7 @@ If you remove the resources afterward, you will only be billed for the hour(s) t Repeat this procedure for each remaining node. {{< note >}} - This step can be automated by using Ansible's Linode module. See the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible/) for more information. + This step can be automated by using Ansible's Linode module. See the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible) for more information. {{< /note >}} ## Set up the Control Node @@ -183,7 +183,7 @@ This guide was created using Ansible 2.8. ### Create an Ansible Inventory -Ansible keeps track of its managed nodes using an [inventory file](http://docs.ansible.com/ansible/intro_inventory.html) located in `/etc/ansible/hosts`. In the inventory file, you can group your managed nodes and use these groups to target specific hosts that make up your infrastructure. Ansible can use multiple inventory sources, like other inventory files and dynamic inventory pulled using an inventory plugin or script. If your Ansible managed infrastructure will change over time, it is recommended to use the dynamic inventory plugin for Linode. You can read the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible/) to learn how to manage Linodes. +Ansible keeps track of its managed nodes using an [inventory file](http://docs.ansible.com/ansible/intro_inventory.html) located in `/etc/ansible/hosts`. In the inventory file, you can group your managed nodes and use these groups to target specific hosts that make up your infrastructure. Ansible can use multiple inventory sources, like other inventory files and dynamic inventory pulled using an inventory plugin or script. If your Ansible managed infrastructure will change over time, it is recommended to use the dynamic inventory plugin for Linode. You can read the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible) to learn how to manage Linodes. Following the example below, you will add your **managed nodes** to the `/etc/ansible/hosts` inventory file in two separate groups. The nodes can be listed using a name that can be resolved by DNS or an IP address. @@ -242,7 +242,7 @@ After configuring your control node, you can communicate with your managed nodes ## Next Steps -1. Now that you've installed and configured Ansible, you can begin to use Playbooks to manage your Linodes' configurations. Our [Automate Server Configuration with Ansible Playbooks](/cloud/guides/running-ansible-playbooks/) guide will demonstrate a basic web server set up using an Ansible Playbook. +1. Now that you've installed and configured Ansible, you can begin to use Playbooks to manage your Linodes' configurations. Our [Automate Server Configuration with Ansible Playbooks](/cloud/guides/running-ansible-playbooks) guide will demonstrate a basic web server set up using an Ansible Playbook. 1. You can also reference a number of [example playbooks](https://github.com/ansible/ansible-examples) on Ansible's GitHub account to a see a variety of implementations. @@ -256,4 +256,4 @@ After configuring your control node, you can communicate with your managed nodes ### Delete Your Linodes -If you no longer wish to use the Linodes created in this guide, you can delete them using the [Linode Cloud Manager](https://cloud.linode.com/linodes). To learn how to remove Linode resources using Ansible's Linode module, see the [Delete Your Resources](/cloud/guides/deploy-linodes-using-ansible/#delete-your-resources) section of the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible/) guide. \ No newline at end of file +If you no longer wish to use the Linodes created in this guide, you can delete them using the [Linode Cloud Manager](https://cloud.linode.com/linodes). To learn how to remove Linode resources using Ansible's Linode module, see the [Delete Your Resources](/cloud/guides/deploy-linodes-using-ansible#delete-your-resources) section of the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible) guide. \ No newline at end of file diff --git a/docs/guides/applications/configuration-management/ansible/running-ansible-playbooks/index.md b/docs/guides/applications/configuration-management/ansible/running-ansible-playbooks/index.md index 5a5bda0b76d..ac279077f89 100644 --- a/docs/guides/applications/configuration-management/ansible/running-ansible-playbooks/index.md +++ b/docs/guides/applications/configuration-management/ansible/running-ansible-playbooks/index.md @@ -24,14 +24,14 @@ This guide provides an introduction to Ansible Playbook concepts, like tasks, pl ## Before You Begin -* If you are not familiar with Ansible, review the [Ansible Definitions](/cloud/guides/getting-started-with-ansible/#what-is-ansible) section of the [Getting Started With Ansible](/cloud/guides/getting-started-with-ansible/) guide. +* If you are not familiar with Ansible, review the [Ansible Definitions](/cloud/guides/getting-started-with-ansible#what-is-ansible) section of the [Getting Started With Ansible](/cloud/guides/getting-started-with-ansible) guide. -* Install Ansible on your computer or a Linode following the steps in the [Set up the Control Node](/cloud/guides/getting-started-with-ansible/#set-up-the-control-node) section of our [Getting Started With Ansible](/cloud/guides/getting-started-with-ansible/) guide. +* Install Ansible on your computer or a Linode following the steps in the [Set up the Control Node](/cloud/guides/getting-started-with-ansible#set-up-the-control-node) section of our [Getting Started With Ansible](/cloud/guides/getting-started-with-ansible) guide. -* Deploy a Linode running Ubuntu 22.04 LTS to manage with Ansible. All Playbooks created throughout this guide will be executed on this Linode. Follow the [Getting Started With Ansible - Basic Installation and Setup](/cloud/guides/getting-started-with-ansible/#set-up-the-control-node) to learn how to establish a connection between the Ansible control node and your Linode. +* Deploy a Linode running Ubuntu 22.04 LTS to manage with Ansible. All Playbooks created throughout this guide will be executed on this Linode. Follow the [Getting Started With Ansible - Basic Installation and Setup](/cloud/guides/getting-started-with-ansible#set-up-the-control-node) to learn how to establish a connection between the Ansible control node and your Linode. {{< note respectIndent=false >}} -When following the [Getting Started with Ansible](/cloud/guides/getting-started-with-ansible/#set-up-the-control-node) guide to deploy a Linode, it is not necessary to add your Ansible control node's SSH key-pair to your managed Linode. This step will be completed using a Playbook later on in this guide. +When following the [Getting Started with Ansible](/cloud/guides/getting-started-with-ansible#set-up-the-control-node) guide to deploy a Linode, it is not necessary to add your Ansible control node's SSH key-pair to your managed Linode. This step will be completed using a Playbook later on in this guide. {{< /note >}} ## Playbook Basics @@ -98,7 +98,7 @@ In this section you will create a Playbook to add a limited user account to your When creating a limited user account you are required to create a host login password for the new user. Since you should never include plaintext passwords in your Playbooks, in this section you will use the Python passlib library to create a password hash that you can securely include in your Playbook. {{< note >}} -[Ansible Vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html#encrypt-string-for-use-in-yaml) can also be used to encrypt sensitive data. This guide will not make use of Ansible Vault, however, you can consult the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible/) guide to view an example that makes use of this feature. +[Ansible Vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html#encrypt-string-for-use-in-yaml) can also be used to encrypt sensitive data. This guide will not make use of Ansible Vault, however, you can consult the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible) guide to view an example that makes use of this feature. {{< /note >}} 1. On your Ansible control node, create a password hash for Ansible to use in a later step. An easy method is to use Python's PassLib library, which can be installed with the following commands: @@ -253,7 +253,7 @@ You are now ready to create the `setup_webserver.yml` Playbook that will get you * In the `Create a new user for connections` task, replace the value of `password` with your desired password. {{< note respectIndent=false >}} -In order to avoid using plain text passwords in your Playbooks, you can use [Ansible-Vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html#encrypt-string-for-use-in-yaml) and variables to encrypt sensitive data. You can consult the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible/) guide to view an example that makes use of this feature. +In order to avoid using plain text passwords in your Playbooks, you can use [Ansible-Vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html#encrypt-string-for-use-in-yaml) and variables to encrypt sensitive data. You can consult the [How to use the Linode Ansible Module to Deploy Linodes](/cloud/guides/deploy-linodes-using-ansible) guide to view an example that makes use of this feature. {{< /note >}} {{< file "setup_webserver.yml" yaml >}} diff --git a/docs/guides/applications/configuration-management/ansible/secrets-management-with-ansible/index.md b/docs/guides/applications/configuration-management/ansible/secrets-management-with-ansible/index.md index 0d34d5e2e8c..a5200239a8b 100644 --- a/docs/guides/applications/configuration-management/ansible/secrets-management-with-ansible/index.md +++ b/docs/guides/applications/configuration-management/ansible/secrets-management-with-ansible/index.md @@ -24,9 +24,9 @@ In this tutorial, learn the most useful methods for implementing secrets managem 1. If you have not already done so, create a Linode account. See our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -1. Follow our guide on [Getting Started With Ansible: Basic Installation and Setup](/cloud/guides/getting-started-with-ansible/). Specifically, follow the sections on setting up a control node and managed nodes, configuring Ansible, and creating an Ansible inventory. +1. Follow our guide on [Getting Started With Ansible: Basic Installation and Setup](/cloud/guides/getting-started-with-ansible). Specifically, follow the sections on setting up a control node and managed nodes, configuring Ansible, and creating an Ansible inventory. -1. Refer to our guide [Automate Server Configuration with Ansible Playbooks](/cloud/guides/running-ansible-playbooks/) for an overview of Ansible playbooks and their operations. +1. Refer to our guide [Automate Server Configuration with Ansible Playbooks](/cloud/guides/running-ansible-playbooks) for an overview of Ansible playbooks and their operations. ## Secrets in Ansible @@ -52,12 +52,12 @@ With this option, you configure your Ansible playbook to prompt users to manuall Of course, this option comes with some significant drawbacks. By not storing the secrets, you also prevent Ansible from accessing them automatically, reducing the ability to integrate your playbooks into automated processes. Additionally, leaving the secrets to manual entry introduces its own risks, as users can mishandle secrets. -Here is an example Ansible playbook from our [Automate Server Configuration with Ansible Playbooks](/cloud/guides/running-ansible-playbooks/) guide. This playbook adds a new non-root user to the managed nodes. +Here is an example Ansible playbook from our [Automate Server Configuration with Ansible Playbooks](/cloud/guides/running-ansible-playbooks) guide. This playbook adds a new non-root user to the managed nodes. The playbook uses the `vars_prompt` option to prompt the user to input a password for the new user. Ansible then hashes the password and deploys the new user to each of the managed nodes. {{< note >}} -This playbook assumes you have an SSH public key on your control node. The public key allows for secure passwordless connections to the new user in the future. Learn more in our guide [Using SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/). +This playbook assumes you have an SSH public key on your control node. The public key allows for secure passwordless connections to the new user in the future. Learn more in our guide [Using SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh). This tutorial also assumes that your control node’s SSH key is secured by a password, and hence uses the `--ask-pass` option in some of the Ansible playbook commands below. If your SSH key is not secured by a password, remove the `--ask-pass` option from the Ansible playbook commands shown in this tutorial. {{< /note >}} @@ -248,7 +248,7 @@ Ansible maintains a plugin for interacting with HashiCorp's Vault, the [`hashi_v The following steps walk you through an example using HashiCorp's Vault with Ansible. The example accomplishes the same ends as the example in the previous section, so you can more easily compare the two. -1. Follow along with our guide on [Setting Up and Using a Vault Server](/cloud/guides/how-to-setup-and-use-a-vault-server/). By the end, you should have HashiCorp's Vault installed, a vault server running and unsealed, and be logged into the vault. +1. Follow along with our guide on [Setting Up and Using a Vault Server](/cloud/guides/how-to-setup-and-use-a-vault-server). By the end, you should have HashiCorp's Vault installed, a vault server running and unsealed, and be logged into the vault. 1. Ensure that the key-value (`kv`) engine is enabled for the `secret` path: @@ -354,4 +354,4 @@ The following steps walk you through an example using HashiCorp's Vault with Ans You now have some options to ensure that your Ansible setup has secure secrets. Choosing between these options comes down to scale and accessibility. Manual entry is simple to start with, but only suits smaller projects and teams. Ansible Vault is in many ways ideal, but an external solution may better fit your team and organization. -To keep learning about Ansible and efficiently automating your server tasks, read more of our [guides on Ansible](/cloud/guides/applications/configuration-management/ansible/). +To keep learning about Ansible and efficiently automating your server tasks, read more of our [guides on Ansible](/cloud/guides/applications/configuration-management/ansible). diff --git a/docs/guides/applications/configuration-management/ansible/use-ansible-to-automate-web-server-infrastructure/index.md b/docs/guides/applications/configuration-management/ansible/use-ansible-to-automate-web-server-infrastructure/index.md index 376d3f2225a..6bdc049867c 100644 --- a/docs/guides/applications/configuration-management/ansible/use-ansible-to-automate-web-server-infrastructure/index.md +++ b/docs/guides/applications/configuration-management/ansible/use-ansible-to-automate-web-server-infrastructure/index.md @@ -36,7 +36,7 @@ If you remove these resources afterward, you are only [billed for the time](http - Create a new directory to work from. For example, you can name it, **"Ansible_Infra"**. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Create Five Linodes Using the Linode CLI diff --git a/docs/guides/applications/configuration-management/basics/gitops-principles-and-workflow/index.md b/docs/guides/applications/configuration-management/basics/gitops-principles-and-workflow/index.md index f49afd22296..4b00fcc9e14 100644 --- a/docs/guides/applications/configuration-management/basics/gitops-principles-and-workflow/index.md +++ b/docs/guides/applications/configuration-management/basics/gitops-principles-and-workflow/index.md @@ -11,17 +11,17 @@ tags: ['kubernetes', 'container', 'monitoring'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -If you're a developer, chances are you know what [Git](/cloud/guides/a-beginners-guide-to-github/) is. However, you may not be as familiar with *GitOps*. This guide gives you an understanding of GitOps, compares GitOps to DevOps, describes the GitOps workflow, and the tools often used with this methodology. +If you're a developer, chances are you know what [Git](/cloud/guides/a-beginners-guide-to-github) is. However, you may not be as familiar with *GitOps*. This guide gives you an understanding of GitOps, compares GitOps to DevOps, describes the GitOps workflow, and the tools often used with this methodology. ## What is GitOps? GitOps is a paradigm that empowers developers to undertake tasks that might otherwise be handled by operations. Operations are the processes and services that are overseen by a company's IT department. This may include technology and infrastructure management (including software), quality assurance, network administration, and device management. -Traditionally, developers don't function under the operations umbrella. This can place development and operations in their own silos. GitOps aims to remove those silos, and enable operations to employ the same tools and methodologies that developers use for efficient collaboration. GitOps, as its name implies, relies on Git as the only source of truth; even for code related to IT operations. GitOps is possible due to [Infrastructure as Code (IaC)](/cloud/guides/introduction-to-infrastructure-as-code/) tools that allow you to create and manage your infrastructure using declarative configuration files. +Traditionally, developers don't function under the operations umbrella. This can place development and operations in their own silos. GitOps aims to remove those silos, and enable operations to employ the same tools and methodologies that developers use for efficient collaboration. GitOps, as its name implies, relies on Git as the only source of truth; even for code related to IT operations. GitOps is possible due to [Infrastructure as Code (IaC)](/cloud/guides/introduction-to-infrastructure-as-code) tools that allow you to create and manage your infrastructure using declarative configuration files. ## GitOps Principles -GitOps relies on version control tools like [Git](/cloud/guides/how-to-use-git/), [GitHub](/cloud/guides/a-beginners-guide-to-github/), [GitLab](/cloud/guides/install-gitlab-on-ubuntu-18-04/), and Bitbucket. These platforms serve as the centralized repository for your IaC and orchestration files. +GitOps relies on version control tools like [Git](/cloud/guides/how-to-use-git), [GitHub](/cloud/guides/a-beginners-guide-to-github), [GitLab](/cloud/guides/install-gitlab-on-ubuntu-18-04), and Bitbucket. These platforms serve as the centralized repository for your IaC and orchestration files. Another central idea behind GitOps is that the desired state of a system is described using declarative specifications for every environment in the software development lifecycle. Some of these environments include testing, staging, and production. Declarative configuration files are housed within the same repository as the code, so they can be accessed by all relevant members of your project. @@ -29,9 +29,9 @@ The next crucial element of GitOps is *observability*. Observability is the abil The three basic components of GitOps are the following: -- [Infrastructure as Code](/cloud/guides/introduction-to-infrastructure-as-code/) (IaC), a methodology that stores all infrastructure configuration as code. -- [Merge Requests](/cloud/guides/resolving-git-merge-conflicts/) (MRs) to serve as a change mechanism for infrastructure updates. -- [Continuous Integration/Continuous Delivery](/cloud/guides/introduction-ci-cd/) (CI/CD) that automates building, testing, and deploying applications, and services. +- [Infrastructure as Code](/cloud/guides/introduction-to-infrastructure-as-code) (IaC), a methodology that stores all infrastructure configuration as code. +- [Merge Requests](/cloud/guides/resolving-git-merge-conflicts) (MRs) to serve as a change mechanism for infrastructure updates. +- [Continuous Integration/Continuous Delivery](/cloud/guides/introduction-ci-cd) (CI/CD) that automates building, testing, and deploying applications, and services. ## GitOps vs. DevOps diff --git a/docs/guides/applications/configuration-management/basics/introduction-to-hcl/index.md b/docs/guides/applications/configuration-management/basics/introduction-to-hcl/index.md index 983f97f555c..197601e59af 100644 --- a/docs/guides/applications/configuration-management/basics/introduction-to-hcl/index.md +++ b/docs/guides/applications/configuration-management/basics/introduction-to-hcl/index.md @@ -15,7 +15,7 @@ external_resources: aliases: [] --- -The HashiCorp Configuration Language (HCL) is a configuration language authored by [HashiCorp](https://www.hashicorp.com/). HCL is used with HashiCorp's cloud infrastructure automation tools, such as [Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/). The language was created with the goal of being both human and machine friendly. It is JSON compatible, which means it is interoperable with other systems outside of the Terraform product line. +The HashiCorp Configuration Language (HCL) is a configuration language authored by [HashiCorp](https://www.hashicorp.com/). HCL is used with HashiCorp's cloud infrastructure automation tools, such as [Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode). The language was created with the goal of being both human and machine friendly. It is JSON compatible, which means it is interoperable with other systems outside of the Terraform product line. This guide provides an introduction to HCL syntax, some commonly used HCL terminology, and how it works with Terraform. @@ -58,7 +58,7 @@ resource "linode_instance" "example_linode" { {{}} {{< note >}} -You should not include sensitive data in the resource declarations. For more information about secrets management, see [Secrets Management with Terraform](/cloud/guides/secrets-management-with-terraform/). +You should not include sensitive data in the resource declarations. For more information about secrets management, see [Secrets Management with Terraform](/cloud/guides/secrets-management-with-terraform). {{< /note >}} ### Key Elements of HCL @@ -140,7 +140,7 @@ module "linode-module-example" { } {{}} -Authoring modules involves defining resource requirements and parameterizing configurations using [input variables](#input-variables), variable files, and outputs. To learn how to write Terraform modules, see [Create a Terraform Module](/cloud/guides/create-terraform-module/). +Authoring modules involves defining resource requirements and parameterizing configurations using [input variables](#input-variables), variable files, and outputs. To learn how to write Terraform modules, see [Create a Terraform Module](/cloud/guides/create-terraform-module). ## Input Variables @@ -294,4 +294,4 @@ Terraform's official documentation has a list of [all available components](http ## Next Steps in Terraform -Now that you are familiar with HCL, you can begin creating a Linode instance with Terraform by following the [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) guide. +Now that you are familiar with HCL, you can begin creating a Linode instance with Terraform by following the [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode) guide. diff --git a/docs/guides/applications/configuration-management/basics/introduction-to-infrastructure-as-code/index.md b/docs/guides/applications/configuration-management/basics/introduction-to-infrastructure-as-code/index.md index 318a783d070..13bd6b52028 100644 --- a/docs/guides/applications/configuration-management/basics/introduction-to-infrastructure-as-code/index.md +++ b/docs/guides/applications/configuration-management/basics/introduction-to-infrastructure-as-code/index.md @@ -89,12 +89,12 @@ Because all devices share a common and consistent configuration, this could make Several *Continuous Configuration Automation* (CCA) software tools are available to assist with IaC deployments. Many of these tools are open source, and dependent on community content. -* [*Ansible*](https://www.ansible.com/) is a very popular open source IaC application from Red Hat. Although it is primarily used on, and with, Linux environments, it also supports Windows. Ansible is often used in conjunction with Kubernetes and Docker. Ansible supplies its own declarative language to define infrastructure, and operates without agents by connecting remotely using SSH. It uses configurable "inventory" text files, along with YAML playbooks, to express the configuration. Ansible is designed to be minimalist, secure, and reliable, and have low resource usage. Ansible's own declarative language is easy to learn and use and features the use of templates. Linode offers a collection of [several Ansible guides](/cloud/guides/applications/configuration-management/ansible/) for a more comprehensive overview. +* [*Ansible*](https://www.ansible.com/) is a very popular open source IaC application from Red Hat. Although it is primarily used on, and with, Linux environments, it also supports Windows. Ansible is often used in conjunction with Kubernetes and Docker. Ansible supplies its own declarative language to define infrastructure, and operates without agents by connecting remotely using SSH. It uses configurable "inventory" text files, along with YAML playbooks, to express the configuration. Ansible is designed to be minimalist, secure, and reliable, and have low resource usage. Ansible's own declarative language is easy to learn and use and features the use of templates. Linode offers a collection of [several Ansible guides](/cloud/guides/applications/configuration-management/ansible) for a more comprehensive overview. * [*Chef*](https://www.chef.io/) is an open source tool allowing clients to write configuration recipes in a Ruby-based *Domain Specific Language* (DSL). It is commonly used on Linux machines and interacts with most cloud platforms. Users specify the packages, services, and files for each device, and Chef configures, corrects, and validates the resources. * [*Otter*](https://inedo.com/otter) is a tool for modelling infrastructure and configuration on Windows platforms. -* [*Pulumi*](https://www.pulumi.com/) permits the use of a variety of programming languages to deploy and manage infrastructure within a cloud environment. This free open source IaC tool uses familiar IDEs and tools and facilitates sharing and collaboration. Linode has a [good introduction](/cloud/guides/deploy-in-code-with-pulumi/) to this application. -* [*Puppet*](https://puppet.com/) provides its own declarative language to describe configuration outcomes. Its model-driven solution allows for easy management of the entire IT-lifecycle, including deployment, configuration, and updates. Puppet uses high-level modelling, requires little programming knowledge, and works with most Linux distributions as well as Windows. A free open source version of this popular tool is available, along with a more powerful and advanced commercial version. Linode offers many [guides and resources for Puppet](/cloud/guides/applications/configuration-management/puppet/). -* [*Salt*](https://www.saltproject.io/), also known as SaltStack, is an open source solution for most platforms. Salt handles IT automation, configuration management, and remote-task execution. Its compartmentalized Python modules can be modified for specific use cases. In addition to the usual IaC tasks, SaltStack also supports security management and vulnerability mitigation. Linode offers a number of [Salt resources](/cloud/guides/applications/configuration-management/salt/), including a useful [introduction](/cloud/guides/beginners-guide-to-salt/). -* [*Terraform*](https://www.terraform.io/) allows users to provision data center infrastructure using either JSON or Terraform's own declarative language. Rather than offer its own configuration management services, Terraform manages resources through the use of providers, which are similar to APIs. Providers declare resources and requisition data sources, and are available for most major vendors. Providers are usually accessed through the [*Terraform Registry*](https://registry.terraform.io/browse/providers). The open source Terraform is available in free and commercial versions, and uses a modular approach to encourage reuse and maintainability. Consult Linode's extensive collection of [Terraform guides](/cloud/guides/applications/configuration-management/terraform/) for more information. +* [*Pulumi*](https://www.pulumi.com/) permits the use of a variety of programming languages to deploy and manage infrastructure within a cloud environment. This free open source IaC tool uses familiar IDEs and tools and facilitates sharing and collaboration. Linode has a [good introduction](/cloud/guides/deploy-in-code-with-pulumi) to this application. +* [*Puppet*](https://puppet.com/) provides its own declarative language to describe configuration outcomes. Its model-driven solution allows for easy management of the entire IT-lifecycle, including deployment, configuration, and updates. Puppet uses high-level modelling, requires little programming knowledge, and works with most Linux distributions as well as Windows. A free open source version of this popular tool is available, along with a more powerful and advanced commercial version. Linode offers many [guides and resources for Puppet](/cloud/guides/applications/configuration-management/puppet). +* [*Salt*](https://www.saltproject.io/), also known as SaltStack, is an open source solution for most platforms. Salt handles IT automation, configuration management, and remote-task execution. Its compartmentalized Python modules can be modified for specific use cases. In addition to the usual IaC tasks, SaltStack also supports security management and vulnerability mitigation. Linode offers a number of [Salt resources](/cloud/guides/applications/configuration-management/salt), including a useful [introduction](/cloud/guides/beginners-guide-to-salt). +* [*Terraform*](https://www.terraform.io/) allows users to provision data center infrastructure using either JSON or Terraform's own declarative language. Rather than offer its own configuration management services, Terraform manages resources through the use of providers, which are similar to APIs. Providers declare resources and requisition data sources, and are available for most major vendors. Providers are usually accessed through the [*Terraform Registry*](https://registry.terraform.io/browse/providers). The open source Terraform is available in free and commercial versions, and uses a modular approach to encourage reuse and maintainability. Consult Linode's extensive collection of [Terraform guides](/cloud/guides/applications/configuration-management/terraform) for more information. Wikipedia has summarized the main Infrastructure as Code CCA tools into [*a handy chart*](https://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software). It includes comparisons of basic properties and supported platforms, as well as a brief description of each tool. Linode also offers a guide that [compares Terraform and Ansible](/cloud/guides/terraform-vs-ansible), two of the most common IaC solutions. \ No newline at end of file diff --git a/docs/guides/applications/configuration-management/basics/terraform-vs-ansible/index.md b/docs/guides/applications/configuration-management/basics/terraform-vs-ansible/index.md index 437ac6ea0c3..ac6b6f89826 100644 --- a/docs/guides/applications/configuration-management/basics/terraform-vs-ansible/index.md +++ b/docs/guides/applications/configuration-management/basics/terraform-vs-ansible/index.md @@ -71,7 +71,7 @@ Operators typically move back and forth between the writing and planning stages Although Terraform is not a configuration management tool, it can be used with one for a more comprehensive solution. Terraform can provide the higher-level abstraction of the network, while a configuration management application can be used on the individual devices. Terraform can additionally be used to bootstrap configuration management software. Terraform Cloud is a commercial application that streamlines processes and supplies workspace capabilities. It is very handy for teams working together on the same network. -Linode has an extensive collection of [Terraform guides](/cloud/guides/applications/configuration-management/terraform/). These guides cover specific scenarios and explain how to install and use Terraform. +Linode has an extensive collection of [Terraform guides](/cloud/guides/applications/configuration-management/terraform). These guides cover specific scenarios and explain how to install and use Terraform. ## An Introduction to Ansible @@ -102,7 +102,7 @@ dbthree.example.com ### Ansible Tasks, Modules, and Playbooks -The main configuration activities in Ansible are expressed as tasks. These are the operations that take place on the target. A task can be either a one-off ad hoc command, or a call to a *module*. Modules are stand-alone script files that are usually written in Python, although Perl and Ruby can also be used. A module typically has a specific purpose, for example, managing a particular application. They are frequently grouped together into [*collections*](https://docs.ansible.com/ansible/latest/collections/index.html#list-of-collections) for easier access. Ansible ships with many default modules, and for easy deployment of your Linodes, there is a [Linode Ansible module](/cloud/guides/deploy-linodes-using-ansible/) too. +The main configuration activities in Ansible are expressed as tasks. These are the operations that take place on the target. A task can be either a one-off ad hoc command, or a call to a *module*. Modules are stand-alone script files that are usually written in Python, although Perl and Ruby can also be used. A module typically has a specific purpose, for example, managing a particular application. They are frequently grouped together into [*collections*](https://docs.ansible.com/ansible/latest/collections/index.html#list-of-collections) for easier access. Ansible ships with many default modules, and for easy deployment of your Linodes, there is a [Linode Ansible module](/cloud/guides/deploy-linodes-using-ansible) too. Ansible *Playbooks* group together related tasks, along with associated variables, for easier implementation. Playbooks are usually written in an easy, descriptive, human-readable language like YAML, or with a Jinja template. They might contain the desired layout of the network, configurations, deployment details, user IDs, and logins. Playbooks can map the hosts from the inventory files to roles, which are a special type of self-contained playbook consisting of Ansible functions. A playbook runs in sequential order, but can contain loops, control operators, and event handlers. It allows administrators to prompt for values, set variables and defaults, and use command results to determine the flow of the configuration. Playbooks have a mode for dry-run testing. @@ -128,7 +128,7 @@ Here is an example of a snippet from a playbook that updates an Apache server: Ansible can be used in one of several ways. It can work in a very simple manner, using ad-hoc commands. However it is more common to run Ansible Playbooks, which allow for a more extensive mix of instructions. Finally, there is the commercial Ansible Tower product. Tower offers features including a REST API, a web service console, scheduling operations, an access-control list (ACL), and one-button execution. Tower makes Ansible easier to use, and can serve as a hub for automation. Other commercial products include Ansible Galaxy, a repository of ready-to-use roles, and Ansible Vault, to enable encryption. -Linode has several [guides](/cloud/guides/applications/configuration-management/ansible/) to help you install Ansible and start using it to run ad hoc commands and deploy Linodes. +Linode has several [guides](/cloud/guides/applications/configuration-management/ansible) to help you install Ansible and start using it to run ad hoc commands and deploy Linodes. ## A Comparison Between Ansible and Terraform diff --git a/docs/guides/applications/configuration-management/basics/terraform-vs-pulumi/index.md b/docs/guides/applications/configuration-management/basics/terraform-vs-pulumi/index.md index 2d37ac48129..0910335ba20 100644 --- a/docs/guides/applications/configuration-management/basics/terraform-vs-pulumi/index.md +++ b/docs/guides/applications/configuration-management/basics/terraform-vs-pulumi/index.md @@ -70,7 +70,7 @@ It is not uncommon for users to go back and forth between the writing and planni Although Terraform is not a configuration management tool, it can be used in conjunction with one to provide an end-to-end solution. Terraform provides the higher-level layout of the network, while the configuration management tool operates on the individual devices. Another approach to integrate these components is to have Terraform bootstrap a configuration management service. Terraform offers the paid Terraform Cloud service, which is free for up to five people. Cloud streamlines the Terraform workflow and adds workspaces. It is designed for teams who are working together on the same network. -Linode offers several [Terraform guides](/cloud/guides/applications/configuration-management/terraform/), which explain how to install and use Terraform. +Linode offers several [Terraform guides](/cloud/guides/applications/configuration-management/terraform), which explain how to install and use Terraform. ## An Introduction to Pulumi @@ -127,7 +127,7 @@ Pulumi is not a configuration management tool. It works best in conjunction with Pulumi requires a paid account for more than one user. The paid Pulumi for Teams product delivers code sharing features, Git and Slack integration, and support for CI/CD deployments. Pulumi uses the Pulumi Console web-based service to manage concurrency, which reduces some complexity and helps with the learning curve. The Pulumi CLI uses this service by default, but you are allowed to manage the state yourself. -Linode provides a guide explaining how to [get started with Pulumi](/cloud/guides/deploy-in-code-with-pulumi/). The guide explains how to install and use the tool. +Linode provides a guide explaining how to [get started with Pulumi](/cloud/guides/deploy-in-code-with-pulumi). The guide explains how to install and use the tool. ## Comparing Terraform and Pulumi diff --git a/docs/guides/applications/configuration-management/basics/using-mktemp-command/index.md b/docs/guides/applications/configuration-management/basics/using-mktemp-command/index.md index f2dbe7837c5..441b7f8b8fe 100644 --- a/docs/guides/applications/configuration-management/basics/using-mktemp-command/index.md +++ b/docs/guides/applications/configuration-management/basics/using-mktemp-command/index.md @@ -10,7 +10,7 @@ keywords: ['mktemp', 'mktemp bash', 'mktemp directory', 'tmpdir'] tags: ['linux'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: -- '[Setting and Using Linux Environment Variables](/cloud/guides/how-to-set-linux-environment-variables/)' +- '[Setting and Using Linux Environment Variables](/cloud/guides/how-to-set-linux-environment-variables)' --- The `mktemp` command is used in Linux and BSD derivative operating systems to create temporary files or directories. The temporary filename and directories can be named using a user-defined "template". This utility is installed by default on major Linux distributions. @@ -134,7 +134,7 @@ mktemp -d --suffix TODAY ## The TMPDIR Environment Variable -The `TMPDIR` environmental variable enables you to specify a different path for you to store the temporary files. It is stored in a list that is available to applications and shell scripts. The `TMPDIR` variable permits many applications to know where the administrator has designated the storage of temporary directories, especially if the designation varies from the default use of the `/tmp` directory. The `/tmp` directory in some instances may be placed on special media like an SSD for speed purposes. To understand more on environment variables, see the Linode's guide on [Setting and Using Linux Environment Variables](/cloud/guides/how-to-set-linux-environment-variables/). +The `TMPDIR` environmental variable enables you to specify a different path for you to store the temporary files. It is stored in a list that is available to applications and shell scripts. The `TMPDIR` variable permits many applications to know where the administrator has designated the storage of temporary directories, especially if the designation varies from the default use of the `/tmp` directory. The `/tmp` directory in some instances may be placed on special media like an SSD for speed purposes. To understand more on environment variables, see the Linode's guide on [Setting and Using Linux Environment Variables](/cloud/guides/how-to-set-linux-environment-variables). On some Linux systems, the `TMPDIR` file is called or declared by `systemd-tempfiles`, a daemon that can be set to periodically clean files by creation date, or other attributes not covered in this guide. diff --git a/docs/guides/applications/configuration-management/basics/what-is-infrastructure-as-a-service/index.md b/docs/guides/applications/configuration-management/basics/what-is-infrastructure-as-a-service/index.md index f1b42defc35..a25628e4a67 100644 --- a/docs/guides/applications/configuration-management/basics/what-is-infrastructure-as-a-service/index.md +++ b/docs/guides/applications/configuration-management/basics/what-is-infrastructure-as-a-service/index.md @@ -93,7 +93,7 @@ Each IaaS deployment is unique, but the following high-level principles generall - Understand and be clear about the business requirements and the budget before proceeding with any deployments. - Carefully review and understand the policies of the cloud provider and their plans, packages, and products. Be clear about the capabilities of the virtualized infrastructure, including the throughput, storage, and memory/performance of each item. -- Consider how any existing databases and servers should be migrated using one of the techniques in the [Migration Strategies](/cloud/guides/what-is-infrastructure-as-a-service/#migration-strategies) section. +- Consider how any existing databases and servers should be migrated using one of the techniques in the [Migration Strategies](/cloud/guides/what-is-infrastructure-as-a-service#migration-strategies) section. - Attempt to reduce downtime. Schedule a maintenance window for the migration. - Test the new network before live deployment. - Consider how much storage and what storage types should be used. The main types of storage are [object storage](https://techdocs.akamai.com/cloud-computing/docs/use-cases-for-object-storage), file storage, and [block storage](https://techdocs.akamai.com/cloud-computing/docs/common-use-cases-for-block-storage). Object storage has become more popular recently because its distributed architecture fits well with the IaaS model. diff --git a/docs/guides/applications/configuration-management/basics/yaml-anchors-aliases-overrides-extensions/index.md b/docs/guides/applications/configuration-management/basics/yaml-anchors-aliases-overrides-extensions/index.md index b9ededec55d..24e5b0fd188 100644 --- a/docs/guides/applications/configuration-management/basics/yaml-anchors-aliases-overrides-extensions/index.md +++ b/docs/guides/applications/configuration-management/basics/yaml-anchors-aliases-overrides-extensions/index.md @@ -16,7 +16,7 @@ external_resources: --- -YAML anchors, aliases, overrides, and extensions help reduce the repetition of data in your YAML files. These features of YAML are discussed in this guide to take you beyond the basics covered in the [A YAML Syntax Reference](/cloud/guides/yaml-reference/) guide. +YAML anchors, aliases, overrides, and extensions help reduce the repetition of data in your YAML files. These features of YAML are discussed in this guide to take you beyond the basics covered in the [A YAML Syntax Reference](/cloud/guides/yaml-reference) guide. ## YAML Anchors and Aliases diff --git a/docs/guides/applications/configuration-management/basics/yaml-reference/index.md b/docs/guides/applications/configuration-management/basics/yaml-reference/index.md index 2580f7e41c9..1e31520eeac 100644 --- a/docs/guides/applications/configuration-management/basics/yaml-reference/index.md +++ b/docs/guides/applications/configuration-management/basics/yaml-reference/index.md @@ -14,7 +14,7 @@ external_resources: - '[A brief YAML reference](https://camel.readthedocs.io/en/latest/yamlref.html)' --- -YAML is a data interchange language commonly used in configuration files. It is used with configuration management tools like [Ansible](/cloud/guides/applications/configuration-management/ansible/) and container orchestration tools, like [Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/). YAML 1.2 is a superset of JSON, and is extensible with custom data types. Since YAML is very popular with automated builds and [continuous delivery](/cloud/guides/introduction-ci-cd/), you can find YAML files used through many public GitHub repositories. This reference guide serves as an introduction to YAML, and provides examples to clarify the language's characteristics. +YAML is a data interchange language commonly used in configuration files. It is used with configuration management tools like [Ansible](/cloud/guides/applications/configuration-management/ansible) and container orchestration tools, like [Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction). YAML 1.2 is a superset of JSON, and is extensible with custom data types. Since YAML is very popular with automated builds and [continuous delivery](/cloud/guides/introduction-ci-cd), you can find YAML files used through many public GitHub repositories. This reference guide serves as an introduction to YAML, and provides examples to clarify the language's characteristics. Consider the example snippet from a Kubernetes YAML file: @@ -31,7 +31,7 @@ This YAML file defines the version of the API in use, the kind of Kubernetes res ## Getting Started with YAML -YAML works across operating systems, virtual environments, and data platforms. It is used most often to control how systems operate. For instance, you can configure [GitHub Actions](/cloud/guides/kubernetes/) using YAML. The metadata you define in a GitHub Actions YAML file identifies the inputs and outputs needed to complete tasks in your GitHub repository. +YAML works across operating systems, virtual environments, and data platforms. It is used most often to control how systems operate. For instance, you can configure [GitHub Actions](/cloud/guides/kubernetes) using YAML. The metadata you define in a GitHub Actions YAML file identifies the inputs and outputs needed to complete tasks in your GitHub repository. You can also use YAML for data interchange. You might use YAML as a data format for transmission of an invoice, for recording the instantaneous state of a long-lasting game, or for communication between subsystems in complex physical machinery. diff --git a/docs/guides/applications/configuration-management/chef/beginners-guide-chef/index.md b/docs/guides/applications/configuration-management/chef/beginners-guide-chef/index.md index 130722ea2f1..c998485349e 100644 --- a/docs/guides/applications/configuration-management/chef/beginners-guide-chef/index.md +++ b/docs/guides/applications/configuration-management/chef/beginners-guide-chef/index.md @@ -11,8 +11,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Chef](http://www.chef.io)' - - '[Setting Up a Chef Server, Workstation, and Node on Ubuntu 18.04](/cloud/guides/install-a-chef-server-workstation-on-ubuntu-18-04/)' - - '[Creating Your First Chef Cookbook](/cloud/guides/creating-your-first-chef-cookbook/)' + - '[Setting Up a Chef Server, Workstation, and Node on Ubuntu 18.04](/cloud/guides/install-a-chef-server-workstation-on-ubuntu-18-04)' + - '[Creating Your First Chef Cookbook](/cloud/guides/creating-your-first-chef-cookbook)' tags: ["automation"] --- @@ -30,13 +30,13 @@ Chef works with three core components: These three components allow Chef to communicate in a mostly linear fashion, with any changes pushed from workstations to the Chef server, and then pulled from the server to the nodes and implemented on each node through the Chef client. In turn, information about the node passes to the server to determine which files are different from the current settings and need to be updated. -After reading this guide, if you wish to further explore implementing Chef, see [Setting Up a Chef Server, Workstation, and Node on Ubuntu 18.04](/cloud/guides/install-a-chef-server-workstation-on-ubuntu-18-04/) and [Creating Your First Chef Cookbook](/cloud/guides/creating-your-first-chef-cookbook/). +After reading this guide, if you wish to further explore implementing Chef, see [Setting Up a Chef Server, Workstation, and Node on Ubuntu 18.04](/cloud/guides/install-a-chef-server-workstation-on-ubuntu-18-04) and [Creating Your First Chef Cookbook](/cloud/guides/creating-your-first-chef-cookbook). ## The Chef Server The Chef server provides a communication pathway between the workstations where the infrastructure coding takes place, and the nodes that are configured by those workstations. All configuration files, cookbooks, metadata, and other information are created on workstations and stored on the Chef server. The Chef server also keeps a record of the state of all nodes at the time of the last [chef-client](#chef-client) run. -A workstation communicates with the Chef server using [*Knife*](/cloud/guides/beginners-guide-chef/#knife) and Chef command-line tools, while nodes communicate with the Chef server using the [Chef client](/cloud/guides/beginners-guide-chef/#chef-client). +A workstation communicates with the Chef server using [*Knife*](/cloud/guides/beginners-guide-chef#knife) and Chef command-line tools, while nodes communicate with the Chef server using the [Chef client](/cloud/guides/beginners-guide-chef#chef-client). Any changes made to your infrastructure code must pass through the Chef server to be applied to nodes. Prior to accepting or pushing changes, the Chef server authenticates all communication via its REST API using public key encryption. @@ -124,7 +124,7 @@ The chef-client must be run with elevated privileges to configure the node corre ### Run Lists -Run lists define which [recipes](/cloud/guides/beginners-guide-chef/#recipes) a Chef node will use. The run list is an ordered list of all [*roles*](http://docs.chef.io/server_manage_roles.html) and recipes chef-client needs to pull from the Chef server. Roles define patterns and attributes across nodes. +Run lists define which [recipes](/cloud/guides/beginners-guide-chef#recipes) a Chef node will use. The run list is an ordered list of all [*roles*](http://docs.chef.io/server_manage_roles.html) and recipes chef-client needs to pull from the Chef server. Roles define patterns and attributes across nodes. ### Ohai diff --git a/docs/guides/applications/configuration-management/chef/creating-your-first-chef-cookbook/index.md b/docs/guides/applications/configuration-management/chef/creating-your-first-chef-cookbook/index.md index cb91b65bfcf..1f2fb73d27a 100644 --- a/docs/guides/applications/configuration-management/chef/creating-your-first-chef-cookbook/index.md +++ b/docs/guides/applications/configuration-management/chef/creating-your-first-chef-cookbook/index.md @@ -24,11 +24,11 @@ Chef cookbooks describe the *desired state* of your nodes, and allow Chef to pus ## Before You Begin -1. Set up Chef with the [Setting Up a Chef Server, Workstation, and Node](/cloud/guides/install-a-chef-server-workstation-on-ubuntu-18-04/) guide. When following that guide, **choose Ubuntu 16.04 as your Linux image for the Chef node you will bootstrap and manage**. This guide will use the [MySQL Chef cookbook](https://supermarket.chef.io/cookbooks/mysql/), which does not yet support Ubuntu 18.04. +1. Set up Chef with the [Setting Up a Chef Server, Workstation, and Node](/cloud/guides/install-a-chef-server-workstation-on-ubuntu-18-04) guide. When following that guide, **choose Ubuntu 16.04 as your Linux image for the Chef node you will bootstrap and manage**. This guide will use the [MySQL Chef cookbook](https://supermarket.chef.io/cookbooks/mysql/), which does not yet support Ubuntu 18.04. 1. Once your node is bootstrapped, you can use a Chef cookbook to secure your node. Consider using the [Users](https://supermarket.chef.io/cookbooks/users) cookbook and the [Firewall](https://supermarket.chef.io/cookbooks/firewall) cookbook for this work. While this is not required to complete this guide, it is recommended. -1. You can also review [A Beginner's Guide to Chef](/cloud/guides/beginners-guide-chef/) to receive an overview on Chef concepts. +1. You can also review [A Beginner's Guide to Chef](/cloud/guides/beginners-guide-chef) to receive an overview on Chef concepts. 1. The examples in this tutorial require a user account with sudo privileges. Readers who use a limited user account will need to prefix commands with sudo when issuing commands to the Chef client node and replace `-x root` with `-x username` where `username` is your limited user account. @@ -184,7 +184,7 @@ This is not the recommended workflow for a production environment. You might con ### Configure Virtual Hosts -This configuration is based off of the [How to Install a LAMP Stack on Ubuntu 16.04](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/) guide. +This configuration is based off of the [How to Install a LAMP Stack on Ubuntu 16.04](/cloud/guides/install-lamp-stack-on-ubuntu-16-04) guide. 1. Because multiple websites may need to be configured, use Chef's attributes feature to define certain aspects of the virtual host file(s). The ChefDK has a built-in command to generate the attributes directory and `default.rb` file within a cookbook. Replace `~/chef-repo/cookbooks/lamp_stack` with your cookbook's path: @@ -477,7 +477,7 @@ Chef contains a feature known as *data bags*. Data bags store information, and c openssl rand -base64 512 > ~/chef-repo/.chef/encrypted_data_bag_secret -1. Upload this key to your node's `/etc/chef` directory, either manually by `scp` from the node (an example can be found in the [Setting Up Chef](/cloud/guides/install-a-chef-server-workstation-on-ubuntu-14-04/#add-the-rsa-private-keys) guide), or through the use of a recipe and cookbook file. +1. Upload this key to your node's `/etc/chef` directory, either manually by `scp` from the node (an example can be found in the [Setting Up Chef](/cloud/guides/install-a-chef-server-workstation-on-ubuntu-14-04#add-the-rsa-private-keys) guide), or through the use of a recipe and cookbook file. 1. On the workstation, create a `mysql` data bag that will contain the file `rtpass.json` for the root password: diff --git a/docs/guides/applications/configuration-management/chef/how-to-install-chef-on-ubuntu-20-04/index.md b/docs/guides/applications/configuration-management/chef/how-to-install-chef-on-ubuntu-20-04/index.md index 04771c8db22..e988c73be67 100644 --- a/docs/guides/applications/configuration-management/chef/how-to-install-chef-on-ubuntu-20-04/index.md +++ b/docs/guides/applications/configuration-management/chef/how-to-install-chef-on-ubuntu-20-04/index.md @@ -54,7 +54,7 @@ Chef uses an idiosyncratic terminology based on cooking vocabulary. Some of the - **Resource**: A resource is part of a recipe. It contains a type, name, and list of key-value pairs for a component. - **Test Kitchen**: This is a workstation module to help users test recipes before deployment. -Linode has a helpful [Beginner's Guide to Chef](/cloud/guides/beginners-guide-chef/). For detailed information about Chef, see the [Chef documentation](https://docs.chef.io/). Chef also makes the [Learn Chef](https://learn.chef.io/) training resource available. +Linode has a helpful [Beginner's Guide to Chef](/cloud/guides/beginners-guide-chef). For detailed information about Chef, see the [Chef documentation](https://docs.chef.io/). Chef also makes the [Learn Chef](https://learn.chef.io/) training resource available. ## Before You Begin @@ -75,7 +75,7 @@ Linode has a helpful [Beginner's Guide to Chef](/cloud/guides/beginners-guide-ch 1. Configure the host name of the Chef Server so it matches the domain name. This allows SSL certificate allocation to proceed normally. To set the host name of a Ubuntu server, use the command `sudo hostnamectl set-hostname `, replacing `` with the actual name of your domain. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install and Configure the Chef Server diff --git a/docs/guides/applications/configuration-management/chef/install-a-chef-server-workstation-on-ubuntu-14-04/index.md b/docs/guides/applications/configuration-management/chef/install-a-chef-server-workstation-on-ubuntu-14-04/index.md index eac58f79d61..28f69c92705 100644 --- a/docs/guides/applications/configuration-management/chef/install-a-chef-server-workstation-on-ubuntu-14-04/index.md +++ b/docs/guides/applications/configuration-management/chef/install-a-chef-server-workstation-on-ubuntu-14-04/index.md @@ -30,7 +30,7 @@ Chef is comprised of a Chef server, one or more workstations, and a number of no This guide will show users how to create and configure a Chef server, a virtual workstation, and how to bootstrap a node to run the chef-client, all on individual Linodes. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites diff --git a/docs/guides/applications/configuration-management/chef/install-a-chef-server-workstation-on-ubuntu-18-04/index.md b/docs/guides/applications/configuration-management/chef/install-a-chef-server-workstation-on-ubuntu-18-04/index.md index e1be4de616f..1bf7c8575b7 100644 --- a/docs/guides/applications/configuration-management/chef/install-a-chef-server-workstation-on-ubuntu-18-04/index.md +++ b/docs/guides/applications/configuration-management/chef/install-a-chef-server-workstation-on-ubuntu-18-04/index.md @@ -24,10 +24,10 @@ aliases: [] This guide will show you how to create and configure a Chef server and workstation. You will also bootstrap a node to manage with Chef. This work will require three individual Linodes. -See [A Beginner's Guide to Chef](/cloud/guides/beginners-guide-chef/) for an introduction to Chef concepts. +See [A Beginner's Guide to Chef](/cloud/guides/beginners-guide-chef) for an introduction to Chef concepts. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Prerequisites @@ -36,7 +36,7 @@ This guide is written for a non-root user. Commands that require elevated privil - Assign a Domain to the Chef server. Ensure your domain has a corresponding domain zone, NS record, and A/AAA record. See [Create a Domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) for details. - Ensure your Chef server's hostname is the same as its Domain name. Your Chef server will automatically create SSL certificates based on the Linode's hostname. - Two 2 GB Linodes, each running Ubuntu 18.04. One Linode will host a workstation and the other a node to be managed by Chef. -- The workstation and Chef server should be configured per the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Once your node is [bootstrapped](/cloud/guides/install-a-chef-server-workstation-on-ubuntu-18-04/#bootstrap-a-node), you can use a Chef cookbook to secure your node. Consider using the [Users](https://supermarket.chef.io/cookbooks/users) cookbook and the [Firewall](https://supermarket.chef.io/cookbooks/firewall) cookbook for this work. +- The workstation and Chef server should be configured per the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Once your node is [bootstrapped](/cloud/guides/install-a-chef-server-workstation-on-ubuntu-18-04#bootstrap-a-node), you can use a Chef cookbook to secure your node. Consider using the [Users](https://supermarket.chef.io/cookbooks/users) cookbook and the [Firewall](https://supermarket.chef.io/cookbooks/firewall) cookbook for this work. - Ensure that all servers are up-to-date: sudo apt update && sudo apt upgrade @@ -126,7 +126,7 @@ In this section, you will download and install the Chef Workstation package, whi ... {{}} -1. Create a `.chef` subdirectory. The `.chef` subdirectory will store your [Knife](/cloud/guides/beginners-guide-chef/#knife) configuration file and your `.pem` files that are used for RSA key pair authentication with the Chef server. Move into the `chef-repo` directory: +1. Create a `.chef` subdirectory. The `.chef` subdirectory will store your [Knife](/cloud/guides/beginners-guide-chef#knife) configuration file and your `.pem` files that are used for RSA key pair authentication with the Chef server. Move into the `chef-repo` directory: mkdir ~/chef-repo/.chef cd chef-repo diff --git a/docs/guides/applications/configuration-management/cloud-init/configure-and-secure-servers-with-cloud-init/index.md b/docs/guides/applications/configuration-management/cloud-init/configure-and-secure-servers-with-cloud-init/index.md index 9248a5bd022..a9e77608a49 100644 --- a/docs/guides/applications/configuration-management/cloud-init/configure-and-secure-servers-with-cloud-init/index.md +++ b/docs/guides/applications/configuration-management/cloud-init/configure-and-secure-servers-with-cloud-init/index.md @@ -91,11 +91,11 @@ users: However, the example is incomplete, since the user does not have a password or SSH key. You can create a password using the `passwd` option, but this is not recommended. Instead, you should set up an SSH key for the user, as shown in the next section. -For more on creating and managing users with cloud-init, refer to our guide [Use Cloud-Init to Manage Users on New Servers](/cloud/guides/manage-users-with-cloud-init/). The guide includes more information on setting up user passwords, should you need to. +For more on creating and managing users with cloud-init, refer to our guide [Use Cloud-Init to Manage Users on New Servers](/cloud/guides/manage-users-with-cloud-init). The guide includes more information on setting up user passwords, should you need to. ## Add an SSH Key to Your Limited User Account -Rather than using a password for access, the more secure approach is setting up your limited user, or users, with SSH key authentication. If you do not yet have an SSH key pair, get one by following the relevant section of our guide on how to [Use SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair). +Rather than using a password for access, the more secure approach is setting up your limited user, or users, with SSH key authentication. If you do not yet have an SSH key pair, get one by following the relevant section of our guide on how to [Use SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh#generate-an-ssh-key-pair). Once you have an SSH key pair, you can add an SSH public key to a user defined in the cloud-config with the `ssh_authorized_keys` option. The option accepts a list of SSH public keys to authorize for access to this user. @@ -116,9 +116,9 @@ users: To increase the security of SSH connections into your Compute Instance, you should generally disable password authentication and root logins via SSH. This way, access is restricted to limited users and connections authenticated by SSH key pairs. -By default, the cloud-config `users` setup assumes `lock_passwd: true`, automatically disabling password authentication. You can learn more about user setup and managing such features in our guide [Use Cloud-Init to Manage Users on New Servers](/cloud/guides/manage-users-with-cloud-init/). +By default, the cloud-config `users` setup assumes `lock_passwd: true`, automatically disabling password authentication. You can learn more about user setup and managing such features in our guide [Use Cloud-Init to Manage Users on New Servers](/cloud/guides/manage-users-with-cloud-init). -To disable root logins, you need to modify the SSH configuration file. Cloud-config does not have a direct option for this, but you can use its versatile `runcmd` key to automate the necessary commands. Learn more about the `runcmd` option in our guide [Use Cloud-Init to Run Commands and Bash Scripts on First Boot](/cloud/guides/run-shell-commands-with-cloud-init/). +To disable root logins, you need to modify the SSH configuration file. Cloud-config does not have a direct option for this, but you can use its versatile `runcmd` key to automate the necessary commands. Learn more about the `runcmd` option in our guide [Use Cloud-Init to Run Commands and Bash Scripts on First Boot](/cloud/guides/run-shell-commands-with-cloud-init). The example below removes any existing `PermitRootLogin` configuration and adds a new configuration disabling `PermitRootLogin`. The last command restarts the `sshd` service for the changes to take effect. @@ -141,9 +141,9 @@ service sshd restart ## Install Any Additional Required Software -With cloud-config's `packages` key, you can automate software installation and management as part of server initialization. For thorough coverage of cloud-init's package management features, and examples of how to use it, see our guide [Use Cloud-Init to Install and Update Software on New Servers](/cloud/guides/install-and-update-software-with-cloud-init/). +With cloud-config's `packages` key, you can automate software installation and management as part of server initialization. For thorough coverage of cloud-init's package management features, and examples of how to use it, see our guide [Use Cloud-Init to Install and Update Software on New Servers](/cloud/guides/install-and-update-software-with-cloud-init). -As a basic illustration, the snippet below shows how to install a set of software during instance initialization. The example installs software for a LEMP web stack (NGINX, MySQL, and PHP) a popular setup for web applications. You can learn more about LEMP stacks in our guide on how to [Install a LEMP Stack](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04/). +As a basic illustration, the snippet below shows how to install a set of software during instance initialization. The example installs software for a LEMP web stack (NGINX, MySQL, and PHP) a popular setup for web applications. You can learn more about LEMP stacks in our guide on how to [Install a LEMP Stack](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04). ```file {title="cloud-config.yaml" lang="yaml"} packages: @@ -220,7 +220,7 @@ There are three paths to deploy a new Compute Instance using your cloud-config i --metadata.user_data "$cloudconfigvar" ``` -- **Linode API**: Within the `instances/` endpoint of the API, you have access to a `metadata.user_data` option for inputting a cloud-config. Using this, you can initialize a new Compute Instance in a convenient `POST` request. Learn more about the Linode API in our documentation on the [Linode API](https://techdocs.akamai.com/linode-api/reference/api) and the [Linode Instances API](/cloud/api/linode-instances/) documentation. +- **Linode API**: Within the `instances/` endpoint of the API, you have access to a `metadata.user_data` option for inputting a cloud-config. Using this, you can initialize a new Compute Instance in a convenient `POST` request. Learn more about the Linode API in our documentation on the [Linode API](https://techdocs.akamai.com/linode-api/reference/api) and the [Linode Instances API](/cloud/api/linode-instances) documentation. With versatility being one of its main advantages, there are numerous ways to use the Linode API to deploy a server. The steps below show a simple approach using just the command line. This example is easily adaptable for other contexts as well. diff --git a/docs/guides/applications/configuration-management/cloud-init/install-and-update-software-with-cloud-init/index.md b/docs/guides/applications/configuration-management/cloud-init/install-and-update-software-with-cloud-init/index.md index 3ed2678e787..c65b00c67e0 100644 --- a/docs/guides/applications/configuration-management/cloud-init/install-and-update-software-with-cloud-init/index.md +++ b/docs/guides/applications/configuration-management/cloud-init/install-and-update-software-with-cloud-init/index.md @@ -16,7 +16,7 @@ external_resources: In this guide, learn how to manage packages on new servers using cloud-init. Whether you want to upgrade system packages, install packages during initialization, or manage your repositories, this tutorial shows you how. -Before getting started, you should review our guide on how to [Use Cloud-Init to Automatically Configure and Secure Your Servers](/cloud/guides/configure-and-secure-servers-with-cloud-init/). There, you can see how to create a cloud-config file, which you need to follow along with the present guide. When you are ready to deploy your cloud-config, the guide linked above shows you how. +Before getting started, you should review our guide on how to [Use Cloud-Init to Automatically Configure and Secure Your Servers](/cloud/guides/configure-and-secure-servers-with-cloud-init). There, you can see how to create a cloud-config file, which you need to follow along with the present guide. When you are ready to deploy your cloud-config, the guide linked above shows you how. ## Upgrade Packages @@ -46,7 +46,7 @@ To install packages with cloud-init, use the `packages` option in your cloud-con Below are examples installing the main components of a LAMP stack, a popular web application setup. Cloud-config requires exact package names, which can vary between distributions, as can the overall prerequisites for a setup. To demonstrate, the examples below show how the setup would look between two different distributions. -Learn more about the LAMP stack, and its package prerequisites, in our guide on [How to Install a LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/). Use the drop down at the top of that guide to see different distributions. +Learn more about the LAMP stack, and its package prerequisites, in our guide on [How to Install a LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04). Use the drop down at the top of that guide to see different distributions. {{< tabs >}} {{< tab "Ubuntu 22.04" >}} @@ -77,9 +77,9 @@ The `package_reboot_if_required` option covered in the previous section also aff ## Add Software Repositories -Among the more advanced package manager tools within cloud-init is the ability to add custom repositories during initialization. Cloud-init uses specific modules for managing different package managers, so the steps vary depending on your distribution. What follows covers two of the most popular: [APT](/cloud/guides/apt-package-manager/), most often found on Debian and Ubuntu systems, and [Yum](/cloud/guides/yum-package-manager/)/[DNF](/cloud/guides/dnf-package-manager/), mostly found on CentOS, Fedora, and other RHEL-based distributions. +Among the more advanced package manager tools within cloud-init is the ability to add custom repositories during initialization. Cloud-init uses specific modules for managing different package managers, so the steps vary depending on your distribution. What follows covers two of the most popular: [APT](/cloud/guides/apt-package-manager), most often found on Debian and Ubuntu systems, and [Yum](/cloud/guides/yum-package-manager)/[DNF](/cloud/guides/dnf-package-manager), mostly found on CentOS, Fedora, and other RHEL-based distributions. -Other than these, cloud-init also supports the [Zypper](/cloud/guides/zypper-package-manager/) package manager, used on openSUSE distributions. You can learn about adding repositories for Zypper in cloud-init's [Zypper Add Repo](https://cloudinit.readthedocs.io/en/latest/reference/modules.html#zypper-add-repo) module reference documentation. +Other than these, cloud-init also supports the [Zypper](/cloud/guides/zypper-package-manager) package manager, used on openSUSE distributions. You can learn about adding repositories for Zypper in cloud-init's [Zypper Add Repo](https://cloudinit.readthedocs.io/en/latest/reference/modules.html#zypper-add-repo) module reference documentation. {{< tabs >}} {{< tab "APT" >}} diff --git a/docs/guides/applications/configuration-management/cloud-init/manage-users-with-cloud-init/index.md b/docs/guides/applications/configuration-management/cloud-init/manage-users-with-cloud-init/index.md index 725ccdaae6d..45cc8d63c40 100644 --- a/docs/guides/applications/configuration-management/cloud-init/manage-users-with-cloud-init/index.md +++ b/docs/guides/applications/configuration-management/cloud-init/manage-users-with-cloud-init/index.md @@ -17,7 +17,7 @@ With Akamai's [Metadata](https://techdocs.akamai.com/cloud-computing/docs/overvi This guide details how to start working with users as part of your cloud-init deployments. Read on for cloud-config scripts to provision users, add SSH keys, and disable remote root access. -Before getting started, you should review our guide on how to [Use Cloud-Init to Automatically Configure and Secure Your Servers](/cloud/guides/configure-and-secure-servers-with-cloud-init/). There, you can see how to create a cloud-config file, which you need to follow the present guide. When you are ready to deploy your cloud-config, the guide linked above shows how. +Before getting started, you should review our guide on how to [Use Cloud-Init to Automatically Configure and Secure Your Servers](/cloud/guides/configure-and-secure-servers-with-cloud-init). There, you can see how to create a cloud-config file, which you need to follow the present guide. When you are ready to deploy your cloud-config, the guide linked above shows how. ## Create User @@ -96,7 +96,7 @@ By default, cloud-init creates and assigns each user to a self-named user group. ### Assigning Sudo Access -Cloud-init controls `sudo` access on users primarily through the `sudo` option. This option takes a list of `sudo` rule strings, just they appear in the `sudoers` file. You can learn more about `sudo` access and `sudo` rules in the appropriate sections of our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Cloud-init controls `sudo` access on users primarily through the `sudo` option. This option takes a list of `sudo` rule strings, just they appear in the `sudoers` file. You can learn more about `sudo` access and `sudo` rules in the appropriate sections of our [Linux Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. In the example below, a new `example-user` is created and given `sudo` access. The one rule applied allows the user to run any command as `sudo` after entering the user's password. This example also adds the user to the `sudo` user group. @@ -121,7 +121,7 @@ Alternatively, you can use the following `sudoers` rule to permit `sudo` access Using the `ssh_authorized_keys` option, you can authorize a list of SSH public keys for accessing a user remotely. Doing so provides a more secure authorization route than passwords, and so it is recommended over password configuration. -If you do not have an SSH key pair yet, get one by following the relevant section of our guide on how to [Use SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair). +If you do not have an SSH key pair yet, get one by following the relevant section of our guide on how to [Use SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh#generate-an-ssh-key-pair). Once you have the SSH key pair, you can add your SSH public key to the `ssh_authorized_keys` list in the user configuration. In this example, `example-user` has authorized access from two SSH keys: diff --git a/docs/guides/applications/configuration-management/cloud-init/run-shell-commands-with-cloud-init/index.md b/docs/guides/applications/configuration-management/cloud-init/run-shell-commands-with-cloud-init/index.md index cb6a4c3e153..70c30cafe40 100644 --- a/docs/guides/applications/configuration-management/cloud-init/run-shell-commands-with-cloud-init/index.md +++ b/docs/guides/applications/configuration-management/cloud-init/run-shell-commands-with-cloud-init/index.md @@ -17,7 +17,7 @@ Akamai's [Metadata](https://techdocs.akamai.com/cloud-computing/docs/overview-of This guide covers how to use cloud-init to run shell commands as part of server deployment. Whether you need to execute a single shell statement or a full Bash script, cloud-init can automatically run the necessary commands on your system's first boot. -Before getting started, review our guide on how to [Use Cloud-Init to Automatically Configure and Secure Your Servers](/cloud/guides/configure-and-secure-servers-with-cloud-init/). There, you can see how to create a cloud-config file, which you need to follow along with this guide. When you are ready to deploy your cloud-config, the guide linked above shows how. +Before getting started, review our guide on how to [Use Cloud-Init to Automatically Configure and Secure Your Servers](/cloud/guides/configure-and-secure-servers-with-cloud-init). There, you can see how to create a cloud-config file, which you need to follow along with this guide. When you are ready to deploy your cloud-config, the guide linked above shows how. ## Run Commands with `runcmd` Directive @@ -65,7 +65,7 @@ More than just commands, cloud-init's `runcmd` can be used to execute shell scri If your script is hosted and accessible remotely, the most straightforward solution is to use a `wget` command to download it. From there, you can use a `runcmd` command to execute the script. [Object Storage](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage) can provide an effective way to host script files. -However, most use cases favor adding the shell script directly as part of the cloud-init initialization, without hosting the script file elsewhere. In such cases, you can use cloud-init's `write_files` option to create the script file on initialization. To learn more about writing files with cloud-init, read our guide on how to [Use Cloud-Init to Write to a File](/cloud/guides/write-files-with-cloud-init/). The guide includes explanations of all the `write_files` options used here. +However, most use cases favor adding the shell script directly as part of the cloud-init initialization, without hosting the script file elsewhere. In such cases, you can use cloud-init's `write_files` option to create the script file on initialization. To learn more about writing files with cloud-init, read our guide on how to [Use Cloud-Init to Write to a File](/cloud/guides/write-files-with-cloud-init). The guide includes explanations of all the `write_files` options used here. The example that follows demonstrates how `write_files` and `runcmd` can operate together in your cloud-config to create and execute a shell script. `write_files` creates a simple script file at `/run/scripts/test-script.sh` and gives the script executable permissions. The script `content` runs with Bash and appends a line to the `/run/testing.txt` file. `runcmd` executes the `test-script.sh` file as a command. This example uses the `sh` command to run the shell script: diff --git a/docs/guides/applications/configuration-management/cloud-init/using-metadata-cloud-init-on-any-distribution/index.md b/docs/guides/applications/configuration-management/cloud-init/using-metadata-cloud-init-on-any-distribution/index.md index 81b857fe32a..5897a00fe1e 100644 --- a/docs/guides/applications/configuration-management/cloud-init/using-metadata-cloud-init-on-any-distribution/index.md +++ b/docs/guides/applications/configuration-management/cloud-init/using-metadata-cloud-init-on-any-distribution/index.md @@ -68,7 +68,7 @@ Akamai's Metadata service requires that an instance have cloud-init version 23.3 ``` {{< note >}} - The [PEP 668](https://peps.python.org/pep-0668/) specification attempts to prevent conflicts between Python packages installed via the OS package manager and PIP. The specification recommends installing packages with Pip in Python virtual environments, like [Virtualenv](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/#manage-virtual-environments-in-linux). + The [PEP 668](https://peps.python.org/pep-0668/) specification attempts to prevent conflicts between Python packages installed via the OS package manager and PIP. The specification recommends installing packages with Pip in Python virtual environments, like [Virtualenv](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux#manage-virtual-environments-in-linux). That approach does not work well with the cloud-init installer, so the steps here recommend overriding the specification. In our tests, this did not result in any issues, but be aware that the use of this option can impact the behavior of some Python packages. {{< /note >}} @@ -149,7 +149,7 @@ What follows is a summary of steps you can use to create a base image from the i ## Deploy an Instance with User-Data -With a base cloud-init image ready, you can deploy a new instance of the Metadata service and cloud-init user data whenever you need. Refer to our guide on how to [Deploy an Image to a New Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/deploy-an-image-to-a-new-compute-instance) for image deployment. Refer to our guide on how to [Use Cloud-Init to Automatically Configure and Secure Your Servers](/cloud/guides/configure-and-secure-servers-with-cloud-init/) for more on adding user data to new instances. +With a base cloud-init image ready, you can deploy a new instance of the Metadata service and cloud-init user data whenever you need. Refer to our guide on how to [Deploy an Image to a New Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/deploy-an-image-to-a-new-compute-instance) for image deployment. Refer to our guide on how to [Use Cloud-Init to Automatically Configure and Secure Your Servers](/cloud/guides/configure-and-secure-servers-with-cloud-init) for more on adding user data to new instances. The steps that follow walk you through a simple new deployment from a base cloud-init image. This includes a simple cloud-init user data script modeled on our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. diff --git a/docs/guides/applications/configuration-management/cloud-init/write-files-with-cloud-init/index.md b/docs/guides/applications/configuration-management/cloud-init/write-files-with-cloud-init/index.md index 7b727ade7a3..6b9c40c06fa 100644 --- a/docs/guides/applications/configuration-management/cloud-init/write-files-with-cloud-init/index.md +++ b/docs/guides/applications/configuration-management/cloud-init/write-files-with-cloud-init/index.md @@ -18,7 +18,7 @@ Akamai's [Metadata](https://techdocs.akamai.com/cloud-computing/docs/overview-of In this guide, learn how to use a cloud-config script to write files to your server during initialization. Automate the process of creating and editing files so that your software and system configurations are precisely as you need them from the start. -Before getting started, review our guide on how to [Use Cloud-Init to Automatically Configure and Secure Your Servers](/cloud/guides/configure-and-secure-servers-with-cloud-init/). There, you can see how to create a cloud-config file, which you need to follow along with this guide. When you are ready to deploy your cloud-config, the guide linked above details how. +Before getting started, review our guide on how to [Use Cloud-Init to Automatically Configure and Secure Your Servers](/cloud/guides/configure-and-secure-servers-with-cloud-init). There, you can see how to create a cloud-config file, which you need to follow along with this guide. When you are ready to deploy your cloud-config, the guide linked above details how. ## Write to a File @@ -50,13 +50,13 @@ The example defines a set of file contents as well as details like ownership and - `owner` optionally lets you define a user and/or group to assign ownership of the file to. The default is `root:root`. To specify a user and/or group created within the cloud-config script, you should use the `defer: true` option, as described further below, to ensure the user/group is created before the file. -- `permissions` optionally specifies the file's permissions. Use the format `0###` where `###` is an octal notation as used with `chmod`. You can learn more about permissions and octal notation in our guide on how to [Modify File Permissions with chmod](/cloud/guides/modify-file-permissions-with-chmod/#using-octal-notation-syntax-with-chmod). +- `permissions` optionally specifies the file's permissions. Use the format `0###` where `###` is an octal notation as used with `chmod`. You can learn more about permissions and octal notation in our guide on how to [Modify File Permissions with chmod](/cloud/guides/modify-file-permissions-with-chmod#using-octal-notation-syntax-with-chmod). Here, `permissions` gives the owner user read-write permission (`6--`), read permission for the user's group (`-4-`), and read permission for all other users (`--4`). An additional `defer` option can be useful when you want to delay creation of the file until the final stage of cloud-init's initialization. That way, you can ensure that a file is only created after all user creation and software installation. -Here is a further example showing that feature off by creating an [Apache Web Server](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) configuration. Using the `defer` option ensures that Apache is installed and the Apache user (typically `www-data` on Debian and Ubuntu) is created before the file. +Here is a further example showing that feature off by creating an [Apache Web Server](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04) configuration. Using the `defer` option ensures that Apache is installed and the Apache user (typically `www-data` on Debian and Ubuntu) is created before the file. ```file {title="cloud-config.yaml" lang="yaml"} write_files: @@ -92,7 +92,7 @@ When you need to modify a file, cloud-init has a couple of approaches to use: Otherwise, `write_files` can only provide modifications by recreating the files. In that case, you would need to copy the whole configuration with your desired modifications into your cloud-config script. -- The more approachable and maintainable solution is to use cloud-init's `runcmd` option to run `sed` commands on the server. `sed` provides text editing via shell commands, and `runcmd` lets you run shell commands from a cloud-init script. Learn more about using `runcmd` in our guide [Use Cloud-Init to Run Commands and Bash Scripts on First Boot](/cloud/guides/run-shell-commands-with-cloud-init/) and more about `sed` in our guide [Manipulate Text from the Command Line with sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed/). +- The more approachable and maintainable solution is to use cloud-init's `runcmd` option to run `sed` commands on the server. `sed` provides text editing via shell commands, and `runcmd` lets you run shell commands from a cloud-init script. Learn more about using `runcmd` in our guide [Use Cloud-Init to Run Commands and Bash Scripts on First Boot](/cloud/guides/run-shell-commands-with-cloud-init) and more about `sed` in our guide [Manipulate Text from the Command Line with sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed). The `runcmd` option takes a list of shell commands. In the example that follows, two shell commands run to change the SSH service configuration, similar to the example above. However, `sed` lets you replace existing settings, rather than just appending a new setting. diff --git a/docs/guides/applications/configuration-management/crossplane/getting-started-with-crossplane/index.md b/docs/guides/applications/configuration-management/crossplane/getting-started-with-crossplane/index.md index 68802563bd8..d883cc8d5de 100644 --- a/docs/guides/applications/configuration-management/crossplane/getting-started-with-crossplane/index.md +++ b/docs/guides/applications/configuration-management/crossplane/getting-started-with-crossplane/index.md @@ -61,7 +61,7 @@ With Linode, you can quickly deploy a Kubernetes cluster from the Cloud Manager. In addition to having an active Kubernetes cluster, you need kubectl configured to manage it. You can find this information covered in the LKE guide linked just above. -To install Helm on your system, follow the relevant section of our guide [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm). +To install Helm on your system, follow the relevant section of our guide [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3#install-helm). ### Deploying Crossplane with Helm @@ -158,7 +158,7 @@ The configurations and commands used in this guide add one or more Linode instan - Replace `${LINODE_API_TOKEN}` with your Linode API personal access token, which you can generate by following the relevant section of our guide on [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) - - Replace `${SSH_PUBLIC_KEY}` with a public SSH key to access the Linode Compute instance. Learn more about SSH keys in our guide [Using SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/). + - Replace `${SSH_PUBLIC_KEY}` with a public SSH key to access the Linode Compute instance. Learn more about SSH keys in our guide [Using SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh). ```file{title="deployment.yml" lang="yaml" hl_lines="8,11,37"} apiVersion: v1 diff --git a/docs/guides/applications/configuration-management/packer/deploy-packer-image-with-terraform/index.md b/docs/guides/applications/configuration-management/packer/deploy-packer-image-with-terraform/index.md index f1a7349567f..e85b5ab3b5d 100644 --- a/docs/guides/applications/configuration-management/packer/deploy-packer-image-with-terraform/index.md +++ b/docs/guides/applications/configuration-management/packer/deploy-packer-image-with-terraform/index.md @@ -16,7 +16,7 @@ external_resources: Both the Packer and Terraform tools by HashiCorp stand out for remarkable infrastructure-automating. Despite some overlap, the tools have distinct and complimentary features. This makes them an effective pair, with Packer used to create images that Terraform then deploys as a complete infrastructure. -Learn more about Packer in our [Using the Linode Packer Builder to Create Custom Images](/cloud/guides/how-to-use-linode-packer-builder/) guide. Discover how you can leverage Terraform in our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/). +Learn more about Packer in our [Using the Linode Packer Builder to Create Custom Images](/cloud/guides/how-to-use-linode-packer-builder) guide. Discover how you can leverage Terraform in our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform). In this tutorial, find out how to use Packer and Terraform together to deploy Linode instances. The tutorial uses the Linode Terraform provider to deploy several instances based on a Linode image built with Packer. @@ -27,7 +27,7 @@ In this tutorial, find out how to use Packer and Terraform together to deploy Li 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install the Prerequisites @@ -69,7 +69,7 @@ packer --version ### Installing Terraform -Terraform's installation process also varies depending on your operating system. Refer to HashiCorp's [official documentation](https://learn.hashicorp.com/tutorials/terraform/install-cli) on installing the Terraform CLI for systems that are not covered here. You can also refer to the section on installing Terraform in our guide [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform). +Terraform's installation process also varies depending on your operating system. Refer to HashiCorp's [official documentation](https://learn.hashicorp.com/tutorials/terraform/install-cli) on installing the Terraform CLI for systems that are not covered here. You can also refer to the section on installing Terraform in our guide [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform). ```command {title="Debian / Ubuntu"} @@ -110,7 +110,7 @@ Moreover, images are much more efficient. Rather than executing a series of inst The examples in this tutorial uses a Linode image built with Packer. Linode has a builder available for Packer, which lets you put together images specifically for a Linode instance. -To do so, follow along with our guide on [Using the Linode Packer Builder to Create Custom Images](/cloud/guides/how-to-use-linode-packer-builder/). By the end, you should have a Packer-built image on your Linode account. +To do so, follow along with our guide on [Using the Linode Packer Builder to Create Custom Images](/cloud/guides/how-to-use-linode-packer-builder). By the end, you should have a Packer-built image on your Linode account. The remaining steps in this tutorial should work no matter what kind of image you built following the guide linked above. However, the Packer image used in the examples to follow has the label `packer-linode-image-1`, runs on an Ubuntu 20.04 base, and has NGINX installed. @@ -118,7 +118,7 @@ The remaining steps in this tutorial should work no matter what kind of image yo Terraform focuses on automating the provisioning process, allowing you to deploy your infrastructure entirely from code. -To learn more about deploying Linode instances with Terraform, see our tutorial on how to [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/). +To learn more about deploying Linode instances with Terraform, see our tutorial on how to [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode). This tutorial covers a similar series of steps, but specifically demonstrates how you can work with custom Linode images. diff --git a/docs/guides/applications/configuration-management/packer/how-to-use-linode-packer-builder/index.md b/docs/guides/applications/configuration-management/packer/how-to-use-linode-packer-builder/index.md index 0e854a8d0fb..9152412104f 100644 --- a/docs/guides/applications/configuration-management/packer/how-to-use-linode-packer-builder/index.md +++ b/docs/guides/applications/configuration-management/packer/how-to-use-linode-packer-builder/index.md @@ -17,7 +17,7 @@ aliases: [] [Packer](https://www.packer.io/) is a HashiCorp maintained open source tool that is used to create machine images. A machine image provides the operating system, applications, application configurations, and data files that a virtual machine instance will run once it's deployed. Packer can be used in conjunction with common configuration management tools like Chef, Puppet, or Ansible to install software to your Linode and include those configurations into your image. -Packer *templates* store the configuration parameters used for building an image. This standardizes the imaging building process and ensures that everyone using that template file will always create an identical image. For instance, this can help your team maintain an [immutable infrastructure](/cloud/guides/what-is-immutable-infrastructure/) within your [continuous delivery](/cloud/guides/introduction-ci-cd/#what-is-continuous-delivery) pipeline. +Packer *templates* store the configuration parameters used for building an image. This standardizes the imaging building process and ensures that everyone using that template file will always create an identical image. For instance, this can help your team maintain an [immutable infrastructure](/cloud/guides/what-is-immutable-infrastructure) within your [continuous delivery](/cloud/guides/introduction-ci-cd#what-is-continuous-delivery) pipeline. ## The Linode Packer Builder @@ -202,7 +202,7 @@ Once the Packer build process completes, a new [Custom Image](https://techdocs.a Packer is extremely powerful and customizable tool for creating images. The first template outlined in this guide is a minimalist example and doesn't showcase the true potential of Packer. To take things further, this section will cover integrating Packer with Ansible. Ansible is one of many different options available for customizing an image in Packer. -Ansible is an automation tool for server provisioning, configuration, and management. Before continuing, follow the [Getting Started With Ansible - Basic Installation and Setup](/cloud/guides/getting-started-with-ansible/) guide to install Ansible and familiarize yourself with basic Ansible concepts. +Ansible is an automation tool for server provisioning, configuration, and management. Before continuing, follow the [Getting Started With Ansible - Basic Installation and Setup](/cloud/guides/getting-started-with-ansible) guide to install Ansible and familiarize yourself with basic Ansible concepts. ### Creating the Ansible Playbook @@ -281,7 +281,7 @@ Follow the previous sections for [building the image](#building-the-image) and [ If you'd like to learn how to use Terraform to deploy Linodes using your Packer created image, you can follow our Terraform guides to get started: -* [A Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/) -* [Create a Terraform Module](/cloud/guides/create-terraform-module/) -* [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) -* [Introduction to HashiCorp Configuration Language (HCL)](/cloud/guides/introduction-to-hcl/) +* [A Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform) +* [Create a Terraform Module](/cloud/guides/create-terraform-module) +* [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode) +* [Introduction to HashiCorp Configuration Language (HCL)](/cloud/guides/introduction-to-hcl) diff --git a/docs/guides/applications/configuration-management/puppet/getting-started-with-puppet-6-1-basic-installation-and-setup/index.md b/docs/guides/applications/configuration-management/puppet/getting-started-with-puppet-6-1-basic-installation-and-setup/index.md index c516b5d3a9d..512ea444f12 100644 --- a/docs/guides/applications/configuration-management/puppet/getting-started-with-puppet-6-1-basic-installation-and-setup/index.md +++ b/docs/guides/applications/configuration-management/puppet/getting-started-with-puppet-6-1-basic-installation-and-setup/index.md @@ -57,7 +57,7 @@ Throughout this guide, commands and code snippets will reference the values disp 1. [Set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) for each server. -1. [Set the FQDN](/cloud/guides/using-your-systems-hosts-file/) for each Linode by editing the servers' `/etc/hosts` files. +1. [Set the FQDN](/cloud/guides/using-your-systems-hosts-file) for each Linode by editing the servers' `/etc/hosts` files. {{< note type="secondary" title="Example content for the hosts file" isCollapsible=true >}} You can model the contents of your `/etc/hosts` files on these snippets: diff --git a/docs/guides/applications/configuration-management/puppet/install-and-configure-puppet/index.md b/docs/guides/applications/configuration-management/puppet/install-and-configure-puppet/index.md index e2c6fce37bd..ad2dbe0fa65 100644 --- a/docs/guides/applications/configuration-management/puppet/install-and-configure-puppet/index.md +++ b/docs/guides/applications/configuration-management/puppet/install-and-configure-puppet/index.md @@ -62,7 +62,7 @@ If you wish to run another Linux distribution as your master server, the initial `wget https://apt.puppet.com/puppetlabs-release-pc1-VERSION.deb` -Any Ubuntu-specific commands will then have to be amended for the proper distribution. More information can be found in [Puppet's Installation Documentation](https://docs.puppet.com/puppet/4.0/reference/install_linux.html#install-a-release-package-to-enable-puppet-labs-package-repositories) or our guide to [package management](/cloud/guides/linux-package-management-overview/). +Any Ubuntu-specific commands will then have to be amended for the proper distribution. More information can be found in [Puppet's Installation Documentation](https://docs.puppet.com/puppet/4.0/reference/install_linux.html#install-a-release-package-to-enable-puppet-labs-package-repositories) or our guide to [package management](/cloud/guides/linux-package-management-overview). {{< /note >}} 2. Install the `puppetmaster-passenger` package: diff --git a/docs/guides/applications/configuration-management/puppet/install-and-manage-mysql-databases-with-puppet-hiera-on-ubuntu-16-04/index.md b/docs/guides/applications/configuration-management/puppet/install-and-manage-mysql-databases-with-puppet-hiera-on-ubuntu-16-04/index.md index 1edc6aa1c3a..fbb6c3b7105 100644 --- a/docs/guides/applications/configuration-management/puppet/install-and-manage-mysql-databases-with-puppet-hiera-on-ubuntu-16-04/index.md +++ b/docs/guides/applications/configuration-management/puppet/install-and-manage-mysql-databases-with-puppet-hiera-on-ubuntu-16-04/index.md @@ -31,7 +31,7 @@ deprecated_link: 'applications/configuration-management/install-and-manage-mysql In this guide, you'll use Puppet to deploy [modules](https://docs.puppet.com/puppet/latest/modules_fundamentals.html) on your server. At the end, you will have MySQL installed, configured, and ready to use for a variety of applications that require a database backend. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -42,7 +42,7 @@ This guide is written for a non-root user. Commands that require elevated privil ## Install and Configure Puppet -Follow these steps to set up Puppet for single-host, local-only deployment. If you need to configure more than one server or to deploy a Puppet master, follow our [multi-server Puppet guide](/cloud/guides/install-and-configure-puppet/). +Follow these steps to set up Puppet for single-host, local-only deployment. If you need to configure more than one server or to deploy a Puppet master, follow our [multi-server Puppet guide](/cloud/guides/install-and-configure-puppet). ### Install the Puppet Package @@ -75,7 +75,7 @@ Follow these steps to set up Puppet for single-host, local-only deployment. If y ### Puppet MySQL Manifest -This guide uses a Puppet *manifest* to provide Puppet with installation and configuration instructions. Alternatively, you can configure [a Puppet master](/cloud/guides/install-and-configure-puppet/). +This guide uses a Puppet *manifest* to provide Puppet with installation and configuration instructions. Alternatively, you can configure [a Puppet master](/cloud/guides/install-and-configure-puppet). While the entirety of a Puppet *manifest* can contain the desired configuration for a host, values for Puppet *classes* or *types* can also be defined in a Hiera configuration file to simplify writing Puppet manifests in most cases. In this example, the `mysql::server` class parameters will be defined in Hiera, but the class must first be applied to the host. diff --git a/docs/guides/applications/configuration-management/puppet/install-and-manage-mysql-databases-with-puppet-hiera-on-ubuntu-18-04/index.md b/docs/guides/applications/configuration-management/puppet/install-and-manage-mysql-databases-with-puppet-hiera-on-ubuntu-18-04/index.md index 45aebcd4855..b9f737d42be 100644 --- a/docs/guides/applications/configuration-management/puppet/install-and-manage-mysql-databases-with-puppet-hiera-on-ubuntu-18-04/index.md +++ b/docs/guides/applications/configuration-management/puppet/install-and-manage-mysql-databases-with-puppet-hiera-on-ubuntu-18-04/index.md @@ -27,7 +27,7 @@ aliases: [] In this guide, you'll use Puppet to deploy [modules](https://docs.puppet.com/puppet/latest/modules_fundamentals.html) on your server. At the end, you will have MySQL installed, configured, and ready to use for a variety of applications that require a database backend. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -38,7 +38,7 @@ This guide is written for a non-root user. Commands that require elevated privil ## Install and Configure Puppet -Follow these steps to set up Puppet for single-host, local-only deployment. If you need to configure more than one server or to deploy a Puppet master, follow our [multi-server Puppet guide](/cloud/guides/install-and-configure-puppet/). +Follow these steps to set up Puppet for single-host, local-only deployment. If you need to configure more than one server or to deploy a Puppet master, follow our [multi-server Puppet guide](/cloud/guides/install-and-configure-puppet). ### Install the Puppet Package @@ -69,7 +69,7 @@ Follow these steps to set up Puppet for single-host, local-only deployment. If y ### Puppet MySQL Manifest -This guide uses a Puppet *manifest* to provide Puppet with installation and configuration instructions. Alternatively, you can configure [a Puppet master](/cloud/guides/install-and-configure-puppet/). +This guide uses a Puppet *manifest* to provide Puppet with installation and configuration instructions. Alternatively, you can configure [a Puppet master](/cloud/guides/install-and-configure-puppet). While the entirety of a Puppet *manifest* can contain the desired configuration for a host, values for Puppet *classes* or *types* can also be defined in a Hiera configuration file to simplify writing Puppet manifests in most cases. In this example, the `mysql::server` class parameters will be defined in Hiera, but the class must first be applied to the host. diff --git a/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/index.md b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/index.md index 6c02ad58bf9..0d4a002ce97 100644 --- a/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/index.md +++ b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/index.md @@ -25,7 +25,7 @@ In this guide, you will create an Apache and a PHP module. A MySQL module will b ## Before You Begin -Set up a Puppet Master (Ubuntu 18.04) and two Puppet agents (Ubuntu 18.04 and CentOS 7) by following the steps in the [Getting Started with Puppet - Basic Installation and Setup](/cloud/guides/getting-started-with-puppet-6-1-basic-installation-and-setup/) guide. +Set up a Puppet Master (Ubuntu 18.04) and two Puppet agents (Ubuntu 18.04 and CentOS 7) by following the steps in the [Getting Started with Puppet - Basic Installation and Setup](/cloud/guides/getting-started-with-puppet-6-1-basic-installation-and-setup) guide. ## Create the Apache Module @@ -334,9 +334,9 @@ include apache::vhosts cd /etc/puppetlabs/code/environments/production/manifests - If you are continuing this guide from the [Getting Started with Puppet - Basic Installation and Setup](/cloud/guides/getting-started-with-puppet-6-1-basic-installation-and-setup/) guide, you should have a `site.pp` file already created. If not, create one now. + If you are continuing this guide from the [Getting Started with Puppet - Basic Installation and Setup](/cloud/guides/getting-started-with-puppet-6-1-basic-installation-and-setup) guide, you should have a `site.pp` file already created. If not, create one now. -1. Open `site.pp` and include the Apache module for each agent node. Also input the variables for the `adminemail` and `servername` parameters. If you followed the [Getting Started with Puppet - Basic Installation and Setup](/cloud/guides/getting-started-with-puppet-6-1-basic-installation-and-setup/) guide, a single node configuration within `site.pp` will resemble the following: +1. Open `site.pp` and include the Apache module for each agent node. Also input the variables for the `adminemail` and `servername` parameters. If you followed the [Getting Started with Puppet - Basic Installation and Setup](/cloud/guides/getting-started-with-puppet-6-1-basic-installation-and-setup) guide, a single node configuration within `site.pp` will resemble the following: {{< file "/etc/puppetlabs/code/environments/production/manifests/site.pp" puppet >}} node 'ubuntuhost.example.com' { @@ -383,7 +383,7 @@ node 'centoshost.example.com' { {{< /file >}} - If you did not follow the [Getting Started with Puppet - Basic Installation and Setup](/cloud/guides/getting-started-with-puppet-6-1-basic-installation-and-setup/) guide, then your `site.pp` file should resemble the following example: + If you did not follow the [Getting Started with Puppet - Basic Installation and Setup](/cloud/guides/getting-started-with-puppet-6-1-basic-installation-and-setup) guide, then your `site.pp` file should resemble the following example: {{< file "/etc/puppetlabs/code/environments/production/manifests/site.pp" puppet >}} node 'ubupuppet.ip.linodeusercontent.com' { diff --git a/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/index.md b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/index.md index 997c4afa378..96d3486c14b 100644 --- a/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/index.md +++ b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/index.md @@ -25,7 +25,7 @@ Within Puppet, modules are the building blocks of your servers' configurations. In this guide, Apache and PHP modules will be created from scratch, and a MySQL module will be adapted from the Puppet Lab's MySQL module found on the [Puppet Forge](https://forge.puppet.com/). These steps will create a full LAMP stack on your server and provide an overview of the various ways modules can be utilized. {{< note >}} -This guide assumes that you are working from an Ubuntu 14.04 LTS Puppet master and CentOS 7 and Ubuntu 14.04 nodes, configured in the [Puppet Setup](/cloud/guides/install-and-configure-puppet/) guide. If using a different setup, please adapt the guide accordingly. +This guide assumes that you are working from an Ubuntu 14.04 LTS Puppet master and CentOS 7 and Ubuntu 14.04 nodes, configured in the [Puppet Setup](/cloud/guides/install-and-configure-puppet) guide. If using a different setup, please adapt the guide accordingly. {{< /note >}} ## Create the Apache Module @@ -378,9 +378,9 @@ include apache::vhosts It should return no errors, and output that it will trigger refreshes from events. To install and configure apache on the Puppet master, this can be run again without `--noop` , if so desired. -4. Navigate back to the main Puppet directory and then to the `manifests` folder (**not** the one located in the Apache module). If you are continuing this guide from the [Puppet Setup](/cloud/guides/install-and-configure-puppet/) guide, you should have a `site.pp` file already created. If not, create one now. +4. Navigate back to the main Puppet directory and then to the `manifests` folder (**not** the one located in the Apache module). If you are continuing this guide from the [Puppet Setup](/cloud/guides/install-and-configure-puppet) guide, you should have a `site.pp` file already created. If not, create one now. -5. Open `site.pp` and include the Apache module for each agent node. Also input the variables for the `adminemail` and `servername` parameters. If you followed the [Puppet Setup](/cloud/guides/install-and-configure-puppet/) guide, a single node configuration within `site.pp` will resemble the following: +5. Open `site.pp` and include the Apache module for each agent node. Also input the variables for the `adminemail` and `servername` parameters. If you followed the [Puppet Setup](/cloud/guides/install-and-configure-puppet) guide, a single node configuration within `site.pp` will resemble the following: {{< file "/etc/puppet/manifests/site.pp" puppet >}} node 'ubuntuhost.example.com' { diff --git a/docs/guides/applications/configuration-management/salt/automate-a-static-site-deployment-with-salt/index.md b/docs/guides/applications/configuration-management/salt/automate-a-static-site-deployment-with-salt/index.md index f204c33650f..e9325c65c5a 100644 --- a/docs/guides/applications/configuration-management/salt/automate-a-static-site-deployment-with-salt/index.md +++ b/docs/guides/applications/configuration-management/salt/automate-a-static-site-deployment-with-salt/index.md @@ -49,7 +49,7 @@ The workflow described in this guide is similar to how Linode's own [Guides & Tu Development of your Hugo site and your Salt formula will take place on your personal computer. Some software will need to be installed on your computer first: -1. Install Git using one of the methods in [Linode's guide](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/). If you have a Mac, use the Homebrew method, as it will also be used to install Hugo. +1. Install Git using one of the methods in [Linode's guide](/cloud/guides/how-to-install-git-on-linux-mac-and-windows). If you have a Mac, use the Homebrew method, as it will also be used to install Hugo. 1. Install Hugo. The [Hugo documentation](https://gohugo.io/getting-started/installing/) has a full list of installation methods, and instructions for some popular platforms are as follows: @@ -246,7 +246,7 @@ nginx_service: - pkg: nginx_pkg {{< /file >}} - This state says that the `nginx` service should be immediately run and be enabled to run at boot. For a Debian 9 system, Salt will set the appropriate [systemd](/cloud/guides/what-is-systemd/) configurations to enable the service. Salt also supports other init systems. + This state says that the `nginx` service should be immediately run and be enabled to run at boot. For a Debian 9 system, Salt will set the appropriate [systemd](/cloud/guides/what-is-systemd) configurations to enable the service. Salt also supports other init systems. The `require` lines specify that this state component should not be applied until after the `nginx_pkg` component has been applied. @@ -836,7 +836,7 @@ webhook_config: - group: hugo_group {{< /file >}} - The first state creates a [systemd unit file](/cloud/guides/introduction-to-systemctl/) for the webhook service. The second state creates a webhook configuration. The webhook server reads the configuration and generates a webhook URL from it. + The first state creates a [systemd unit file](/cloud/guides/introduction-to-systemctl) for the webhook service. The second state creates a webhook configuration. The webhook server reads the configuration and generates a webhook URL from it. 1. Create a `webhook.service` file in your repository's `files/` directory: diff --git a/docs/guides/applications/configuration-management/salt/beginners-guide-to-salt/index.md b/docs/guides/applications/configuration-management/salt/beginners-guide-to-salt/index.md index 315284b71e7..8e55ee52664 100644 --- a/docs/guides/applications/configuration-management/salt/beginners-guide-to-salt/index.md +++ b/docs/guides/applications/configuration-management/salt/beginners-guide-to-salt/index.md @@ -61,7 +61,7 @@ The execution modules that Salt makes available represent system administration - Editing or creating configuration [files](https://docs.saltproject.io/en/latest/ref/modules/all/salt.modules.file.html#module-salt.modules.file) {{< note >}} -You can also [write your own](/cloud/guides/create-a-salt-execution-module/) execution modules. +You can also [write your own](/cloud/guides/create-a-salt-execution-module) execution modules. {{< /note >}} ### cmd.run @@ -326,6 +326,6 @@ Beacons can trigger [reactors](https://docs.saltproject.io/en/latest/topics/reac ## Getting Started with Salt -Now that you're familiar with some of Salt's basic terminology and components, move on to our guide [Getting Started with Salt - Basic Installation and Setup](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/) to set up a configuration to start running commands and provisioning minion servers. +Now that you're familiar with some of Salt's basic terminology and components, move on to our guide [Getting Started with Salt - Basic Installation and Setup](/cloud/guides/getting-started-with-salt-basic-installation-and-setup) to set up a configuration to start running commands and provisioning minion servers. The SaltStack documentation also contains a page of [best practices](https://docs.saltproject.io/en/latest/topics/best_practices.html) to be mindful of when working with Salt. You should review this page and implement those practices into your own workflow whenever possible. diff --git a/docs/guides/applications/configuration-management/salt/configure-and-use-salt-cloud-and-cloud-maps-to-provision-systems/index.md b/docs/guides/applications/configuration-management/salt/configure-and-use-salt-cloud-and-cloud-maps-to-provision-systems/index.md index d5da0369191..d563d003854 100644 --- a/docs/guides/applications/configuration-management/salt/configure-and-use-salt-cloud-and-cloud-maps-to-provision-systems/index.md +++ b/docs/guides/applications/configuration-management/salt/configure-and-use-salt-cloud-and-cloud-maps-to-provision-systems/index.md @@ -151,7 +151,7 @@ provider: my-linode-provider master: mymaster.example.com {{< /file >}} -3. Set up [SSH key authentication](/cloud/guides/use-public-key-authentication-with-ssh/) for your instance. To do this during provisioning, set up the profile as follows, replacing the `ssh_pubkey` and `ssh_key_file` with key information for an SSH key on your master server: +3. Set up [SSH key authentication](/cloud/guides/use-public-key-authentication-with-ssh) for your instance. To do this during provisioning, set up the profile as follows, replacing the `ssh_pubkey` and `ssh_key_file` with key information for an SSH key on your master server: {{< file "/etc/salt/cloud.profiles.d/linode-london-1gb.conf" conf >}} linode_1gb_with_ssh_key: diff --git a/docs/guides/applications/configuration-management/salt/configure-and-use-salt-ssh/index.md b/docs/guides/applications/configuration-management/salt/configure-and-use-salt-ssh/index.md index 498aeeaeb9b..39046aaf69a 100644 --- a/docs/guides/applications/configuration-management/salt/configure-and-use-salt-ssh/index.md +++ b/docs/guides/applications/configuration-management/salt/configure-and-use-salt-ssh/index.md @@ -32,7 +32,7 @@ Please note: Because it uses SSH, Salt SSH is slower than standard Salt with Zer $rpm -q salt-ssh {{< note respectIndent=false >}} -For detailed instruction on how to set up SaltStack repo, please refer to the [Salt Stack Installation Guide](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/) +For detailed instruction on how to set up SaltStack repo, please refer to the [Salt Stack Installation Guide](/cloud/guides/getting-started-with-salt-basic-installation-and-setup) {{< /note >}} 3. Your minions must have Python installed. Without Python installed on minions, you will only be able to run Salt SSH in raw mode. In raw mode, a raw shell command cannot use execution modules or apply Salt states. If you're running a modern version of CentOS/RedHat, you already have Python installed on your systems diff --git a/docs/guides/applications/configuration-management/salt/configure-apache-with-salt-stack/index.md b/docs/guides/applications/configuration-management/salt/configure-apache-with-salt-stack/index.md index d32d2578bd5..a33c7c8db11 100644 --- a/docs/guides/applications/configuration-management/salt/configure-apache-with-salt-stack/index.md +++ b/docs/guides/applications/configuration-management/salt/configure-apache-with-salt-stack/index.md @@ -22,12 +22,12 @@ Salt is a powerful configuration management tool. In this guide you will create ## Before You Begin -You will need at least two Linodes with Salt installed. If you have not already, read our [Getting Started with Salt - Basic Installation and Setup Guide](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/) and follow the instructions for setting up a Salt master and minion. +You will need at least two Linodes with Salt installed. If you have not already, read our [Getting Started with Salt - Basic Installation and Setup Guide](/cloud/guides/getting-started-with-salt-basic-installation-and-setup) and follow the instructions for setting up a Salt master and minion. The following steps will be performed on your Salt master. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Setting Up Your Salt Master and Managed Files @@ -109,7 +109,7 @@ MaxRequestsPerChild 4500 {{}} - This MPM prefork module provides additional [tuning for your Apache installation](/cloud/guides/tuning-your-apache-server/). This file will be managed by Salt and installed into the appropriate configuration directory in a later step. + This MPM prefork module provides additional [tuning for your Apache installation](/cloud/guides/tuning-your-apache-server). This file will be managed by Salt and installed into the appropriate configuration directory in a later step. 1. If you will be installing Apache on a CentOS machine, create a file called `include_sites_enabled.conf` in `/srv/salt/files` and paste in the following: @@ -123,7 +123,7 @@ IncludeOptional sites-enabled/*.conf ### Individual Steps -This guide will be going through the process of creating the Apache for Debian and Ubuntu state file step by step. If you would like to view the entirety of the state file, [you can view it at the end of this section](/cloud/guides/configure-apache-with-salt-stack/#complete-state-file). +This guide will be going through the process of creating the Apache for Debian and Ubuntu state file step by step. If you would like to view the entirety of the state file, [you can view it at the end of this section](/cloud/guides/configure-apache-with-salt-stack#complete-state-file). 1. Create a state file named `apache-debian.sls` in `/srv/salt` and open it in a text editor of your choice. @@ -185,7 +185,7 @@ Enable tune_apache: ... {{< /file >}} - This step takes the `tune_apache.conf` file you created in the [Configuration Files](/cloud/guides/configure-apache-with-salt-stack/#configuration-files) step and transfers it to your Salt minion. Then, Salt enables that configuration file with the [apache_conf module](https://docs.saltstack.com/en/latest/ref/states/all/salt.states.apache_conf.html). + This step takes the `tune_apache.conf` file you created in the [Configuration Files](/cloud/guides/configure-apache-with-salt-stack#configuration-files) step and transfers it to your Salt minion. Then, Salt enables that configuration file with the [apache_conf module](https://docs.saltstack.com/en/latest/ref/states/all/salt.states.apache_conf.html). 1. Create the necessary directories: diff --git a/docs/guides/applications/configuration-management/salt/create-a-salt-execution-module/index.md b/docs/guides/applications/configuration-management/salt/create-a-salt-execution-module/index.md index f4fd0d022e2..fb6cd70bf44 100644 --- a/docs/guides/applications/configuration-management/salt/create-a-salt-execution-module/index.md +++ b/docs/guides/applications/configuration-management/salt/create-a-salt-execution-module/index.md @@ -20,10 +20,10 @@ A Salt *execution module* is a Python module that runs on a Salt minion. It perf ## Before You Begin -If you haven't already, set up a Salt master and at least one Salt minion. You can follow the first few steps of our [Getting Started with Salt - Basic Installation and Setup](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/) guide. +If you haven't already, set up a Salt master and at least one Salt minion. You can follow the first few steps of our [Getting Started with Salt - Basic Installation and Setup](/cloud/guides/getting-started-with-salt-basic-installation-and-setup) guide. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prepare Salt diff --git a/docs/guides/applications/configuration-management/salt/introduction-to-jinja-templates-for-salt/index.md b/docs/guides/applications/configuration-management/salt/introduction-to-jinja-templates-for-salt/index.md index 15d6ed502ad..0faac1959d7 100644 --- a/docs/guides/applications/configuration-management/salt/introduction-to-jinja-templates-for-salt/index.md +++ b/docs/guides/applications/configuration-management/salt/introduction-to-jinja-templates-for-salt/index.md @@ -22,7 +22,7 @@ Jinja is a flexible templating language for Python that can be used to generate Templating languages are well known within the context of creating web pages in a *Model View Controller* architecture. In this scenario the template engine processes source data, like the data found in a database, and a web template that includes a mixture of HTML and the templating language. These two pieces are then used to generate the final web page for users to consume. Templating languages, however, are not limited to web pages. Salt, a popular Python based configuration management software, supports Jinja to allow for abstraction and reuse within Salt state files and regular files. -This guide will provide an overview of the Jinja templating language used primarily within Salt. If you are not yet familiar with Salt concepts, review the [Beginner's Guide to Salt](/cloud/guides/beginners-guide-to-salt/) before continuing. While you will not be creating Salt states of your own in this guide, it is also helpful to review the [Getting Started with Salt - Basic Installation and Setup](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/) guide. +This guide will provide an overview of the Jinja templating language used primarily within Salt. If you are not yet familiar with Salt concepts, review the [Beginner's Guide to Salt](/cloud/guides/beginners-guide-to-salt) before continuing. While you will not be creating Salt states of your own in this guide, it is also helpful to review the [Getting Started with Salt - Basic Installation and Setup](/cloud/guides/getting-started-with-salt-basic-installation-and-setup) guide. ## Jinja Basics diff --git a/docs/guides/applications/configuration-management/salt/monitoring-salt-minions-with-beacons/index.md b/docs/guides/applications/configuration-management/salt/monitoring-salt-minions-with-beacons/index.md index c177514c917..1860a4c97c4 100644 --- a/docs/guides/applications/configuration-management/salt/monitoring-salt-minions-with-beacons/index.md +++ b/docs/guides/applications/configuration-management/salt/monitoring-salt-minions-with-beacons/index.md @@ -21,10 +21,10 @@ Every action performed by Salt, such as applying a highstate or restarting a min ## Before You Begin -If you don't already have a Salt master and minion, follow the first steps in our [Getting Started with Salt - Basic Installation and Setup](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/) guide. +If you don't already have a Salt master and minion, follow the first steps in our [Getting Started with Salt - Basic Installation and Setup](/cloud/guides/getting-started-with-salt-basic-installation-and-setup) guide. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Example 1: Preventing Configuration Drift diff --git a/docs/guides/applications/configuration-management/salt/test-salt-locally-with-kitchen-salt/index.md b/docs/guides/applications/configuration-management/salt/test-salt-locally-with-kitchen-salt/index.md index a07e95c359e..812f27d8777 100644 --- a/docs/guides/applications/configuration-management/salt/test-salt-locally-with-kitchen-salt/index.md +++ b/docs/guides/applications/configuration-management/salt/test-salt-locally-with-kitchen-salt/index.md @@ -23,8 +23,8 @@ KitchenSalt allows you to use Test Kitchen to test your Salt configurations loca ## Before You Begin -- You will need root access to your computer, or a user account with `sudo` privilege. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. -- [Install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) on your local computer, if it is not already installed. +- You will need root access to your computer, or a user account with `sudo` privilege. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. +- [Install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) on your local computer, if it is not already installed. - Update your system packages. ## Install rbenv and Ruby diff --git a/docs/guides/applications/configuration-management/salt/use-and-modify-official-saltstack-formulas/index.md b/docs/guides/applications/configuration-management/salt/use-and-modify-official-saltstack-formulas/index.md index 58b169dbb4b..41d9c2f9af4 100644 --- a/docs/guides/applications/configuration-management/salt/use-and-modify-official-saltstack-formulas/index.md +++ b/docs/guides/applications/configuration-management/salt/use-and-modify-official-saltstack-formulas/index.md @@ -26,20 +26,20 @@ This guide will use GitHub to fork and modify SaltStack's [timezone formula](htt ## Before You Begin -1. If you are new to SaltStack, read [A Beginner's Guide to Salt](/cloud/guides/beginners-guide-to-salt/) to familiarize yourself with basic Salt concepts. +1. If you are new to SaltStack, read [A Beginner's Guide to Salt](/cloud/guides/beginners-guide-to-salt) to familiarize yourself with basic Salt concepts. -1. Download Git on your local computer by following our [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide. +1. Download Git on your local computer by following our [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) guide. -1. Familiarize yourself with Git using our [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide. +1. Familiarize yourself with Git using our [Getting Started with Git](/cloud/guides/how-to-configure-git) guide. -1. Make sure you have [configured git](/cloud/guides/how-to-configure-git/#configure-git) on your local computer. +1. Make sure you have [configured git](/cloud/guides/how-to-configure-git#configure-git) on your local computer. -1. Use the [Getting Started with Salt - Basic Installation and Setup](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/) guide to set up a Salt Master and two Salt minions: one running Ubuntu 18.04 and the second running CentOS 7. +1. Use the [Getting Started with Salt - Basic Installation and Setup](/cloud/guides/getting-started-with-salt-basic-installation-and-setup) guide to set up a Salt Master and two Salt minions: one running Ubuntu 18.04 and the second running CentOS 7. 1. Complete the sections of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to create a standard user account, harden SSH access and remove unnecessary network services. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Overview of the SaltStack Time Zone Formula @@ -389,7 +389,7 @@ timezone: utc: True {{}} - The `timezone.sls` Pillar file was created from the `pillar.example` file provided in the SaltStack timezone formula. The example was modified to add Jinja control statements that will assign a different timezone on any minion that is a Debian family OS. You can replace any of the timezone `name` values to your preferred timezone or add additional Jinja logic, if necessary. For an introduction to Jinja, read the [Introduction to Jinja Templates for Salt](/cloud/guides/introduction-to-jinja-templates-for-salt/). + The `timezone.sls` Pillar file was created from the `pillar.example` file provided in the SaltStack timezone formula. The example was modified to add Jinja control statements that will assign a different timezone on any minion that is a Debian family OS. You can replace any of the timezone `name` values to your preferred timezone or add additional Jinja logic, if necessary. For an introduction to Jinja, read the [Introduction to Jinja Templates for Salt](/cloud/guides/introduction-to-jinja-templates-for-salt). You can also override any of the dictionary values defined in the `timezone/defaults.yaml` or `timezone/osfamilymap.yaml` in the Pillar file using Salt's lookup dictionary convention. For example, if you wanted to override the `pkgname` value defined in `timezone/defaults.yaml` your Pillar file might look like the following example: @@ -440,4 +440,4 @@ pillar_roots: ## Next Steps -To learn how to create your own Salt formulas and how to organize your formula's states in a logical and modular way, read our [Automate Static Site Deployments with Salt, Git, and Webhooks](/cloud/guides/automate-a-static-site-deployment-with-salt/) guide. +To learn how to create your own Salt formulas and how to organize your formula's states in a logical and modular way, read our [Automate Static Site Deployments with Salt, Git, and Webhooks](/cloud/guides/automate-a-static-site-deployment-with-salt) guide. diff --git a/docs/guides/applications/configuration-management/salt/use-salt-states-to-configure-a-lamp-stack-on-a-minion/index.md b/docs/guides/applications/configuration-management/salt/use-salt-states-to-configure-a-lamp-stack-on-a-minion/index.md index 0c3578372ca..d87e0c7c898 100644 --- a/docs/guides/applications/configuration-management/salt/use-salt-states-to-configure-a-lamp-stack-on-a-minion/index.md +++ b/docs/guides/applications/configuration-management/salt/use-salt-states-to-configure-a-lamp-stack-on-a-minion/index.md @@ -14,7 +14,7 @@ image: UseSaltStatestoConfigureaLAMPStackonaMinion.png deprecated: true --- -This tutorial will configure a Minion's LAMP stack with further use of Salt States. This tutorial is written for Debian 8 but can easily be adjusted for other Linux Distributions. You will need a working Salt master and minion configuration before starting this guide. If you need to set up that prerequisite, see our [Salt installation guide](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/) to get started. +This tutorial will configure a Minion's LAMP stack with further use of Salt States. This tutorial is written for Debian 8 but can easily be adjusted for other Linux Distributions. You will need a working Salt master and minion configuration before starting this guide. If you need to set up that prerequisite, see our [Salt installation guide](/cloud/guides/getting-started-with-salt-basic-installation-and-setup) to get started. ## Create the LAMP Configuration States The steps below configure all Salt Minions for a 2GB Linode, feel free to adjust as needed. diff --git a/docs/guides/applications/configuration-management/salt/use-salt-states-to-create-lamp-stack-and-fail2ban-across-salt-minions/index.md b/docs/guides/applications/configuration-management/salt/use-salt-states-to-create-lamp-stack-and-fail2ban-across-salt-minions/index.md index 90f49959c91..e3b79f53abf 100644 --- a/docs/guides/applications/configuration-management/salt/use-salt-states-to-create-lamp-stack-and-fail2ban-across-salt-minions/index.md +++ b/docs/guides/applications/configuration-management/salt/use-salt-states-to-create-lamp-stack-and-fail2ban-across-salt-minions/index.md @@ -16,7 +16,7 @@ image: UseSaltStatestoCreateLAMPStackandFail2banAcrossSaltminions.png Salt States can install and define a server setup on other servers. This tutorial demonstrates the use of Salt States to create a LAMP stack across all Salt Minions. ## Configure the Salt Master -Before configuration, install a Salt Master and Salt Minions with the Linode [Install Salt](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/) guide. This tutorial is written for Debian 8, but can easily be adjusted for other Linux Distributions. +Before configuration, install a Salt Master and Salt Minions with the Linode [Install Salt](/cloud/guides/getting-started-with-salt-basic-installation-and-setup) guide. This tutorial is written for Debian 8, but can easily be adjusted for other Linux Distributions. 1. Open the `/etc/salt/master` file. Then search for **file_roots**, optionally read the surrounding "File Server settings" section, and edit the following: @@ -103,4 +103,4 @@ fail2ban: salt '*' cmd.run "service --status-all | grep 'apache2\|mysql\|fail2ban'" -A LAMP stack and Fail2ban Salt State has been created on all listed Salt Minions. For more information on how to configure the LAMP Stack, refer to the [Salt States for Configuration of Apache, MySQL, and PHP (LAMP)](/cloud/guides/use-salt-states-to-configure-a-lamp-stack-on-a-minion/) guide. +A LAMP stack and Fail2ban Salt State has been created on all listed Salt Minions. For more information on how to configure the LAMP Stack, refer to the [Salt States for Configuration of Apache, MySQL, and PHP (LAMP)](/cloud/guides/use-salt-states-to-configure-a-lamp-stack-on-a-minion) guide. diff --git a/docs/guides/applications/configuration-management/terraform/beginners-guide-to-terraform/index.md b/docs/guides/applications/configuration-management/terraform/beginners-guide-to-terraform/index.md index 967a9acfc7f..2f54396f144 100644 --- a/docs/guides/applications/configuration-management/terraform/beginners-guide-to-terraform/index.md +++ b/docs/guides/applications/configuration-management/terraform/beginners-guide-to-terraform/index.md @@ -28,7 +28,7 @@ Terraform is a general orchestration tool that can interface with a number of di The Linode provider can be used to create Linode instances, Images, domain records, Block Storage Volumes, StackScripts, and other resources. Terraform's [official Linode provider documentation](https://www.terraform.io/docs/providers/linode/index.html) details each resource that can be managed. -The Linode provider relies on Linode's [APIv4](https://techdocs.akamai.com/linode-api/reference/api-summary), and an API access token is needed to use it. See [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) for instructions on getting an API token and installing Terraform and the Linode provider on your computer. +The Linode provider relies on Linode's [APIv4](https://techdocs.akamai.com/linode-api/reference/api-summary), and an API access token is needed to use it. See [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode) for instructions on getting an API token and installing Terraform and the Linode provider on your computer. {{< note >}} As of May 22, 2019, [Terraform’s Linode Provider](https://github.com/linode/terraform-provider-linode) requires Terraform version 0.12+. To learn how to safely upgrade to Terraform version 0.12+, see [Terraform’s official documentation](https://www.terraform.io/upgrade-guides/0-12.html). View [Terraform v0.12’s changelog](https://github.com/hashicorp/terraform/blob/v0.12.0/CHANGELOG.md) for a full list of Terraform versions, features, and incompatibility notes. @@ -48,7 +48,7 @@ Terraform's representation of your resources in configuration files is referred Terraform's configuration files can be written in either the [*HashiCorp Configuration Language*](https://github.com/hashicorp/hcl) (HCL), or in JSON. HCL is a configuration language authored by HashiCorp for use with its products, and it is designed to be human readable and machine friendly. It is recommended that you use HCL over JSON for your Terraform deployments. -The next sections will illustrate core Terraform concepts with examples written in HCL. For a more complete review of HCL syntax, see [Introduction to HashiCorp Configuration Language (HCL)](/cloud/guides/introduction-to-hcl/). +The next sections will illustrate core Terraform concepts with examples written in HCL. For a more complete review of HCL syntax, see [Introduction to HashiCorp Configuration Language (HCL)](/cloud/guides/introduction-to-hcl). ### Resources @@ -93,7 +93,7 @@ Resources can accept arguments. The `label` argument specifies the label for the {{< note title="Root Access & Non-Root Users" >}} It is considered a best practice to limit root user access on any compute instance. For security best practices and configuration steps after deployment, see our [Set Up and Secure a Linode](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -Additionally, non-root users can not be created upon initial deployment using the Linode Terraform Provider. See our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#creating-and-deleting-user-accounts) guide for steps on creating and configuring user accounts on a Linode instance. +Additionally, non-root users can not be created upon initial deployment using the Linode Terraform Provider. See our [Linux Users and Groups](/cloud/guides/linux-users-and-groups#creating-and-deleting-user-accounts) guide for steps on creating and configuring user accounts on a Linode instance. {{< /note >}} ### Data Sources @@ -144,7 +144,7 @@ resource "linode_domain_record" "example_domain_record" { } {{< /file >}} -The domain record's `domain_id` and `target` arguments use HCL's [interpolation syntax](/cloud/guides/introduction-to-hcl/#interpolation) to retrieve the ID of the domain resource and the IP of the Linode instance, respectively. Terraform creates an *implicit dependency* on the `example_instance` and `example_domain` resources for the `example_domain_record` resource. As a result, the domain record will not be created until after the Linode instance and the domain are created. +The domain record's `domain_id` and `target` arguments use HCL's [interpolation syntax](/cloud/guides/introduction-to-hcl#interpolation) to retrieve the ID of the domain resource and the IP of the Linode instance, respectively. Terraform creates an *implicit dependency* on the `example_instance` and `example_domain` resources for the `example_domain_record` resource. As a result, the domain record will not be created until after the Linode instance and the domain are created. {{< note >}} [Explicit dependencies](https://www.terraform.io/docs/configuration/resources.html#explicit-dependencies) can also be declared. @@ -197,7 +197,7 @@ ssh_key = "ssh-rsa AAAA...Gw== user@example.local" Place all of your Terraform project's files in the same directory. Terraform will automatically load input variable values from any file named `terraform.tfvars` or ending in `.auto.tfvars`. {{< /note >}} -The `region` variable is not assigned a specific value, so it will use the default value provided in the variable's declaration. See [Introduction to HashiCorp Configuration Language](/cloud/guides/introduction-to-hcl/#input-variables) for more detailed information about input variables. +The `region` variable is not assigned a specific value, so it will use the default value provided in the variable's declaration. See [Introduction to HashiCorp Configuration Language](/cloud/guides/introduction-to-hcl#input-variables) for more detailed information about input variables. ## Terraform CLI @@ -226,7 +226,7 @@ This command will ask you to confirm that you want to proceed. When Terraform ha When Terraform analyzes and applies your configuration, it creates an internal representation of the infrastructure it created and uses it to track the changes made. This *state* information is recorded in JSON in a local file named `terraform.tfstate` by default, but it can also be stored in other [backends](#backends). {{< note type="alert" >}} -Your sensitive infrastructure data (like passwords and tokens) is visible in plain-text in your `terraform.tfstate` file. Review [Secrets Management with Terraform](/cloud/guides/secrets-management-with-terraform/#how-to-manage-your-state-file) for guidance on how to secure these secrets. +Your sensitive infrastructure data (like passwords and tokens) is visible in plain-text in your `terraform.tfstate` file. Review [Secrets Management with Terraform](/cloud/guides/secrets-management-with-terraform#how-to-manage-your-state-file) for guidance on how to secure these secrets. {{< /note >}} ### Other Commands @@ -274,7 +274,7 @@ Linode [StackScripts](https://www.terraform.io/docs/providers/linode/r/stackscri ## Modules -Terraform allows you to organize your configurations into reusable structures called *modules*. This is useful if you need to create multiple instances of the same cluster of servers. Review [Create a Terraform Module](/cloud/guides/create-terraform-module/) for more information on authoring and using modules. +Terraform allows you to organize your configurations into reusable structures called *modules*. This is useful if you need to create multiple instances of the same cluster of servers. Review [Create a Terraform Module](/cloud/guides/create-terraform-module) for more information on authoring and using modules. ## Backends @@ -290,8 +290,8 @@ The [kinds of backends available](https://www.terraform.io/docs/backends/types/i ## Importing -It is possible to import Linode infrastructure that was created outside of Terraform into your Terraform plan. Review [Import Existing Infrastructure to Terraform](/cloud/guides/import-existing-infrastructure-to-terraform/) for instructions on this subject. +It is possible to import Linode infrastructure that was created outside of Terraform into your Terraform plan. Review [Import Existing Infrastructure to Terraform](/cloud/guides/import-existing-infrastructure-to-terraform) for instructions on this subject. ## Next Steps -To get started with installing Terraform and creating your first projects, read through our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) guide. +To get started with installing Terraform and creating your first projects, read through our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode) guide. diff --git a/docs/guides/applications/configuration-management/terraform/create-a-multicloud-infrastructure-using-terraform/index.md b/docs/guides/applications/configuration-management/terraform/create-a-multicloud-infrastructure-using-terraform/index.md index 228ace7a37c..d425dec6feb 100644 --- a/docs/guides/applications/configuration-management/terraform/create-a-multicloud-infrastructure-using-terraform/index.md +++ b/docs/guides/applications/configuration-management/terraform/create-a-multicloud-infrastructure-using-terraform/index.md @@ -64,7 +64,7 @@ Code that declares the final state of your desired infrastructure is referred to 1. You need a personal access token for [Linode’s API v4](https://techdocs.akamai.com/linode-api/reference/api) to use with Terraform and the Terraform Linode Provider. Follow the [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) to get a token. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Downloading Terraform on your Linode Server @@ -241,7 +241,7 @@ resource "linode_instance" "terraform" { 1. The full `linode-terraform.tf` file, including both the `provider` and `resource` sections, is shown below. - These configurations create a Linode 2GB labeled `terraform-example` and place it in the `terraform` Linodes group. You can replace the values with your own desired values. Lists of the allowable values for each of the fields, such as the `region`, are found in the [*Linode API*](/cloud/api/linode-instances/). + These configurations create a Linode 2GB labeled `terraform-example` and place it in the `terraform` Linodes group. You can replace the values with your own desired values. Lists of the allowable values for each of the fields, such as the `region`, are found in the [*Linode API*](/cloud/api/linode-instances). {{< file "~/terraform/linode-terraform.tf" >}} @@ -761,7 +761,7 @@ This command permanently deletes your resources. This operation cannot be undone Terraform is revolutionizing the DevOps ecosystem by transforming the way infrastructure is managed. It offers many advanced techniques to help streamline common IaC tasks. For instance, Terraform modules can package frequently-used configuration tasks together. -See Linode's [Guide to Creating a Terraform Module](/cloud/guides/create-terraform-module/) for instructions on how to create a module. +See Linode's [Guide to Creating a Terraform Module](/cloud/guides/create-terraform-module) for instructions on how to create a module. **Useful References:** diff --git a/docs/guides/applications/configuration-management/terraform/create-a-nodebalancer-with-terraform/index.md b/docs/guides/applications/configuration-management/terraform/create-a-nodebalancer-with-terraform/index.md index 09c2b74c69f..24c18fcead5 100644 --- a/docs/guides/applications/configuration-management/terraform/create-a-nodebalancer-with-terraform/index.md +++ b/docs/guides/applications/configuration-management/terraform/create-a-nodebalancer-with-terraform/index.md @@ -30,7 +30,7 @@ If you would like to stop billing for the resources created in this guide, [remo ## Before You Begin -1. You should have Terraform installed in your development environment, and have a working knowledge of Terraform resource configuration and the [Linode provider](https://www.terraform.io/docs/providers/linode/index.html). For more information on how to install and use Terraform, check out our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) guide. +1. You should have Terraform installed in your development environment, and have a working knowledge of Terraform resource configuration and the [Linode provider](https://www.terraform.io/docs/providers/linode/index.html). For more information on how to install and use Terraform, check out our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode) guide. {{< note title ="Linode Provider Version 3.0.0" >}} As of June, 2025, the [Linode Terraform Provider](https://github.com/linode/terraform-provider-linode/) version is 3.0.0. To determine the current version, see the [Linode Namespace](https://registry.terraform.io/namespaces/linode) in the Terraform Registry. @@ -42,7 +42,7 @@ If you would like to stop billing for the resources created in this guide, [remo 1. Terraform requires an API access token. Follow the [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) guide to obtain a token. -1. Create a `terraform_nodebalancer` directory on your computer for the Terraform project you will create in this guide. All files you create in this guide should be placed in this directory, and you should run all commands from this directory. This new project should not be created inside another Terraform project directory, including the one you may have made when previously following [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/). +1. Create a `terraform_nodebalancer` directory on your computer for the Terraform project you will create in this guide. All files you create in this guide should be placed in this directory, and you should run all commands from this directory. This new project should not be created inside another Terraform project directory, including the one you may have made when previously following [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode). ## Create a Terraform Configuration File @@ -89,7 +89,7 @@ The `linode_nodebalancer` resource supplies two labels. The first label, `exampl ### Create NodeBalancer Config Resources -In addition to the NodeBalancer resource, you must supply at least one NodeBalancer Configuration resource. This resource defines ports, protocol, health checks, and session stickiness, among other options, that the NodeBalancer might use. For this example, you will create a NodeBalancer configuration for HTTP access on port 80, but you could also create one for HTTPS access on port 443 if you have [SSL/TLS certificates](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/): +In addition to the NodeBalancer resource, you must supply at least one NodeBalancer Configuration resource. This resource defines ports, protocol, health checks, and session stickiness, among other options, that the NodeBalancer might use. For this example, you will create a NodeBalancer configuration for HTTP access on port 80, but you could also create one for HTTPS access on port 443 if you have [SSL/TLS certificates](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates): {{< file "nodebalancer.tf" >}} ... diff --git a/docs/guides/applications/configuration-management/terraform/create-terraform-module/index.md b/docs/guides/applications/configuration-management/terraform/create-terraform-module/index.md index d47f9e7b746..d630c291122 100644 --- a/docs/guides/applications/configuration-management/terraform/create-terraform-module/index.md +++ b/docs/guides/applications/configuration-management/terraform/create-terraform-module/index.md @@ -34,7 +34,7 @@ This guide covers the creation of a Terraform module used to deploy a Linode ins ## Before You Begin -1. Install Terraform on your local computer using the steps found in the **Install Terraform** section of the [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) guide. Your Terraform project directory should be named `linode_stackscripts`. +1. Install Terraform on your local computer using the steps found in the **Install Terraform** section of the [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform) guide. Your Terraform project directory should be named `linode_stackscripts`. {{< note title ="Linode Provider Version 3.0.0" >}} As of June, 2025, the [Linode Terraform Provider](https://github.com/linode/terraform-provider-linode/) version is 3.0.0. To determine the current version, see the [Linode Namespace](https://registry.terraform.io/namespaces/linode) in the Terraform Registry. @@ -44,9 +44,9 @@ This guide covers the creation of a Terraform module used to deploy a Linode ins 2. Terraform requires an API access token. Follow the [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) guide to obtain a token. -3. Complete the steps in the **Configure Git** section of the [Getting Started with Git](/cloud/guides/how-to-configure-git/#configure-git) guide. +3. Complete the steps in the **Configure Git** section of the [Getting Started with Git](/cloud/guides/how-to-configure-git#configure-git) guide. -4. Review [Deploy a WordPress Site using Terraform and StackScripts](/cloud/guides/deploy-a-wordpress-site-using-terraform-and-linode-stackscripts/) to familiarize yourself with the Linode provider's StackScript resource. +4. Review [Deploy a WordPress Site using Terraform and StackScripts](/cloud/guides/deploy-a-wordpress-site-using-terraform-and-linode-stackscripts) to familiarize yourself with the Linode provider's StackScript resource. ## Standard Terraform Module Structure @@ -602,7 +602,7 @@ Whenever a new provider is used in a Terraform configuration, it must first be i ## Version Control Your Terraform Module -To make the `linode_stackscripts` module available to other team members, you can version control it using [GitHub](https://github.com/). Before completing the steps in this section, ensure you have completed the steps in the **Configure Git** section of the [Getting Started with Git](/cloud/guides/how-to-configure-git/#configure-git) guide. +To make the `linode_stackscripts` module available to other team members, you can version control it using [GitHub](https://github.com/). Before completing the steps in this section, ensure you have completed the steps in the **Configure Git** section of the [Getting Started with Git](/cloud/guides/how-to-configure-git#configure-git) guide. 1. In the `linode_stackscripts` directory create a `.gitignore` file: diff --git a/docs/guides/applications/configuration-management/terraform/deploy-a-wordpress-site-using-terraform-and-linode-stackscripts/index.md b/docs/guides/applications/configuration-management/terraform/deploy-a-wordpress-site-using-terraform-and-linode-stackscripts/index.md index 3caf7343776..84b5d4e2f07 100644 --- a/docs/guides/applications/configuration-management/terraform/deploy-a-wordpress-site-using-terraform-and-linode-stackscripts/index.md +++ b/docs/guides/applications/configuration-management/terraform/deploy-a-wordpress-site-using-terraform-and-linode-stackscripts/index.md @@ -26,7 +26,7 @@ Following this guide results in the creation of billable resources on your accou ## Before You Begin -1. Install Terraform on your computer by following the *Install Terraform* section of our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) guide. +1. Install Terraform on your computer by following the *Install Terraform* section of our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform) guide. {{< note title ="Linode Provider Version 3.0.0" >}} As of June, 2025, the [Linode Terraform Provider](https://github.com/linode/terraform-provider-linode/) version is 3.0.0. To determine the current version, see the [Linode Namespace](https://registry.terraform.io/namespaces/linode) in the Terraform Registry. @@ -217,7 +217,7 @@ Let's take a closer look at each block in the configuration file: ``` {{< note >}} - If you are not familiar with the Domain Name System (DNS), review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide. + If you are not familiar with the Domain Name System (DNS), review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide. {{< /note >}} The `linode_domain` resource creates a [domain zone](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) for your domain. @@ -289,7 +289,7 @@ The `stackscript_data` variable is of type `map`. This will allow you to provide Terraform allows you to assign variables in many ways. For example, you can assign a variable value via the command line when running `terraform apply`. In order to persist variable values, you can also create files to hold all your values. {{< note >}} -There are several other options available for secrets management with Terraform. For more information on this, see [Secrets Management with Terraform](/cloud/guides/secrets-management-with-terraform/). +There are several other options available for secrets management with Terraform. For more information on this, see [Secrets Management with Terraform](/cloud/guides/secrets-management-with-terraform). {{< /note >}} Terraform will automatically load any file named `terraform.tfvars` and use its contents to populate variables. However, you should separate out any sensitive values, like passwords and tokens, into their own file. Keep this sensitive file out of version control. @@ -336,7 +336,7 @@ Terraform will automatically load any file named `terraform.tfvars` and use its - `domain` should be replaced with your WordPress site's domain address. - - `soa_email` should be the email address you would like to use for your [Start of Authority](/cloud/guides/dns-overview/#soa) email address. + - `soa_email` should be the email address you would like to use for your [Start of Authority](/cloud/guides/dns-overview#soa) email address. ## Initialize, Plan, and Apply the Terraform Configuration diff --git a/docs/guides/applications/configuration-management/terraform/how-to-deploy-secure-linodes-using-cloud-firewalls-and-terraform/index.md b/docs/guides/applications/configuration-management/terraform/how-to-deploy-secure-linodes-using-cloud-firewalls-and-terraform/index.md index ab32369b9f1..702eda491d7 100644 --- a/docs/guides/applications/configuration-management/terraform/how-to-deploy-secure-linodes-using-cloud-firewalls-and-terraform/index.md +++ b/docs/guides/applications/configuration-management/terraform/how-to-deploy-secure-linodes-using-cloud-firewalls-and-terraform/index.md @@ -20,9 +20,9 @@ In this guide, you will create a Linode Firewalls module which declares commonly ## Before You Begin -1. If you are new to Terraform, read through our [A Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/) guide to familiarize yourself with key concepts. +1. If you are new to Terraform, read through our [A Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform) guide to familiarize yourself with key concepts. -1. See [Create a Terraform Module](/cloud/guides/create-terraform-module/) for a deeper dive into Terraform's standard module structure and other helpful details. +1. See [Create a Terraform Module](/cloud/guides/create-terraform-module) for a deeper dive into Terraform's standard module structure and other helpful details. 1. You need a Linode API personal access token to use with Terraform. This token will allow you to create, update, and destroy Linode resources. See the [Manage Personal Access Tokens](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) guide for steps to create a token. @@ -30,9 +30,9 @@ In this guide, you will create a Linode Firewalls module which declares commonly When you create a personal access token ensure that you set **Read/Write** access permissions for Linode instances and Cloud Firewalls. {{< /note >}} -1. [Install Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) on your local computer. This guide uses [Terraform version 1.12.2](https://github.com/hashicorp/terraform/releases). +1. [Install Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform) on your local computer. This guide uses [Terraform version 1.12.2](https://github.com/hashicorp/terraform/releases). -1. Install Git on your computer and complete the steps in the **Configure Git** section of the [Getting Started with Git guide](/cloud/guides/how-to-configure-git/#configure-git). +1. Install Git on your computer and complete the steps in the **Configure Git** section of the [Getting Started with Git guide](/cloud/guides/how-to-configure-git#configure-git). ## Create Your Cloud Firewalls Module @@ -84,7 +84,7 @@ main_firewalls/ ``` {{< note respectIndent=false >}} -If you followed the steps in our guide for [installing Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform), then your Terraform executable will be located in the `terraform` directory. If this is not the case, ensure that you can execute Terraform commands from the `main_firewalls` directory. +If you followed the steps in our guide for [installing Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform), then your Terraform executable will be located in the `terraform` directory. If this is not the case, ensure that you can execute Terraform commands from the `main_firewalls` directory. {{< /note >}} ### Create the Inbound SSH Child Module @@ -503,4 +503,4 @@ Whenever a new provider is used in a Terraform configuration, it must first be i ## Next Steps -To learn how to [version control](/cloud/guides/create-terraform-module/#version-control-your-terraform-module) the `main-firewalls` module that you created in this guide, see the [Create a Terraform Module](/cloud/guides/create-terraform-module/) guide. \ No newline at end of file +To learn how to [version control](/cloud/guides/create-terraform-module#version-control-your-terraform-module) the `main-firewalls` module that you created in this guide, see the [Create a Terraform Module](/cloud/guides/create-terraform-module) guide. \ No newline at end of file diff --git a/docs/guides/applications/configuration-management/terraform/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/index.md b/docs/guides/applications/configuration-management/terraform/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/index.md index 67cfee2f658..cfabde047bb 100644 --- a/docs/guides/applications/configuration-management/terraform/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/index.md +++ b/docs/guides/applications/configuration-management/terraform/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/index.md @@ -27,9 +27,9 @@ Development work on the module is active. For the latest updates and validated T Before starting to deploy a Kubernetes cluster with Terraform, make sure: -1. You are familiar with Terraform. You can read through [A Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/) to familiarize yourself with key concepts. +1. You are familiar with Terraform. You can read through [A Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform) to familiarize yourself with key concepts. -2. You are familiar with Kubernetes concepts. For an introduction, see the [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/) series. Read through [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/) to get familiar with kubeadm. +2. You are familiar with Kubernetes concepts. For an introduction, see the [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction) series. Read through [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm) to get familiar with kubeadm. 3. You have a personal access token for the Linode API to use with Terraform. Follow the [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) to get a token. @@ -37,7 +37,7 @@ Before starting to deploy a Kubernetes cluster with Terraform, make sure: When creating a personal access token, ensure it is set to **Read/Write** access as new Linode servers are being created. {{< /note >}} -4. Terraform is installed on your computer. See [Install Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) for more information. +4. Terraform is installed on your computer. See [Install Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform) for more information. {{< note >}} This guide was written using [Terraform version 0.12.24](https://www.hashicorp.com/blog/announcing-terraform-0-12/). The module requires at least Terraform 0.10. @@ -58,7 +58,7 @@ The module's script `preflight.sh` verifies these requirements are installed on - set up the SSH agent - create an environment variable to store the API v4 token -If there is an error stating the system is missing Python, scp, or sed, use the operating system's [package manager](/cloud/guides/linux-package-management-overview/) to install the missing utilities. +If there is an error stating the system is missing Python, scp, or sed, use the operating system's [package manager](/cloud/guides/linux-package-management-overview) to install the missing utilities. {{< note type="secondary" title="Create a Python Alias" isCollapsible=true >}} If Python is invoked using `python3`, alias the command so Terraform can [execute scripts locally](https://www.terraform.io/docs/provisioners/local-exec.html) using Python as its interpreter. Using a text editor, edit `~/.bashrc` file to include the following alias: @@ -143,7 +143,7 @@ module "k8s" { This file contains the main configuration arguments of the cluster. The only required configurations are `source` and `linode_token`. `source` calls Linode's k8s module, while the `linode_token` gives access to viewing, creating, and destroying Linode resources. - The rest of the configurations are [optional](https://registry.terraform.io/modules/linode/k8s/linode/0.1.2?tab=inputs#optional-inputs) and have some default values. In this example, however, [Terraform's input variables](/cloud/guides/beginners-guide-to-terraform/#input-variables) are used, so the `main.tf` configuration can be reused across different clusters. + The rest of the configurations are [optional](https://registry.terraform.io/modules/linode/k8s/linode/0.1.2?tab=inputs#optional-inputs) and have some default values. In this example, however, [Terraform's input variables](/cloud/guides/beginners-guide-to-terraform#input-variables) are used, so the `main.tf` configuration can be reused across different clusters. 1. Create an input variables file, named `variables.tf`, with the example content. @@ -183,7 +183,7 @@ variable "nodes" { } {{}} - The example file creates input variables referenced in the main configuration file that was created. The values for those variables are assigned in a separate file in the next step. The default values of the k8s module can be overridden, as in the example file. For more details about input variables, see the [Input Variables](/cloud/guides/beginners-guide-to-terraform/#input-variables) section in the [A Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/). + The example file creates input variables referenced in the main configuration file that was created. The values for those variables are assigned in a separate file in the next step. The default values of the k8s module can be overridden, as in the example file. For more details about input variables, see the [Input Variables](/cloud/guides/beginners-guide-to-terraform#input-variables) section in the [A Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform). 1. Create an input variables values file to provide the main configuration file with values that differ from the defaults in input variable file. @@ -229,7 +229,7 @@ It is common practice to store kubeconfig files in `~/.kube` directory. By defau kubectl get nodes {{< note respectIndent=false >}} -If the kubectl commands are not returning the resources and information you expect, then the client may be assigned to the wrong cluster context. Visit the [Troubleshooting Kubernetes](/cloud/guides/troubleshooting-kubernetes/#troubleshooting-examples) guide to learn how to switch cluster contexts. +If the kubectl commands are not returning the resources and information you expect, then the client may be assigned to the wrong cluster context. Visit the [Troubleshooting Kubernetes](/cloud/guides/troubleshooting-kubernetes#troubleshooting-examples) guide to learn how to switch cluster contexts. {{< /note >}} You are now ready to manage the cluster using kubectl. For more information about using kubectl, see the Kubernetes [Overview of kubectl](https://kubernetes.io/docs/reference/kubectl/overview/). diff --git a/docs/guides/applications/configuration-management/terraform/how-to-use-terraform-with-linode-object-storage/index.md b/docs/guides/applications/configuration-management/terraform/how-to-use-terraform-with-linode-object-storage/index.md index a831357c6bc..1637af6a14a 100644 --- a/docs/guides/applications/configuration-management/terraform/how-to-use-terraform-with-linode-object-storage/index.md +++ b/docs/guides/applications/configuration-management/terraform/how-to-use-terraform-with-linode-object-storage/index.md @@ -32,7 +32,7 @@ Terraform is an open source product that is available in free and commercial edi Terraform uses providers to manage resources. A provider, which is very similar to an API, is typically created in conjunction with the infrastructure vendor. Terraform's provider-based system allows users to create, modify, and destroy network infrastructure from different vendors. Developers can import these providers into their configuration files to help declare and configure their infrastructure components. Providers are available for most major vendors, including [Linode](https://registry.terraform.io/providers/linode/linode/latest). Terraform users can browse through a complete listing of the various providers in the [*Terraform Registry*](https://registry.terraform.io/browse/providers). -Linode offers a useful [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/) as an introduction to the main Terraform concepts. Additionally, Terraform documentation includes a number of [Tutorials](https://developer.hashicorp.com/terraform/tutorials), including guides to the more popular providers. +Linode offers a useful [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform) as an introduction to the main Terraform concepts. Additionally, Terraform documentation includes a number of [Tutorials](https://developer.hashicorp.com/terraform/tutorials), including guides to the more popular providers. ## How to Use Terraform @@ -47,7 +47,7 @@ When the Terraform plan is ready to implement, the `terraform apply` command is Terraform can be used in a multi-developer environment in conjunction with a versioning control system. Developers can also build their own provider infrastructure for use instead of, or alongside, third-party providers. Terraform provides more details about how the product works and how to use it in their [Introduction to Terraform summary](https://developer.hashicorp.com/terraform/intro). {{< note >}} -Terraform is very powerful, but it can be a difficult tool to use. Syntax errors can be hard to debug. Before attempting to create any infrastructure, it is a good idea to read the [Linode Introduction to the HashiCorp Configuration Language](/cloud/guides/introduction-to-hcl/). The documentation about the [Linode Provider](https://registry.terraform.io/providers/linode/linode/latest/docs) in the Terraform Registry is also essential. Consult Linode's extensive collection of [Terraform guides](/cloud/guides/applications/configuration-management/terraform/) for more examples and explanations. +Terraform is very powerful, but it can be a difficult tool to use. Syntax errors can be hard to debug. Before attempting to create any infrastructure, it is a good idea to read the [Linode Introduction to the HashiCorp Configuration Language](/cloud/guides/introduction-to-hcl). The documentation about the [Linode Provider](https://registry.terraform.io/providers/linode/linode/latest/docs) in the Terraform Registry is also essential. Consult Linode's extensive collection of [Terraform guides](/cloud/guides/applications/configuration-management/terraform) for more examples and explanations. {{< /note >}} ## Before You Begin @@ -63,7 +63,7 @@ Terraform is very powerful, but it can be a difficult tool to use. Syntax errors ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Download and Install Terraform @@ -183,7 +183,7 @@ To construct the Terraform file, execute the following instructions. For more in 1. Define the `linode` provider. Include the [Linode v4 API](https://techdocs.akamai.com/linode-api/reference/api) `token` for the account. See the [Getting Started with the Linode API guide](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) for more information about tokens. {{< note respectIndent=false >}} -To hide sensitive information, such as API tokens, declare a `variables.tf` file and store the information there. Retrieve the variables using the `var` keyword. See the [Linode introduction to HCL](/cloud/guides/introduction-to-hcl/#input-variables) for guidance on how to use variables. +To hide sensitive information, such as API tokens, declare a `variables.tf` file and store the information there. Retrieve the variables using the `var` keyword. See the [Linode introduction to HCL](/cloud/guides/introduction-to-hcl#input-variables) for guidance on how to use variables. {{< /note >}} ```file {title="/terraform/linode-terraform-storage.tf" lang="aconf" hl_lines="2" linenostart="10"} @@ -474,7 +474,7 @@ terraform apply Terraform uses [state](https://developer.hashicorp.com/terraform/language/state) on a [backend](https://developer.hashicorp.com/terraform/language/settings/backends/configuration) to log and track resource information. By default, state is stored locally in a file named `terraform.tfstate`. -For steps on how to use Linode Object Storage as a remote backend to store state, see our guide [Use Terraform to Provision Infrastructure on Linode](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#use-linode-object-storage-to-store-state). +For steps on how to use Linode Object Storage as a remote backend to store state, see our guide [Use Terraform to Provision Infrastructure on Linode](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#use-linode-object-storage-to-store-state). ## Conclusion diff --git a/docs/guides/applications/configuration-management/terraform/import-existing-infrastructure-to-terraform/index.md b/docs/guides/applications/configuration-management/terraform/import-existing-infrastructure-to-terraform/index.md index 8f090231cf2..43dbb85c03e 100644 --- a/docs/guides/applications/configuration-management/terraform/import-existing-infrastructure-to-terraform/index.md +++ b/docs/guides/applications/configuration-management/terraform/import-existing-infrastructure-to-terraform/index.md @@ -25,7 +25,7 @@ The Linode Terraform Provider version 3.0.0 requires `terraform` version 1.0 or ## Before You Begin -1. Terraform and the Linode Terraform provider should be installed in your development environment. You should also have a basic understanding of [Terraform resources](https://www.terraform.io/docs/configuration/resources.html). To install and learn about Terraform, read our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) guide. +1. Terraform and the Linode Terraform provider should be installed in your development environment. You should also have a basic understanding of [Terraform resources](https://www.terraform.io/docs/configuration/resources.html). To install and learn about Terraform, read our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode) guide. 2. To use Terraform you must have a valid API access token. For more information on creating a Linode API access token, visit our [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) guide. @@ -71,7 +71,7 @@ When importing your infrastructure to Terraform, failure to accurately provide y ### Create An Empty Resource Configuration -1. Ensure you are in your [Terraform project directory](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform). Create a Terraform configuration file to manage the Linode instance you import in the next section. Your file can be named anything you like, but it must end in `.tf`. Add a Linode provider block with your API access token and an empty `linode_instance` resource configuration block in the file: +1. Ensure you are in your [Terraform project directory](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform). Create a Terraform configuration file to manage the Linode instance you import in the next section. Your file can be named anything you like, but it must end in `.tf`. Add a Linode provider block with your API access token and an empty `linode_instance` resource configuration block in the file: {{< note respectIndent=false >}} The example resource block defines `example_label` as the label. This can be changed to any value you prefer. This label is used to reference your Linode resource configuration within Terraform. It does not have to be the same label originally assigned to the Linode when it was created outside of Terraform. @@ -306,7 +306,7 @@ If you have more than one [configuration profile](https://techdocs.akamai.com/cl ### Create an Empty Resource Configuration -1. Ensure you are in your [Terraform project directory](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform). Create a Terraform configuration file to manage the domain you import in the next section. Your file can be named anything you like, but must end in `.tf`. Add a Linode provider block with your API access token and an empty `linode_domain` resource configuration block to the file: +1. Ensure you are in your [Terraform project directory](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform). Create a Terraform configuration file to manage the domain you import in the next section. Your file can be named anything you like, but must end in `.tf`. Add a Linode provider block with your API access token and an empty `linode_domain` resource configuration block to the file: {{< file "domain_import.tf" >}} provider "linode" { @@ -440,7 +440,7 @@ Due to the way the Linode API accesses domain records, you need to provide both ### Create an Empty Resource Configuration -1. Ensure you are in your [Terraform project directory](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform). Create a Terraform configuration file to manage the domain record you import in the next section. Your file can be named anything you like, but must end in `.tf`. Add a Linode provider block with your API access token and an empty `linode_domain_record` resource configuration block to the file: +1. Ensure you are in your [Terraform project directory](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform). Create a Terraform configuration file to manage the domain record you import in the next section. Your file can be named anything you like, but must end in `.tf`. Add a Linode provider block with your API access token and an empty `linode_domain_record` resource configuration block to the file: {{< file "domain_record_import.tf" >}} provider "linode" { diff --git a/docs/guides/applications/configuration-management/test-kitchen-shortguide/index.md b/docs/guides/applications/configuration-management/test-kitchen-shortguide/index.md index 3974f7777d3..89f59ea5773 100644 --- a/docs/guides/applications/configuration-management/test-kitchen-shortguide/index.md +++ b/docs/guides/applications/configuration-management/test-kitchen-shortguide/index.md @@ -14,4 +14,4 @@ aliases: [] ## Try This Guide Using Test Kitchen -To try this guide out locally, read the [Test Salt States Locally with KitchenSalt](/cloud/guides/test-salt-locally-with-kitchen-salt/) guide and create a local testing environment. \ No newline at end of file +To try this guide out locally, read the [Test Salt States Locally with KitchenSalt](/cloud/guides/test-salt-locally-with-kitchen-salt) guide and create a local testing environment. \ No newline at end of file diff --git a/docs/guides/applications/configuration-management/vault/use-hashicorp-vault-for-secret-management/index.md b/docs/guides/applications/configuration-management/vault/use-hashicorp-vault-for-secret-management/index.md index 273f893e6d2..b2c19007d9e 100644 --- a/docs/guides/applications/configuration-management/vault/use-hashicorp-vault-for-secret-management/index.md +++ b/docs/guides/applications/configuration-management/vault/use-hashicorp-vault-for-secret-management/index.md @@ -69,7 +69,7 @@ The configuration outlined in this guide is suitable for small deployments. In s Setting the full hostname correctly in `/etc/hosts` is important in this guide in order to terminate TLS on Vault correctly. Your Linode's fully qualified domain name and short hostname should be present in the `/etc/hosts` file before continuing. {{< /note >}} -3. Follow our [UFW Guide](/cloud/guides/configure-firewall-with-ufw/) in order to install and configure a firewall on your Ubuntu or Debian-based system, or our [FirewallD Guide](/cloud/guides/introduction-to-firewalld-on-centos/) for rpm or CentOS-based systems. Consider reviewing Vault's [Production Hardening](https://www.vaultproject.io/guides/operations/production) recommendations if this will be used in a production environment. +3. Follow our [UFW Guide](/cloud/guides/configure-firewall-with-ufw) in order to install and configure a firewall on your Ubuntu or Debian-based system, or our [FirewallD Guide](/cloud/guides/introduction-to-firewalld-on-centos) for rpm or CentOS-based systems. Consider reviewing Vault's [Production Hardening](https://www.vaultproject.io/guides/operations/production) recommendations if this will be used in a production environment. {{< note respectIndent=false >}} When configuring a firewall, keep in mind that Vault listens on port 8200 by default and Let's Encrypt utilizes ports 80 (HTTP) and 443 (HTTPS). @@ -77,7 +77,7 @@ When configuring a firewall, keep in mind that Vault listens on port 8200 by def ### Acquire a TLS Certificate -1. Follow the steps in our [Secure HTTP Traffic with Certbot](/cloud/guides/secure-http-traffic-certbot/) guide to acquire a TLS certificate. +1. Follow the steps in our [Secure HTTP Traffic with Certbot](/cloud/guides/secure-http-traffic-certbot) guide to acquire a TLS certificate. 2. Add a system group in order to grant limited read access to the TLS files created by Certbot. diff --git a/docs/guides/applications/containers/beginners-guide-to-lxd-reverse-proxy/index.md b/docs/guides/applications/containers/beginners-guide-to-lxd-reverse-proxy/index.md index dd6619e5cd6..2385ab9c45d 100644 --- a/docs/guides/applications/containers/beginners-guide-to-lxd-reverse-proxy/index.md +++ b/docs/guides/applications/containers/beginners-guide-to-lxd-reverse-proxy/index.md @@ -50,7 +50,7 @@ For simplicity, the term *container* is used throughout this guide to describe t ### Before You Begin -1. Complete [A Beginner's Guide to LXD: Setting Up an Apache Web Server In a Container](/cloud/guides/beginners-guide-to-lxd/). The guide instructs you to create a container called `web` with the Apache web server for testing purposes. Remove this container by running the following commands. +1. Complete [A Beginner's Guide to LXD: Setting Up an Apache Web Server In a Container](/cloud/guides/beginners-guide-to-lxd). The guide instructs you to create a container called `web` with the Apache web server for testing purposes. Remove this container by running the following commands. lxc stop web lxc delete web @@ -60,7 +60,7 @@ For this guide LXD version 3.3 or later is needed. Check the version with the fo lxd --version -If the version is not 3.3 or later, update to the latest version by installing the snap package as instructed in [A Beginner's Guide to LXD: Setting Up an Apache Webserver In a Container](/cloud/guides/beginners-guide-to-lxd/) and use the following command: +If the version is not 3.3 or later, update to the latest version by installing the snap package as instructed in [A Beginner's Guide to LXD: Setting Up an Apache Webserver In a Container](/cloud/guides/beginners-guide-to-lxd) and use the following command: sudo lxd.migrate {{< /note >}} @@ -306,7 +306,7 @@ server { ![Web page of Apache server running in a container](apache-server-running-in-lxd-container.png "Web page of Apache server running in a container.") {{< note respectIndent=false >}} -If you look at the Apache access.log file (default file `/var/log/apache2/access.log`), it still shows the private IP address of the `proxy` container instead of the real IP address. This issue is specific to the Apache web server and has to do with how the server prints the logs. Other software on the web server is able to use the real IP. To fix this through the Apache logs, see the section [Troubleshooting](/cloud/guides/beginners-guide-to-lxd-reverse-proxy/#troubleshooting). +If you look at the Apache access.log file (default file `/var/log/apache2/access.log`), it still shows the private IP address of the `proxy` container instead of the real IP address. This issue is specific to the Apache web server and has to do with how the server prints the logs. Other software on the web server is able to use the real IP. To fix this through the Apache logs, see the section [Troubleshooting](/cloud/guides/beginners-guide-to-lxd-reverse-proxy#troubleshooting). {{< /note >}} ### Direct Traffic to the NGINX Web Server From the Reverse Proxy diff --git a/docs/guides/applications/containers/beginners-guide-to-lxd/index.md b/docs/guides/applications/containers/beginners-guide-to-lxd/index.md index 16a0d857f33..fd1cf272136 100644 --- a/docs/guides/applications/containers/beginners-guide-to-lxd/index.md +++ b/docs/guides/applications/containers/beginners-guide-to-lxd/index.md @@ -427,4 +427,4 @@ In this example, we are members of the `lxd` group and we just need to log out a ## Next Steps -If you plan to use a single website, then a single proxy device to the website container will suffice. If you plan to use multiple websites, you may install virtual hosts inside the website container. If instead you would like to setup multiple websites on their own container, then you will need to set up [a reverse proxy](/cloud/guides/use-nginx-reverse-proxy/) in a container. In that case, the proxy device would direct to the reverse proxy container to direct the connections to the individual websites containers. +If you plan to use a single website, then a single proxy device to the website container will suffice. If you plan to use multiple websites, you may install virtual hosts inside the website container. If instead you would like to setup multiple websites on their own container, then you will need to set up [a reverse proxy](/cloud/guides/use-nginx-reverse-proxy) in a container. In that case, the proxy device would direct to the reverse proxy container to direct the connections to the individual websites containers. diff --git a/docs/guides/applications/containers/build-a-cloud-native-private-registry-with-quay/index.md b/docs/guides/applications/containers/build-a-cloud-native-private-registry-with-quay/index.md index 716ab225c24..5811bdaa415 100644 --- a/docs/guides/applications/containers/build-a-cloud-native-private-registry-with-quay/index.md +++ b/docs/guides/applications/containers/build-a-cloud-native-private-registry-with-quay/index.md @@ -58,18 +58,18 @@ First, you need to choose the right flavor of Quay for the kind of project you w 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. This guide used Docker to run Quay containers. To install Docker, follow the instructions in our [Installing and Using Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora/) guide through the *Managing Docker with a Non-Root User* section. Verify that Docker is ready for use with the `docker version` command. This guide uses [Docker Community Edition (CE) 24.0.7](https://www.ibm.com/docs/en/db2/11.5?topic=docker-downloading-installing-editions), but newer versions and the Docker Enterprise Edition (EE) should work. +1. This guide used Docker to run Quay containers. To install Docker, follow the instructions in our [Installing and Using Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora) guide through the *Managing Docker with a Non-Root User* section. Verify that Docker is ready for use with the `docker version` command. This guide uses [Docker Community Edition (CE) 24.0.7](https://www.ibm.com/docs/en/db2/11.5?topic=docker-downloading-installing-editions), but newer versions and the Docker Enterprise Edition (EE) should work. -1. This guide uses PostgreSQL database for Quay's required long-term metadata storage (this database isn’t used for images). To install PostgreSQL, follow our [Install and Use PostgreSQL on CentOS 8](/cloud/guides/centos-install-and-use-postgresql/) guide (this guide also works with CentOS Stream 9) up until the *Using PostgreSQL* section. Make sure you configure PostgreSQL to start automatically after a server restart. +1. This guide uses PostgreSQL database for Quay's required long-term metadata storage (this database isn’t used for images). To install PostgreSQL, follow our [Install and Use PostgreSQL on CentOS 8](/cloud/guides/centos-install-and-use-postgresql) guide (this guide also works with CentOS Stream 9) up until the *Using PostgreSQL* section. Make sure you configure PostgreSQL to start automatically after a server restart. {{< note type="warning" >}} Avoid using MariaDB for your installation because the use of MariaDB is deprecated in recent versions of Quay. After installing and securing PostgreSQL, create a Quay database. {{< /note >}} -1. Quay uses Redis for short-term storage of real time events. To install Redis, follow our [Install and Configure Redis on CentOS 7](/cloud/guides/install-and-configure-redis-on-centos-7/) guide (it also works with CentOS Stream 8 and 9) through the *Verify the Installation* section. +1. Quay uses Redis for short-term storage of real time events. To install Redis, follow our [Install and Configure Redis on CentOS 7](/cloud/guides/install-and-configure-redis-on-centos-7) guide (it also works with CentOS Stream 8 and 9) through the *Verify the Installation* section. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Creating a Quay Setup on Top of CentOS Stream on a Server diff --git a/docs/guides/applications/containers/cloud-containers/index.md b/docs/guides/applications/containers/cloud-containers/index.md index f5f229cad66..109bdd59868 100644 --- a/docs/guides/applications/containers/cloud-containers/index.md +++ b/docs/guides/applications/containers/cloud-containers/index.md @@ -25,11 +25,11 @@ They are small, fast, and portable because unlike a virtual machine, containers Containers are created from container images, which are templates that contain the system, applications, and environment of the container. With container images, much of the work of creating a container is already done for you. All you have to do is add the compute logic. There are many different templates for creating use-specific containers, just as there are libraries and templates for developing code. -There are multiple container template sites but the market leader is Docker, which kicked off the container trend in 2013. Docker is a set of tools that allows users to create container images, push or pull images from external registries, and run and manage containers in many different environments. It also runs the largest distribution hub of container templates. To learn how to install Docker on your Linux system, see our [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) guide. +There are multiple container template sites but the market leader is Docker, which kicked off the container trend in 2013. Docker is a set of tools that allows users to create container images, push or pull images from external registries, and run and manage containers in many different environments. It also runs the largest distribution hub of container templates. To learn how to install Docker on your Linux system, see our [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian) guide. Containers are significantly reduced in size and complexity, and often perform only a single function. Just because they are small doesn't mean they don’t have to be managed. Containers are maintained through a process known as orchestration, which automates much of the operational tasks needed to run containerized workloads and services. -Orchestration covers managing a container's lifecycle, provisioning, deployment, scaling up or down, networking, load balancing, and more. There are several orchestration apps, but far and away the most popular is [Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) originally designed by Google and now maintained by the Cloud Native Computing Foundation. +Orchestration covers managing a container's lifecycle, provisioning, deployment, scaling up or down, networking, load balancing, and more. There are several orchestration apps, but far and away the most popular is [Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) originally designed by Google and now maintained by the Cloud Native Computing Foundation. ## Containers vs. Virtual Machines diff --git a/docs/guides/applications/containers/create-a-dagger-pipeline/index.md b/docs/guides/applications/containers/create-a-dagger-pipeline/index.md index 4dfd560b100..4fb1afec6ef 100644 --- a/docs/guides/applications/containers/create-a-dagger-pipeline/index.md +++ b/docs/guides/applications/containers/create-a-dagger-pipeline/index.md @@ -58,10 +58,10 @@ For more background on Dagger, see the [Dagger Documentation](https://docs.dagge 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. To publish the container, you must have access to a container registry. This guide uses the open source [Harbor](https://goharbor.io/) registry to publish the container. However, it is possible to push the container to any container repository. For information on how to create a Harbor registry on a separate Compute Instance, see the guide on [Deploying Harbor through the Linode Marketplace](/cloud/marketplace-docs/guides/harbor/). Before using Harbor, it is necessary to create a project named `dagger` to host the example container. +1. To publish the container, you must have access to a container registry. This guide uses the open source [Harbor](https://goharbor.io/) registry to publish the container. However, it is possible to push the container to any container repository. For information on how to create a Harbor registry on a separate Compute Instance, see the guide on [Deploying Harbor through the Linode Marketplace](/cloud/marketplace-docs/guides/harbor). Before using Harbor, it is necessary to create a project named `dagger` to host the example container. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Dagger diff --git a/docs/guides/applications/containers/create-tag-and-upload-your-own-docker-image/index.md b/docs/guides/applications/containers/create-tag-and-upload-your-own-docker-image/index.md index 0bb6bd3d5f8..4cb440c4a6f 100644 --- a/docs/guides/applications/containers/create-tag-and-upload-your-own-docker-image/index.md +++ b/docs/guides/applications/containers/create-tag-and-upload-your-own-docker-image/index.md @@ -17,7 +17,7 @@ aliases: [] Docker makes it easy to develop and deploy custom and consistent environments that include specific applications and dependencies. Docker calls these compilations Images. Docker images can be hosted and retrieved from private locations or from the official repository, [Docker Hub](https://hub.docker.com/). -This guide is part of a series of introductions to Docker concepts. The commands to create an image in this guide build on the previous guide, [How to Install and Pull Images for Container Deployment](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/). For more information about Docker and containers, visit our [guides on Containers](/cloud/guides/applications/containers/). +This guide is part of a series of introductions to Docker concepts. The commands to create an image in this guide build on the previous guide, [How to Install and Pull Images for Container Deployment](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian). For more information about Docker and containers, visit our [guides on Containers](/cloud/guides/applications/containers). ## Create a Docker Image diff --git a/docs/guides/applications/containers/deploy-a-flask-application-with-dokku/index.md b/docs/guides/applications/containers/deploy-a-flask-application-with-dokku/index.md index 8bd7c113bee..5d6ba937c59 100644 --- a/docs/guides/applications/containers/deploy-a-flask-application-with-dokku/index.md +++ b/docs/guides/applications/containers/deploy-a-flask-application-with-dokku/index.md @@ -32,7 +32,7 @@ This guide demonstrates how to: Dokku v0.12.5 is compatible with Ubuntu 16.04 x64, Ubuntu 14.04 x64, and Debian 8.2 x64. CentOS 7 x64 is only supported experimentally, and as such some steps like configuring SSH keys and virtual hosts must be done manually using the dokku command line interface. See [the official documentation](http://dokku.viewdocs.io/dokku~v0.12.5/getting-started/installation/) for more information. {{< /note >}} -A [public key](/cloud/guides/use-public-key-authentication-with-ssh/) is assumed to be available. Typically this is located in `~/home/username/.ssh/id_rsa.pub`. +A [public key](/cloud/guides/use-public-key-authentication-with-ssh) is assumed to be available. Typically this is located in `~/home/username/.ssh/id_rsa.pub`. Install Git if needed: diff --git a/docs/guides/applications/containers/deploy-zot-pull-through-oci-cache-docker-hub/index.md b/docs/guides/applications/containers/deploy-zot-pull-through-oci-cache-docker-hub/index.md index 3ce4cd648ac..52d5667f880 100644 --- a/docs/guides/applications/containers/deploy-zot-pull-through-oci-cache-docker-hub/index.md +++ b/docs/guides/applications/containers/deploy-zot-pull-through-oci-cache-docker-hub/index.md @@ -16,7 +16,7 @@ external_resources: - '[Open Container Initiative](https://opencontainers.org/)' --- -A wide range of internet services, embedded software, and other applications are packaged and run with [containers](/cloud/guides/cloud-containers/). Many tools have been developed around the container ecosystem, and a common standard known as [Open Container Initiative (OCI)](https://opencontainers.org/) facilitates interoperability between these tools. +A wide range of internet services, embedded software, and other applications are packaged and run with [containers](/cloud/guides/cloud-containers). Many tools have been developed around the container ecosystem, and a common standard known as [Open Container Initiative (OCI)](https://opencontainers.org/) facilitates interoperability between these tools. Container images need to be stored and then distributed when an application is deployed. This guide explores storage and distribution of OCI container images with Zot. In particular, this guide shows how to set up Zot as a cache for images stored on Docker Hub. By setting up your own container cache, you can reduce latency and avoid rate limits of public container registries. @@ -64,10 +64,10 @@ While this guide focuses on how to configure and use Zot as a pull through cache - A domain name needs to be assigned to the IP address of the compute instance. If you use Akamai's DNS Manager, [assign a domain, or a subdomain, to your instance's IP](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager#add-dns-records). If you use another DNS provider, like your domain registrar's DNS management, use that service to create the DNS record. - - Ensure you have generated a set of certificates for the server to use. To learn more about SSL certification, review the [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate/) guide. Free certificates are available from the [Let's Encrypt](https://letsencrypt.org/) authority, and you can use [Certbot](https://certbot.eff.org/) to get a certificate. If using Certbot, the [`--standalone`](https://eff-certbot.readthedocs.io/en/stable/using.html#standalone) option can be used, because no web server proxy is set up in this guide. + - Ensure you have generated a set of certificates for the server to use. To learn more about SSL certification, review the [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate) guide. Free certificates are available from the [Let's Encrypt](https://letsencrypt.org/) authority, and you can use [Certbot](https://certbot.eff.org/) to get a certificate. If using Certbot, the [`--standalone`](https://eff-certbot.readthedocs.io/en/stable/using.html#standalone) option can be used, because no web server proxy is set up in this guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Deploy Zot diff --git a/docs/guides/applications/containers/deploying-microservices-with-docker/index.md b/docs/guides/applications/containers/deploying-microservices-with-docker/index.md index 8ca3aed2148..0675b9d263f 100644 --- a/docs/guides/applications/containers/deploying-microservices-with-docker/index.md +++ b/docs/guides/applications/containers/deploying-microservices-with-docker/index.md @@ -32,7 +32,7 @@ This guide shows how to build and deploy an example microservice using Docker an 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ### Install Docker @@ -45,7 +45,7 @@ This guide is written for a non-root user. Commands that require elevated privil ## Prepare the Environment -This section uses Dockerfiles to configure Docker images. For more information about Dockerfile syntax and best practices, see our [How To Use Dockerfiles guide](/cloud/guides/how-to-use-dockerfiles/) and Docker's [Dockerfile Best Practices guide](https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#sort-multi-line-arguments). +This section uses Dockerfiles to configure Docker images. For more information about Dockerfile syntax and best practices, see our [How To Use Dockerfiles guide](/cloud/guides/how-to-use-dockerfiles) and Docker's [Dockerfile Best Practices guide](https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#sort-multi-line-arguments). 1. Create a directory for the microservice: @@ -380,7 +380,7 @@ Containers should be: 2. **Disposable**: Ideally, any single container within a larger application should be able to fail without impacting the performance of the application. Using a `restart: on-failure` option in the `docker-compose.yml` file, as well as having a replica count, makes it possible for some containers in the example microservice to fail gracefully while still serving the web application – with no degradation to the end user. {{< note respectIndent=false >}} -The replica count directive will only be effective when this configuration is deployed as part of a [Docker Swarm](/cloud/guides/how-to-create-a-docker-swarm-manager-and-nodes-on-linode/), which is not covered in this guide. +The replica count directive will only be effective when this configuration is deployed as part of a [Docker Swarm](/cloud/guides/how-to-create-a-docker-swarm-manager-and-nodes-on-linode), which is not covered in this guide. {{< /note >}} 3. **Quick to start**: Avoiding additional installation steps in the Docker file, removing dependencies that aren't needed, and building a target image that can be reused are three of the most important steps in making a web application that has a quick initialization time within Docker. The example application uses short, concise, prebuilt Dockerfiles in order to minimize initialization time. diff --git a/docs/guides/applications/containers/docker-commands-quick-reference-cheat-sheet/index.md b/docs/guides/applications/containers/docker-commands-quick-reference-cheat-sheet/index.md index 38b803a7960..50864c6e4cf 100644 --- a/docs/guides/applications/containers/docker-commands-quick-reference-cheat-sheet/index.md +++ b/docs/guides/applications/containers/docker-commands-quick-reference-cheat-sheet/index.md @@ -20,7 +20,7 @@ Docker is becoming increasingly popular among software developers, operators and Optimizing the platform's functionality begins with mastery of the core Docker commands. This cheat sheet is a reference for the most basic Docker commands that address installation, Hub interaction, and working with containers and images. -As of this writing, the recommended Docker installation is Docker Community Edition ([Docker CE](https://docs.docker.com/engine/installation/)). See the official docs or our [How to Install Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) guide for more details. +As of this writing, the recommended Docker installation is Docker Community Edition ([Docker CE](https://docs.docker.com/engine/installation/)). See the official docs or our [How to Install Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian) guide for more details. {{< note >}} If you have not added your limited user account to the `docker` group (with `sudo usermod -aG docker username`), all of the commands in this cheatsheet will need to be run with `sudo`. diff --git a/docs/guides/applications/containers/docker-container-communication/index.md b/docs/guides/applications/containers/docker-container-communication/index.md index 03034bc7afe..956509b9087 100644 --- a/docs/guides/applications/containers/docker-container-communication/index.md +++ b/docs/guides/applications/containers/docker-container-communication/index.md @@ -293,7 +293,7 @@ You should not store production database data inside a Docker container. Contain Using the `--link` or `--host` options every time you launch your containers can be cumbersome. If your server or any of the containers crash, they must be manually reconnected. This is not an ideal situation for any application that requires constant availability. Fortunately, Docker provides **Docker Compose** to manage multiple containers and automatically link them together when they are launched. This section will use Docker Compose to reproduce the results of the previous section. {{< note >}} -For a more comprehensive explanation of Docker Compose and how to write `docker-compose.yml` configuration files, see our complete [Docker Compose](/cloud/guides/how-to-use-docker-compose/) guide. +For a more comprehensive explanation of Docker Compose and how to write `docker-compose.yml` configuration files, see our complete [Docker Compose](/cloud/guides/how-to-use-docker-compose) guide. {{< /note >}} 1. Install Docker Compose: diff --git a/docs/guides/applications/containers/docker-images-containers-and-dockerfiles-in-depth/index.md b/docs/guides/applications/containers/docker-images-containers-and-dockerfiles-in-depth/index.md index d255f351155..c88006df110 100644 --- a/docs/guides/applications/containers/docker-images-containers-and-dockerfiles-in-depth/index.md +++ b/docs/guides/applications/containers/docker-images-containers-and-dockerfiles-in-depth/index.md @@ -16,7 +16,7 @@ external_resources: - '[Docker Docs](http://docs.docker.com/)' --- -[Docker images](/cloud/guides/introduction-to-docker/#docker-images) make it easy to deploy multiple containers without having to maintain the same image across several virtual machines. You can use a Dockerfile to automate the installation and configuration of an image and its dependencies. A [Dockerfile](/cloud/guides/how-to-use-dockerfiles) is a text file of the commands (which are executed in order) used to automate installation and configuration of a Docker image. This article expands on our guide on [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles) by covering in-depth utilization of Docker images, containers, and Dockerfiles. +[Docker images](/cloud/guides/introduction-to-docker#docker-images) make it easy to deploy multiple containers without having to maintain the same image across several virtual machines. You can use a Dockerfile to automate the installation and configuration of an image and its dependencies. A [Dockerfile](/cloud/guides/how-to-use-dockerfiles) is a text file of the commands (which are executed in order) used to automate installation and configuration of a Docker image. This article expands on our guide on [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles) by covering in-depth utilization of Docker images, containers, and Dockerfiles. ## Before You Begin diff --git a/docs/guides/applications/containers/how-to-create-a-docker-swarm-manager-and-nodes-on-linode/index.md b/docs/guides/applications/containers/how-to-create-a-docker-swarm-manager-and-nodes-on-linode/index.md index 4714235b542..f3088c69299 100644 --- a/docs/guides/applications/containers/how-to-create-a-docker-swarm-manager-and-nodes-on-linode/index.md +++ b/docs/guides/applications/containers/how-to-create-a-docker-swarm-manager-and-nodes-on-linode/index.md @@ -24,10 +24,10 @@ aliases: [] 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -3. Install Docker on each Linode. See our [Installing Docker and Deploying a LAMP Stack](/cloud/guides/how-to-install-docker-and-deploy-a-lamp-stack/) guide or the [Docker installation docs](https://docs.docker.com/engine/installation/) for more information. +3. Install Docker on each Linode. See our [Installing Docker and Deploying a LAMP Stack](/cloud/guides/how-to-install-docker-and-deploy-a-lamp-stack) guide or the [Docker installation docs](https://docs.docker.com/engine/installation/) for more information. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} Scale up the power of Docker by creating a cluster of Docker hosts, called a Docker Swarm. You need one Linode to serve as a Docker Swarm Manager and a few Docker hosts to join the Swarm as Nodes. diff --git a/docs/guides/applications/containers/how-to-deploy-an-nginx-container-with-docker/index.md b/docs/guides/applications/containers/how-to-deploy-an-nginx-container-with-docker/index.md index 1a879417ea5..de63769554b 100644 --- a/docs/guides/applications/containers/how-to-deploy-an-nginx-container-with-docker/index.md +++ b/docs/guides/applications/containers/how-to-deploy-an-nginx-container-with-docker/index.md @@ -46,7 +46,7 @@ This example will create an nginx container with port 80 exposed, using the offi ![DockerContainerImages](docker-container-images.png) -2. Update the original image with `docker pull nginx` as shown in the [How to Install Docker and Pull Images for Container Deployment](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) guide. Run `docker images` again to confirm the update: +2. Update the original image with `docker pull nginx` as shown in the [How to Install Docker and Pull Images for Container Deployment](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian) guide. Run `docker images` again to confirm the update: ![Docker Pull New nginx Image](docker-container-pull-new-image.png "Pull newest nginx image and confirm version number.") diff --git a/docs/guides/applications/containers/how-to-install-docker-and-deploy-a-lamp-stack/index.md b/docs/guides/applications/containers/how-to-install-docker-and-deploy-a-lamp-stack/index.md index 3528d487162..8dce2763c96 100644 --- a/docs/guides/applications/containers/how-to-install-docker-and-deploy-a-lamp-stack/index.md +++ b/docs/guides/applications/containers/how-to-install-docker-and-deploy-a-lamp-stack/index.md @@ -45,7 +45,7 @@ Warning: current kernel is not supported by the linux-image-extra-virtual linux-image-virtual kernel and linux-image-extra-virtual for AUFS support. + sleep 10 -This message can be safely ignored, as the script will continue the installation using DeviceMapper or OverlayFS. If you require AUFS support, you will need to configure a [distribution supplied](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/) or [custom compiled](/cloud/guides/custom-compiled-kernel-with-pvgrub-debian-ubuntu/) kernel. +This message can be safely ignored, as the script will continue the installation using DeviceMapper or OverlayFS. If you require AUFS support, you will need to configure a [distribution supplied](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub) or [custom compiled](/cloud/guides/custom-compiled-kernel-with-pvgrub-debian-ubuntu) kernel. {{< /note >}} 2. If necessary, add the non-root user to the "docker" group: @@ -94,4 +94,4 @@ Congratulations, you have installed a configured LAMP stack using Docker! ## Where to Find Configuration Settings -The LAMP image was installed using the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide on a Ubuntu container. The configuration files and settings can be found there, or on the [Docker Hub linode/lamp](https://registry.hub.docker.com/u/linode/lamp/) page. +The LAMP image was installed using the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04) guide on a Ubuntu container. The configuration files and settings can be found there, or on the [Docker Hub linode/lamp](https://registry.hub.docker.com/u/linode/lamp/) page. diff --git a/docs/guides/applications/containers/how-to-monitor-containers-with-the-elastic-stack/index.md b/docs/guides/applications/containers/how-to-monitor-containers-with-the-elastic-stack/index.md index ec059c44c9c..e57abbde214 100644 --- a/docs/guides/applications/containers/how-to-monitor-containers-with-the-elastic-stack/index.md +++ b/docs/guides/applications/containers/how-to-monitor-containers-with-the-elastic-stack/index.md @@ -26,7 +26,7 @@ The [Elastic Stack](https://www.elastic.co/products) can monitor a variety of da 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Follow our [UFW Guide](/cloud/guides/configure-firewall-with-ufw/) in order to install and configure a firewall (UFW) on your Ubuntu or Debian-based system, or our [FirewallD Guide](/cloud/guides/introduction-to-firewalld-on-centos/) for rpm or CentOS-based systems. After configuring the firewall, ensure that the necessary ports are open in order to proceed with connections over SSH for the rest of this guide: +1. Follow our [UFW Guide](/cloud/guides/configure-firewall-with-ufw) in order to install and configure a firewall (UFW) on your Ubuntu or Debian-based system, or our [FirewallD Guide](/cloud/guides/introduction-to-firewalld-on-centos) for rpm or CentOS-based systems. After configuring the firewall, ensure that the necessary ports are open in order to proceed with connections over SSH for the rest of this guide: sudo ufw allow ssh @@ -229,7 +229,7 @@ The following example demonstrates how Filebeat and Metricbeat automatically cap - Replace `` with the username and IP address of your Linode. - This forwards port 5601 locally to port 5601 on your Linode. - - A comprehensive guide to using SSH tunnels on a variety of platforms is available in our [Create an SSH Tunnel for MySQL guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/). + - A comprehensive guide to using SSH tunnels on a variety of platforms is available in our [Create an SSH Tunnel for MySQL guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access). 1. Browse to `http://localhost:5601` in your browser, which will display the following initial landing page for Kibana. diff --git a/docs/guides/applications/containers/how-to-use-docker-compose-v2/index.md b/docs/guides/applications/containers/how-to-use-docker-compose-v2/index.md index c1edc1809a7..41115596803 100644 --- a/docs/guides/applications/containers/how-to-use-docker-compose-v2/index.md +++ b/docs/guides/applications/containers/how-to-use-docker-compose-v2/index.md @@ -26,7 +26,7 @@ The Docker application allows for the standardization and automation of producti Docker deploys applications inside containers. Each container is based on a Docker image, although an image might contain multiple containers. A container packages a software application, such as a database or web server, inside a virtualized environment. This package includes everything required to run the application, including libraries, configurations, and supporting utilities. The Docker Engine component allows users to host, manage, and run the containers. -Docker containers are lightweight, efficient, and can run on many different operating systems. Containers are isolated from each other and generally only consist of a single application. To deploy a complete system solution containing several applications, multiple containers are typically required. In the original Docker application, each container must be handled separately, making it challenging to coordinate multi-container deployments. For more information on Docker, see the [Linode Introduction to Docker](/cloud/guides/introduction-to-docker/). +Docker containers are lightweight, efficient, and can run on many different operating systems. Containers are isolated from each other and generally only consist of a single application. To deploy a complete system solution containing several applications, multiple containers are typically required. In the original Docker application, each container must be handled separately, making it challenging to coordinate multi-container deployments. For more information on Docker, see the [Linode Introduction to Docker](/cloud/guides/introduction-to-docker). ## What is Docker Compose? @@ -70,7 +70,7 @@ Some applications also require a *Dockerfile*. This file explains how to build a 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Docker Compose and Docker Engine diff --git a/docs/guides/applications/containers/how-to-use-dockerfiles/index.md b/docs/guides/applications/containers/how-to-use-dockerfiles/index.md index ef5dd809c9d..2fd3ad57106 100644 --- a/docs/guides/applications/containers/how-to-use-dockerfiles/index.md +++ b/docs/guides/applications/containers/how-to-use-dockerfiles/index.md @@ -18,7 +18,7 @@ aliases: [] --- ![How to Use a Dockerfile](how-to-use-dockerfile.png "How to Use a Dockerfile") -A Dockerfile is a text file of instructions which are used to automate installation and configuration of a [Docker image](/cloud/guides/introduction-to-docker/#docker-images). Dockerfiles make it easy to deploy multiple Docker containers without having to maintain the same image across multiple virtual machines. Instructions are executed in the order they appear in the Dockerfile, which makes using and updating them clear and intuitive. This article covers the basics, with an example, of how a Dockerfile works. +A Dockerfile is a text file of instructions which are used to automate installation and configuration of a [Docker image](/cloud/guides/introduction-to-docker#docker-images). Dockerfiles make it easy to deploy multiple Docker containers without having to maintain the same image across multiple virtual machines. Instructions are executed in the order they appear in the Dockerfile, which makes using and updating them clear and intuitive. This article covers the basics, with an example, of how a Dockerfile works. ## Before You Begin diff --git a/docs/guides/applications/containers/installing-and-using-docker-on-centos-and-fedora/index.md b/docs/guides/applications/containers/installing-and-using-docker-on-centos-and-fedora/index.md index d552a2f2513..0b290068f41 100644 --- a/docs/guides/applications/containers/installing-and-using-docker-on-centos-and-fedora/index.md +++ b/docs/guides/applications/containers/installing-and-using-docker-on-centos-and-fedora/index.md @@ -29,13 +29,13 @@ This guide covers installing the Docker Engine on various Linux distributions us 1. Ensure you have command line access to a Linux server running a supported Linux distribution. If not, follow the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides to create a new Linode. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Review the following Docker guides to gain a better understanding of Docker, its benefits, and when to use it. - - [An Introduction to Docker](/cloud/guides/introduction-to-docker/) - - [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker/) + - [An Introduction to Docker](/cloud/guides/introduction-to-docker) + - [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker) ## Installing Docker Engine @@ -102,7 +102,7 @@ This message shows that your installation appears to be working correctly. By default, `sudo` is required to run Docker commands, but a new group, called *docker*, was created during installation. When the Docker daemon starts, it opens a Unix socket for the *docker* group members. -Before continuing, make sure you have a limited user account that *does not* belong to the sudo group. If you haven't created a limited user account yet, see the guides [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) or [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) for instructions. +Before continuing, make sure you have a limited user account that *does not* belong to the sudo group. If you haven't created a limited user account yet, see the guides [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) or [Linux Users and Groups](/cloud/guides/linux-users-and-groups) for instructions. 1. Enter the command below to add a user to the *docker* group, replacing *[user]* with the name of your limited user account. @@ -142,7 +142,7 @@ There are two possible fixes: ## Using Docker Images to Deploy Containers Docker images are templates that include the instructions and specifications for creating a container. To use Docker, you first need to obtain an image or create your own by building a dockerfile. For more information, see [An Introduction to Docker -](/cloud/guides/introduction-to-docker/). +](/cloud/guides/introduction-to-docker). ### Listing Images diff --git a/docs/guides/applications/containers/installing-and-using-docker-on-ubuntu-and-debian/index.md b/docs/guides/applications/containers/installing-and-using-docker-on-ubuntu-and-debian/index.md index e8632973e27..e2beec864be 100644 --- a/docs/guides/applications/containers/installing-and-using-docker-on-ubuntu-and-debian/index.md +++ b/docs/guides/applications/containers/installing-and-using-docker-on-ubuntu-and-debian/index.md @@ -31,13 +31,13 @@ This guide covers installing the Docker Engine on various Linux distributions us 1. Ensure you have command line access to a Linux server running a supported Linux distribution. If not, follow the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides to create a new Linode. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Review the following Docker guides to gain a better understanding of Docker, its benefits, and when to use it. - - [An Introduction to Docker](/cloud/guides/introduction-to-docker/) - - [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker/) + - [An Introduction to Docker](/cloud/guides/introduction-to-docker) + - [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker) ## Installing Docker Engine on Ubuntu and Debian @@ -104,7 +104,7 @@ This message shows that your installation appears to be working correctly. By default, `sudo` is required to run Docker commands, but a new group, called *docker*, was created during installation. When the Docker daemon starts, it opens a Unix socket for the *docker* group members. -Before continuing, make sure you have a limited user account that *does not* belong to the sudo group. If you haven't created a limited user account yet, see the guides [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) or [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) for instructions. +Before continuing, make sure you have a limited user account that *does not* belong to the sudo group. If you haven't created a limited user account yet, see the guides [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) or [Linux Users and Groups](/cloud/guides/linux-users-and-groups) for instructions. 1. Enter the command below to add a user to the *docker* group, replacing *[user]* with the name of your limited user account. @@ -144,7 +144,7 @@ There are two possible fixes: ## Using Docker Images to Deploy Containers Docker images are templates that include the instructions and specifications for creating a container. To use Docker, you first need to obtain an image or create your own by building a dockerfile. For more information, see [An Introduction to Docker -](/cloud/guides/introduction-to-docker/). +](/cloud/guides/introduction-to-docker). ### Listing Images diff --git a/docs/guides/applications/containers/installing-docker-shortguide/index.md b/docs/guides/applications/containers/installing-docker-shortguide/index.md index d08b63fa054..7298f45e79e 100644 --- a/docs/guides/applications/containers/installing-docker-shortguide/index.md +++ b/docs/guides/applications/containers/installing-docker-shortguide/index.md @@ -18,8 +18,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' To install Docker CE (Community Edition), follow the instructions within one of the guides below: -- [Installing and Using Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) +- [Installing and Using Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian) -- [Installing and Using Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora/) +- [Installing and Using Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora) To see installation instructions for other Linux distributions or operating systems like Mac or Windows, reference Docker's official documentation here: [Install Docker Engine](https://docs.docker.com/engine/install/) diff --git a/docs/guides/applications/containers/introduction-to-docker/index.md b/docs/guides/applications/containers/introduction-to-docker/index.md index 86f40323b42..377b22a2e9e 100644 --- a/docs/guides/applications/containers/introduction-to-docker/index.md +++ b/docs/guides/applications/containers/introduction-to-docker/index.md @@ -77,4 +77,4 @@ A *node* is a single instance of the Docker engine that participates in the Swar ## Next Steps -To explore Docker further, visit our [Docker Quick Reference](/cloud/guides/docker-commands-quick-reference-cheat-sheet/), our guide on [deploying a Node.js web server](/cloud/guides/node-js-web-server-deployed-within-docker/), or the Linode [How to install Docker and deploy a LAMP Stack](/cloud/guides/how-to-install-docker-and-deploy-a-lamp-stack/) guide. +To explore Docker further, visit our [Docker Quick Reference](/cloud/guides/docker-commands-quick-reference-cheat-sheet), our guide on [deploying a Node.js web server](/cloud/guides/node-js-web-server-deployed-within-docker), or the Linode [How to install Docker and deploy a LAMP Stack](/cloud/guides/how-to-install-docker-and-deploy-a-lamp-stack) guide. diff --git a/docs/guides/applications/containers/monitoring-docker-containers/index.md b/docs/guides/applications/containers/monitoring-docker-containers/index.md index f2fef92810b..04bbe5d87cd 100644 --- a/docs/guides/applications/containers/monitoring-docker-containers/index.md +++ b/docs/guides/applications/containers/monitoring-docker-containers/index.md @@ -20,7 +20,7 @@ Also, without Docker container monitoring, you can’t know how the microservice ## Docker Container Monitoring: The Basics -A major reason why containers are popular is because they lend themselves to [Continuous Integration/Continuous Deployment (CI/CD)](/cloud/guides/introduction-ci-cd/). This is a [DevOps methodology](https://www.zdnet.com/article/what-is-devops-an-executive-guide-to-agile-development-and-it-operations/) designed to enable programmers to integrate their code into a shared repository early and often. Once there, containerized programs are deployed quickly and efficiently. +A major reason why containers are popular is because they lend themselves to [Continuous Integration/Continuous Deployment (CI/CD)](/cloud/guides/introduction-ci-cd). This is a [DevOps methodology](https://www.zdnet.com/article/what-is-devops-an-executive-guide-to-agile-development-and-it-operations/) designed to enable programmers to integrate their code into a shared repository early and often. Once there, containerized programs are deployed quickly and efficiently. Docker also enables developers to pack, ship, and run any application as a lightweight, portable, self-sufficient container, which can run virtually anywhere. Containers give you instant application portability. @@ -46,7 +46,7 @@ Docker [continues to work](https://www.zdnet.com/article/a-big-step-forward-in-c Unlike other container technologies, Docker also supports software-defined networking (SDN). This enables DevOps teams to define networks for containers, without worrying about hardware switches. Instead, they set up complex network topologies and define networks via configuration files. -Simultaneously, SDN and [Docker make it possible to exploit microservices](/cloud/guides/deploying-microservices-with-docker/). Together, they make it more efficient to build applications from loosely coupled services working together with each other through well-known protocols such as HTTP and TCP. +Simultaneously, SDN and [Docker make it possible to exploit microservices](/cloud/guides/deploying-microservices-with-docker). Together, they make it more efficient to build applications from loosely coupled services working together with each other through well-known protocols such as HTTP and TCP. Finally, Docker's success owes a large debt to simply being the right open technology at the right time to help users take advantage of the cloud computing revolution. @@ -88,7 +88,7 @@ Put it all together and there's no question about it. You must monitor your cont ## The Five Best Container Monitoring Tools -Many of the best container monitoring programs are open-source programs. Linode provides the basics to get started with the Elasticsearch, Logstash, and Kibana (ELK) stack using [Filebeat and Metricbeat with Kibana](/cloud/guides/how-to-monitor-containers-with-the-elastic-stack/) and time-series analysis with [Graphite and a Grafana Dashboard](/cloud/guides/install-graphite-and-grafana/). With some effort, you can build your own container monitoring system. +Many of the best container monitoring programs are open-source programs. Linode provides the basics to get started with the Elasticsearch, Logstash, and Kibana (ELK) stack using [Filebeat and Metricbeat with Kibana](/cloud/guides/how-to-monitor-containers-with-the-elastic-stack) and time-series analysis with [Graphite and a Grafana Dashboard](/cloud/guides/install-graphite-and-grafana). With some effort, you can build your own container monitoring system. The programs in the list below are in alphabetical order, not in a best to worst order. That's because you can't rank them fairly. They all have their own strengths and weaknesses and often measure different metrics. So chances are if you're serious about keeping a close eye on your containers, you need to use several of these programs. @@ -120,7 +120,7 @@ While sold primarily as a software-as-a-service (SaaS), it can also be deployed Its partner program, [Kibana](https://www.elastic.co/kibana/), is a free, open user UI for visualizing your Elasticsearch data and navigating the ELK Stack. You can track query loads to see how requests flow through your apps with it. Kibana comes with the usual UI dashboard classics: histograms, line graphs, pie charts, sunbursts, and more. And, of course, you can search across all of your documents. -For container monitoring purposes, you use [Filebeat](https://www.elastic.co/beats/filebeat) and [Metricbeat](https://www.elastic.co/beats/metricbeat) to automatically capture container data. Filebeat automatically finds containers and stores their logs in Elasticsearch. You deploy Metricbeat automatically in your containers. Once there, it collects system-level CPU usage, memory, file system, disk IO, and network IO statistics. Its modules, written in Go, can also keep an eye on programs within the containers such as Apache, NGINX, [MongoDB](/cloud/guides/mongodb-introduction/), [MySQL](/cloud/guides/an-overview-of-mysql/), [PostgreSQL](/cloud/guides/an-introduction-to-postgresql/), and Prometheus. All this data can then be accessed using Kibana. +For container monitoring purposes, you use [Filebeat](https://www.elastic.co/beats/filebeat) and [Metricbeat](https://www.elastic.co/beats/metricbeat) to automatically capture container data. Filebeat automatically finds containers and stores their logs in Elasticsearch. You deploy Metricbeat automatically in your containers. Once there, it collects system-level CPU usage, memory, file system, disk IO, and network IO statistics. Its modules, written in Go, can also keep an eye on programs within the containers such as Apache, NGINX, [MongoDB](/cloud/guides/mongodb-introduction), [MySQL](/cloud/guides/an-overview-of-mysql), [PostgreSQL](/cloud/guides/an-introduction-to-postgresql), and Prometheus. All this data can then be accessed using Kibana. It's very flexible. You need to spend considerable time learning how to configure and use it, but it's worth the time. diff --git a/docs/guides/applications/containers/podman-vs-docker/index.md b/docs/guides/applications/containers/podman-vs-docker/index.md index 1b1b43bcf6d..5c4468060ab 100644 --- a/docs/guides/applications/containers/podman-vs-docker/index.md +++ b/docs/guides/applications/containers/podman-vs-docker/index.md @@ -39,7 +39,7 @@ Today, most containerization tools follow the OCI standards. Any containerizatio Docker has become an incredibly popular containerization tool, at least in part due to its relative simplicity. Its straightforward commands and the wealth of available documentation make Docker immanently approachable. -Learn more about Docker in our guide [An Introduction to Docker](/cloud/guides/introduction-to-docker/). +Learn more about Docker in our guide [An Introduction to Docker](/cloud/guides/introduction-to-docker). ## What Is Podman? @@ -49,7 +49,7 @@ The Podman engine was originally developed by Red Hat with the intention of prov Additionally, Podman's daemonless architecture grants it a truly rootless mode. Docker commands can be run by non-root users, but its daemon that executes those commands continues to run on root. Podman, instead, executes commands directly and avoids the need for root privileges. -Learn more about getting started with Podman in our guide [How to Install Podman for Running Containers](/cloud/guides/using-podman/). +Learn more about getting started with Podman in our guide [How to Install Podman for Running Containers](/cloud/guides/using-podman). ## Docker vs Podman @@ -103,7 +103,7 @@ Docker covers the full container life cycle, from container composition to deplo Docker has established usage with many companies and has a proliferation of people experienced with it. When it comes to containerization tools, you are more likely to find people familiar with Docker than most other tools. -Looking to go forward with Docker? Be sure to reference the guide linked above, as well as our guide [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker/). To see Docker in action, you may also want to look at our guide on [How to install Docker and deploy a LAMP Stack](/cloud/guides/how-to-install-docker-and-deploy-a-lamp-stack/). +Looking to go forward with Docker? Be sure to reference the guide linked above, as well as our guide [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker). To see Docker in action, you may also want to look at our guide on [How to install Docker and deploy a LAMP Stack](/cloud/guides/how-to-install-docker-and-deploy-a-lamp-stack). ### When to Use Podman @@ -117,7 +117,7 @@ This specialization and light footprint are useful in contexts where you want mo In fact, you can effectively use Docker and Podman side-by-side, considering both tools are OCI-compliant. For instance, you can use Docker for your development environment, where you are creating application images but security is less of a concern. Then, use Podman to run and maintain those images in a production environment. -Start moving forward with Podman by checking out our guide [How to Install Podman for Running Containers](/cloud/guides/using-podman/). You may also be interested in taking a look at Buildah via our guide [How to Use Buildah to Build OCI Container Images](/cloud/guides/using-buildah-oci-images/). +Start moving forward with Podman by checking out our guide [How to Install Podman for Running Containers](/cloud/guides/using-podman). You may also be interested in taking a look at Buildah via our guide [How to Use Buildah to Build OCI Container Images](/cloud/guides/using-buildah-oci-images). ## Conclusion diff --git a/docs/guides/applications/containers/remove-docker-resources/index.md b/docs/guides/applications/containers/remove-docker-resources/index.md index 9aa81949fc8..4b6b9e766f7 100644 --- a/docs/guides/applications/containers/remove-docker-resources/index.md +++ b/docs/guides/applications/containers/remove-docker-resources/index.md @@ -38,12 +38,12 @@ Learn in this guide how to clean up your Docker resources. Here, you can see how sudo dnf upgrade ``` -1. Follow the steps in our [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) guide to install, set up, and run a Docker instance. You can use the drop-down at the top of the page to select the Linux distribution matching your system. +1. Follow the steps in our [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian) guide to install, set up, and run a Docker instance. You can use the drop-down at the top of the page to select the Linux distribution matching your system. Additionally, this guide assumes that you are logged in as a non-root user within the `docker` user group. You can learn how to add a non-root user to this group in the guide above. Otherwise, if your user is not in the `docker` group, you need to begin each of the commands given throughout this guide with `sudo`. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Remove All Dangling or Unused Resources diff --git a/docs/guides/applications/containers/running-commands-with-dockerized/index.md b/docs/guides/applications/containers/running-commands-with-dockerized/index.md index cfacc5703e1..6ae9ba66463 100644 --- a/docs/guides/applications/containers/running-commands-with-dockerized/index.md +++ b/docs/guides/applications/containers/running-commands-with-dockerized/index.md @@ -24,7 +24,7 @@ There are multiple separate applications that are named *Dockerized*, *Dockerize 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Dockerized? @@ -51,7 +51,7 @@ These installation instructions should work for most Linux distributions and mac Dockerized runs commands through Docker containers, so you need to have Docker installed to be able to use Dockerized. -On most Linux systems, you can install the Docker Engine by following our [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) guide. Additionally, you need to add any non-root users you want to run Dockerized with to the `docker` user group. Follow the section on running Docker as a non-root user in the guide linked above to see the appropriate command to do so. +On most Linux systems, you can install the Docker Engine by following our [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian) guide. Additionally, you need to add any non-root users you want to run Dockerized with to the `docker` user group. Follow the section on running Docker as a non-root user in the guide linked above to see the appropriate command to do so. ### Download and Install Dockerized diff --git a/docs/guides/applications/containers/set-up-mongodb-on-docker/index.md b/docs/guides/applications/containers/set-up-mongodb-on-docker/index.md index 26b54e94137..c9ba6880c2f 100644 --- a/docs/guides/applications/containers/set-up-mongodb-on-docker/index.md +++ b/docs/guides/applications/containers/set-up-mongodb-on-docker/index.md @@ -24,7 +24,7 @@ This guide assumes you are comfortable with the *command-line interface* (CLI) o #### Docker Quick Deploy App -You can quickly set up a secure, updated Linode with the Docker Quick Deploy App. For instructions, see our guide on [How to Deploy Docker with Quick Deploy Apps](/cloud/marketplace-docs/guides/docker/). For the purposes of this guide, we recommend deploying the Docker Quick Deploy App with the [Docker Options](/cloud/marketplace-docs/guides/docker/#docker-options): +You can quickly set up a secure, updated Linode with the Docker Quick Deploy App. For instructions, see our guide on [How to Deploy Docker with Quick Deploy Apps](/cloud/marketplace-docs/guides/docker). For the purposes of this guide, we recommend deploying the Docker Quick Deploy App with the [Docker Options](/cloud/marketplace-docs/guides/docker#docker-options): - The limited sudo user to be created for the Linode - The password for the limited sudo user @@ -37,7 +37,7 @@ You can quickly set up a secure, updated Linode with the Docker Quick Deploy App 1. Complete the sections of our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to create a standard user account, harden SSH access and remove unnecessary network services. -1. Install Docker on your Linode by following the steps in our guide on [How to Install and Use Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/). +1. Install Docker on your Linode by following the steps in our guide on [How to Install and Use Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian). ### Verify Docker Installation diff --git a/docs/guides/applications/containers/understanding-docker-volumes/index.md b/docs/guides/applications/containers/understanding-docker-volumes/index.md index 29deed2c2a0..d6462850b05 100644 --- a/docs/guides/applications/containers/understanding-docker-volumes/index.md +++ b/docs/guides/applications/containers/understanding-docker-volumes/index.md @@ -23,16 +23,16 @@ Files (and other data) stored within a Docker container does not persist if the 1. Install Docker on your system. -1. This guide assumes you are comfortable using the Linux command-line. See [Using the terminal](/cloud/guides/using-the-terminal/). +1. This guide assumes you are comfortable using the Linux command-line. See [Using the terminal](/cloud/guides/using-the-terminal). 1. This guide assumes you have a basic understanding of Docker. In addition, you should have already installed Docker on your server and deployed a Docker image. See [An Introduction to Docker -](/cloud/guides/introduction-to-docker/). +](/cloud/guides/introduction-to-docker). ## Creating a Docker Volume To start understanding Docker Volumes, you'll need a volume to work on. -1. Log in to your Linode (or other Linux server) through either [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to your Linode (or other Linux server) through either [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Create a volume by entering the following command, replacing `example_volume` with the label for your volume. @@ -132,7 +132,7 @@ Docker Volumes also allow sharing between containers. Instead of creating a new volume, you can also mount a directory from your Linode (or other system) to a Docker container. This is accomplished through [bind mounts](https://docs.docker.com/storage/bind-mounts/) and is helpful when you want to store and access your a container's files directly from your system. Compared to volumes, bind mounts have limited functionality. -1. Log in to your Linode (or other Linux server) through either [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to your Linode (or other Linux server) through either [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Use the following command to run Docker, replacing *[local-directory]* with the absolute path to the directory within your Linode that you'd like to mount (use `$(pwd)` to mount the current directory). Then replace *[mount-directory]* with the absolute path on your container where you wish to access the local files and replace *[image]* with the Docker image you wish to use. diff --git a/docs/guides/applications/containers/use-coreos-container-linux-on-linode/index.md b/docs/guides/applications/containers/use-coreos-container-linux-on-linode/index.md index 69063f63295..3cbb3480227 100644 --- a/docs/guides/applications/containers/use-coreos-container-linux-on-linode/index.md +++ b/docs/guides/applications/containers/use-coreos-container-linux-on-linode/index.md @@ -38,7 +38,7 @@ Container Linux does not use a swap space, so while Linode's other distributions These are not needed for Container Linux, and Network Helper is not compatible so they are all disabled. Linode's Container Linux images use `systemd-networkd`, so see our [static networking](https://techdocs.akamai.com/cloud-computing/docs/network-configuration-using-systemd-networkd) guide if you want to configure static and/or multiple IP addresses for your deployment. {{< note >}} -The [Linode backup service](https://techdocs.akamai.com/cloud-computing/docs/backup-service) is not available for Container Linux. You should back up your data and configurations using an [alternative backup method](/cloud/guides/backing-up-your-data/). +The [Linode backup service](https://techdocs.akamai.com/cloud-computing/docs/backup-service) is not available for Container Linux. You should back up your data and configurations using an [alternative backup method](/cloud/guides/backing-up-your-data). {{< /note >}} ## Log into Container Linux diff --git a/docs/guides/applications/containers/using-buildah-oci-images/index.md b/docs/guides/applications/containers/using-buildah-oci-images/index.md index a2a10620ec6..ad8e2092a2f 100644 --- a/docs/guides/applications/containers/using-buildah-oci-images/index.md +++ b/docs/guides/applications/containers/using-buildah-oci-images/index.md @@ -36,7 +36,7 @@ Learn how to install and start using Buildah in this tutorial. Below, find steps sudo apt update && sudo apt upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Buildah? @@ -61,7 +61,7 @@ Buildah also gives the user precise control of images, and specifically image la However, Buildah is not as useful when it comes to running and deploying container images. It can run them, but lacks some of the features to be found in other tools. Instead, Buildah puts the vast majority of its emphasis on creating containers and building container images. -For that reason, users often build their OCI images in Buildah and run them using Podman, a tool for running and managing containers. You can learn more about Podman in our guide [Podman vs Docker: Comparing the Two Containerization Tools](/cloud/guides/podman-vs-docker/). +For that reason, users often build their OCI images in Buildah and run them using Podman, a tool for running and managing containers. You can learn more about Podman in our guide [Podman vs Docker: Comparing the Two Containerization Tools](/cloud/guides/podman-vs-docker). ## How to Install Buildah @@ -228,9 +228,9 @@ daadb647b880 localhost/fedora-http-server:latest /usr/sbin/httpd -... 8 secon exit -Learn more about Podman in our guide [How to Install Podman for Running Containers](/cloud/guides/using-podman/). +Learn more about Podman in our guide [How to Install Podman for Running Containers](/cloud/guides/using-podman). -You can also learn more about crafting Dockerfiles in our guide [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles/). This guide also includes links to further tutorials with more in-depth coverage of Dockerfiles. +You can also learn more about crafting Dockerfiles in our guide [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles). This guide also includes links to further tutorials with more in-depth coverage of Dockerfiles. ### Creating an Image from Scratch @@ -241,7 +241,7 @@ Buildah's commands for working with containers can involve a few keywords, so of fedoracontainer=$(buildah from fedora) -Learn more about how environment variables work in our guide [How to Use and Set Environment Variables](/cloud/guides/how-to-set-linux-environment-variables/). +Learn more about how environment variables work in our guide [How to Use and Set Environment Variables](/cloud/guides/how-to-set-linux-environment-variables). {{< /note >}} The example container that follows starts with an empty container. It then adds Bash and some other core utilities to that container to demonstrate how you can add programs to create a minimal container image. diff --git a/docs/guides/applications/containers/using-nomad-for-orchestration/index.md b/docs/guides/applications/containers/using-nomad-for-orchestration/index.md index ff98aff3cc1..7365fd6e178 100644 --- a/docs/guides/applications/containers/using-nomad-for-orchestration/index.md +++ b/docs/guides/applications/containers/using-nomad-for-orchestration/index.md @@ -13,7 +13,7 @@ external_resources: - '[Pavel Sklenar: Creating Two Node Nomad Cluster](https://blog.pavelsklenar.com/two-node-nomad-cluster/)' --- -[Nomad](https://www.nomadproject.io/) is an open source workload orchestration and scheduling system that offers a simplified and flexible alternative to Kubernetes. Nomad can deploy and manage both containerized and non-containerized applications across efficient, highly scalable clusters. Nomad is part of the HashiCorp ecosystem, giving it built-in integration with tools like Consul, Terraform, and Vault. Learn more about Nomad and how it compares to Kubernetes in our guide [Kubernetes vs Nomad: Which Is Better?](/cloud/guides/kubernetes-vs-nomad/). +[Nomad](https://www.nomadproject.io/) is an open source workload orchestration and scheduling system that offers a simplified and flexible alternative to Kubernetes. Nomad can deploy and manage both containerized and non-containerized applications across efficient, highly scalable clusters. Nomad is part of the HashiCorp ecosystem, giving it built-in integration with tools like Consul, Terraform, and Vault. Learn more about Nomad and how it compares to Kubernetes in our guide [Kubernetes vs Nomad: Which Is Better?](/cloud/guides/kubernetes-vs-nomad). In this tutorial, learn how to get started understanding and using Nomad effectively. Begin by installing a single Nomad instance to get a sense of its interface and cluster structure. Then see how to leverage Terraform and Consul to deploy a full Nomad cluster with Docker for containerized applications. @@ -21,13 +21,13 @@ In this tutorial, learn how to get started understanding and using Nomad effecti This section outlines how to install Nomad and access its interface in order to familiarize yourself with Nomad's method of handling jobs. -If, instead, you are ready to start deploying a Nomad cluster now, skip to the [How to Deploy a Cluster with Nomad](/cloud/guides/using-nomad-for-orchestration/#how-to-deploy-a-cluster-with-nomad) section. +If, instead, you are ready to start deploying a Nomad cluster now, skip to the [How to Deploy a Cluster with Nomad](/cloud/guides/using-nomad-for-orchestration#how-to-deploy-a-cluster-with-nomad) section. ### Deploying Nomad from Akamai Quick Deploy Apps -The most approachable solution for setting up a Nomad instance with Linode is through Akamai Quick Deploy Apps. There, a Linode instance with Nomad already installed and configured can be quickly set up. To do so, take a look at our guide to [Deploy HashiCorp Nomad through Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/hashicorp-nomad/). +The most approachable solution for setting up a Nomad instance with Linode is through Akamai Quick Deploy Apps. There, a Linode instance with Nomad already installed and configured can be quickly set up. To do so, take a look at our guide to [Deploy HashiCorp Nomad through Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/hashicorp-nomad). -First, follow along with that guide to get a Nomad instance ready. Then skip to the section [How Nomad Works](/cloud/guides/using-nomad-for-orchestration/#how-nomad-works) to become familiar with the new Nomad instance. +First, follow along with that guide to get a Nomad instance ready. Then skip to the section [How Nomad Works](/cloud/guides/using-nomad-for-orchestration#how-nomad-works) to become familiar with the new Nomad instance. ### Manually Installing Nomad @@ -41,7 +41,7 @@ Follow the steps here to install Nomad manually. These walk through everything n A Linode instance is needed to run Nomad on, so follow the linked guides here to start up and configure your own instance: {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} #### Installing Nomad on Debian and Ubuntu @@ -164,7 +164,7 @@ With the Nomad instance up and running, it's time to start exploring how Nomad w 1. The agent makes a Nomad web interface available, serving it on `localhost:4646`. Use an SSH tunnel to access this in a web browser from a remote machine: - - On **Windows**, use the PuTTY tool to set up the SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use `4646` as the **Source port** and `127.0.0.1:4646` as the **Destination**. + - On **Windows**, use the PuTTY tool to set up the SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use `4646` as the **Source port** and `127.0.0.1:4646` as the **Destination**. - On **macOS** or **Linux**, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the remote server and `192.0.2.0` with the remote server's IP address: @@ -200,7 +200,7 @@ This setup is meant to serve as a basis for your own specific use case. For that ### Overview of Terraform Provisioning -Probably the most effective way to deploy a Nomad cluster is through [Terraform](https://www.terraform.io/), another tool by HashiCorp. With Terraform, you can provision infrastructure as code, automating the deployment process. This is especially convenient with Nomad. Terraform coordinates configuration and deployment between all nodes in a cluster, in addition to saving manual installation and setup time on each node. Learn more about using Terraform, particularly for provisioning Linode instances, in our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/). +Probably the most effective way to deploy a Nomad cluster is through [Terraform](https://www.terraform.io/), another tool by HashiCorp. With Terraform, you can provision infrastructure as code, automating the deployment process. This is especially convenient with Nomad. Terraform coordinates configuration and deployment between all nodes in a cluster, in addition to saving manual installation and setup time on each node. Learn more about using Terraform, particularly for provisioning Linode instances, in our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform). This tutorial leverages our custom Terraform script to deploy the Nomad cluster. The Terraform script here emphasizes simplicity and readability, which is helpful for getting started with your own uses. @@ -261,7 +261,7 @@ The configurations and commands used in this guide add multiple Linode instances - `server_type` and `client_type` indicate the Linode instance types to use for the server and client nodes, respectively. The default provides a Dedicated 4GB instance for each Nomad server, as recommended, and a Linode (shared) 4GB instance for each Nomad client. Find a full list of the instance type designations via the [Linode types API](https://api.linode.com/v4/linode/types). {{< note type="warning" >}} - Sensitive infrastructure data, such as passwords and tokens, are visible in plain text within the `terraform.tfvars` file. Review [Secrets Management with Terraform](/cloud/guides/secrets-management-with-terraform/#how-to-manage-your-state-file) for guidance on how to secure these secrets. + Sensitive infrastructure data, such as passwords and tokens, are visible in plain text within the `terraform.tfvars` file. Review [Secrets Management with Terraform](/cloud/guides/secrets-management-with-terraform#how-to-manage-your-state-file) for guidance on how to secure these secrets. {{< /note >}} 1. Initialize the Terraform script, which installs the required provisioners, then apply the script to start the provisioning process: @@ -357,7 +357,7 @@ You now know how to start orchestrating workloads with Nomad. This tutorial cont The Terraform deployment above is meant as a simple, accessible base. Continue enhancing this to better meet your own specific needs. The following are some initial ideas to start out with: -- Use Packer to build initial images. This saves deployment time and would replace the steps in the `nomad-installations.sh` script. Learn more about Packer and using it to create Linode images in our guide [Using the Linode Packer Builder to Create Custom Images](/cloud/guides/how-to-use-linode-packer-builder/). +- Use Packer to build initial images. This saves deployment time and would replace the steps in the `nomad-installations.sh` script. Learn more about Packer and using it to create Linode images in our guide [Using the Linode Packer Builder to Create Custom Images](/cloud/guides/how-to-use-linode-packer-builder). - Leverage Consul's Access Control List (ACL) features to bolster the cluster's security. These features can secure the cluster's access points through ACL policies. Learn more in HashiCorp's [Secure Consul with Access Control Lists](https://developer.hashicorp.com/consul/tutorials/security/access-control-setup-production) documentation. diff --git a/docs/guides/applications/containers/using-podman/index.md b/docs/guides/applications/containers/using-podman/index.md index 5e71665c40f..ca68d039298 100644 --- a/docs/guides/applications/containers/using-podman/index.md +++ b/docs/guides/applications/containers/using-podman/index.md @@ -17,7 +17,7 @@ external_resources: Podman is an open source containerization tool. Like Docker, Podman is a solution for creating, running, and managing containers. But Podman goes beyond Docker, using a secure daemonless process to run containers in rootless mode. -For more on what Podman is and how it compares to Docker, you can refer to our guide [Podman vs Docker](/cloud/guides/podman-vs-docker/). The guide familiarizes you with the basics of Podman and Docker and compares and contrast the two tools. +For more on what Podman is and how it compares to Docker, you can refer to our guide [Podman vs Docker](/cloud/guides/podman-vs-docker). The guide familiarizes you with the basics of Podman and Docker and compares and contrast the two tools. In this tutorial, learn everything you need to install and start using Podman on your Linux system. By the end, you can run and manage containers using Podman. @@ -38,7 +38,7 @@ In this tutorial, learn everything you need to install and start using Podman on sudo dnf upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Podman @@ -157,7 +157,7 @@ Getting image source signatures Like Docker, Podman also gives you the ability to create a container image from a file. Typically, this build process uses the Dockerfile format, though Podman supports the Containerfile format as well. -You can learn more about crafting Dockerfiles in our guide [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles/). This guide also includes links to further tutorials with more in-depth coverage of Dockerfiles. +You can learn more about crafting Dockerfiles in our guide [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles). This guide also includes links to further tutorials with more in-depth coverage of Dockerfiles. But for now, as an example to see Podman's build capabilities in action, you can use the following Dockerfile: @@ -183,13 +183,13 @@ Place these contents in a file named `Dockerfile`. Then, working from the same d The `-t` option allows you to give the image a tag, or name - `fedora-http-server` in this case. The `.` at the end of the command specifies the directory in which the Dockerfile can be found, where a `.` represents the current directory. -Keep reading onto the section below titled [Running a Container Image](/cloud/guides/using-podman/#running-a-container-image) to see how you can run a container from an image built as shown above. +Keep reading onto the section below titled [Running a Container Image](/cloud/guides/using-podman#running-a-container-image) to see how you can run a container from an image built as shown above. Podman's `build` command works much like Docker's, but is actually a subset of the build functionality within Buildah. In fact, Podman uses a portion of Buildah's source code to implement its build function. Buildah offers more features and fine-grained control when it comes to building containers. For that reason, many see Podman and Buildah as complementary tools. Buildah provides a robust tool for crafting container images from both container files (e.g. Dockerfiles) and from scratch. Podman then excels at running and managing the resulting containers. -You can learn more about Buildah, including steps for setup and usage, in our guide [How to Use Buildah to Build OCI Container Images](/cloud/guides/using-buildah-oci-images/). +You can learn more about Buildah, including steps for setup and usage, in our guide [How to Use Buildah to Build OCI Container Images](/cloud/guides/using-buildah-oci-images). ### Listing Local Images diff --git a/docs/guides/applications/containers/when-and-why-to-use-docker/index.md b/docs/guides/applications/containers/when-and-why-to-use-docker/index.md index 02cdc55b0a0..8f60d531e95 100644 --- a/docs/guides/applications/containers/when-and-why-to-use-docker/index.md +++ b/docs/guides/applications/containers/when-and-why-to-use-docker/index.md @@ -24,7 +24,7 @@ aliases: [] Since its release in 2012, [Docker](https://www.docker.com) has become one of the fastest-growing technologies in devops and web development. Like any new technology, however, it is still under development, has some limitations, and is not right for every project. This guide provides an overview of the pros and cons of Docker so that you can decide whether it would be a good addition to your project. -For a more basic introduction to Docker concepts and terminology, see our [An Introduction to Docker](/cloud/guides/introduction-to-docker/) guide. +For a more basic introduction to Docker concepts and terminology, see our [An Introduction to Docker](/cloud/guides/introduction-to-docker) guide. ## Benefits of Docker diff --git a/docs/guides/applications/marketplaces/installing-yunohost/index.md b/docs/guides/applications/marketplaces/installing-yunohost/index.md index 86bd96ae097..8619fa7b3cf 100644 --- a/docs/guides/applications/marketplaces/installing-yunohost/index.md +++ b/docs/guides/applications/marketplaces/installing-yunohost/index.md @@ -25,7 +25,7 @@ This tutorial walks through installing YunoHost on a base Debian server and outl Be sure to also add an [A and AAA record](https://techdocs.akamai.com/cloud-computing/docs/a-and-aaaa-records) pointing to the remote IP address of your Compute Instance. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root`. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root`. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is YunoHost? diff --git a/docs/guides/applications/media-servers/how-to-install-jellyfin/index.md b/docs/guides/applications/media-servers/how-to-install-jellyfin/index.md index 8f2f94940c9..82a2282bb01 100644 --- a/docs/guides/applications/media-servers/how-to-install-jellyfin/index.md +++ b/docs/guides/applications/media-servers/how-to-install-jellyfin/index.md @@ -29,7 +29,7 @@ In this guide you complete the following: sudo apt-get update && sudo apt-get upgrade {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Jellyfin @@ -136,7 +136,7 @@ Click the "hamburger" menu in the top left corner of Jellyfin and choose *Dashbo ![Library Dashboard](jellyfin-library-dashboard.png) -- Media can be added to individual folders from inside your Linode using various [file transfer tools](/cloud/guides/tools-reference/file-transfer/) and [download methods](/cloud/guides/download-resources-from-the-command-line-with-wget/). +- Media can be added to individual folders from inside your Linode using various [file transfer tools](/cloud/guides/tools-reference/file-transfer) and [download methods](/cloud/guides/download-resources-from-the-command-line-with-wget). - Once files in a folder are added to your Jellyfin server, they can be accessed from your *Home Menu* by clicking on the Home icon at top left of the page after selecting the hamburger menu. ![Home Menu](homemenu.png) @@ -188,4 +188,4 @@ Although nano is used in this example, feel free to use the text editor of your sudo systemctl restart apache2 -You may also want to [set up SSL encryption for this virtual host](/cloud/guides/secure-http-traffic-certbot/). For more information regarding this configuration, see Jellyfin's [reverse proxy documentation](https://jellyfin.org/docs/general/networking/index.html#running-jellyfin-behind-a-reverse-proxy) +You may also want to [set up SSL encryption for this virtual host](/cloud/guides/secure-http-traffic-certbot). For more information regarding this configuration, see Jellyfin's [reverse proxy documentation](https://jellyfin.org/docs/general/networking/index.html#running-jellyfin-behind-a-reverse-proxy) diff --git a/docs/guides/applications/media-servers/how-to-install-shoutcast-dnas-server-on-linux/index.md b/docs/guides/applications/media-servers/how-to-install-shoutcast-dnas-server-on-linux/index.md index 8a744417e96..1ee93ed1ee4 100644 --- a/docs/guides/applications/media-servers/how-to-install-shoutcast-dnas-server-on-linux/index.md +++ b/docs/guides/applications/media-servers/how-to-install-shoutcast-dnas-server-on-linux/index.md @@ -139,7 +139,7 @@ Now that the configuration is set and saved, we can start the server. Now, you can start the SHOUTcast server. Here's how: -1. You'll want to run your shoutcast in a [screen session](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/). Let's jump into a screen session by entering the following command: +1. You'll want to run your shoutcast in a [screen session](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions). Let's jump into a screen session by entering the following command: screen diff --git a/docs/guides/applications/media-servers/install-plex-media-server-on-ubuntu-18-04/index.md b/docs/guides/applications/media-servers/install-plex-media-server-on-ubuntu-18-04/index.md index 6da319ed792..8f22b123a39 100644 --- a/docs/guides/applications/media-servers/install-plex-media-server-on-ubuntu-18-04/index.md +++ b/docs/guides/applications/media-servers/install-plex-media-server-on-ubuntu-18-04/index.md @@ -26,7 +26,7 @@ relations: ![Install Plex Media Server on Ubuntu 18.04](install-plex-media-server-on-ubuntu-18-04.png) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites to Install Plex Media Server on Ubuntu 18.04 @@ -131,7 +131,7 @@ Now that your server is set up, you’re ready to connect to it from a Plex clie ## Configuring Plex Media Server Firewall on Ubuntu 18.04 -In this section you set up a firewall on your Plex Media Server using the [Uncomplicated Firewall (UFW)](/cloud/guides/configure-firewall-with-ufw/). +In this section you set up a firewall on your Plex Media Server using the [Uncomplicated Firewall (UFW)](/cloud/guides/configure-firewall-with-ufw). 1. UFW is usually pre-installed on Ubuntu. If UFW isn’t installed, run the following command to install it on your Ubuntu system: diff --git a/docs/guides/applications/media-servers/install-plex-media-server-with-salt/index.md b/docs/guides/applications/media-servers/install-plex-media-server-with-salt/index.md index 172d88d7092..ca8d1cc469c 100644 --- a/docs/guides/applications/media-servers/install-plex-media-server-with-salt/index.md +++ b/docs/guides/applications/media-servers/install-plex-media-server-with-salt/index.md @@ -35,7 +35,7 @@ Plex is a media server that allows you to stream video and audio content that yo 3. Plex requires an account to use their service. Visit the [Plex website](https://www.plex.tv/) to sign up for an account if you do not already have one. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prepare the Salt Minion diff --git a/docs/guides/applications/media-servers/install-subsonic-media-server-on-ubuntu-or-debian/index.md b/docs/guides/applications/media-servers/install-subsonic-media-server-on-ubuntu-or-debian/index.md index e0f7fa7d360..00673a4dfdb 100644 --- a/docs/guides/applications/media-servers/install-subsonic-media-server-on-ubuntu-or-debian/index.md +++ b/docs/guides/applications/media-servers/install-subsonic-media-server-on-ubuntu-or-debian/index.md @@ -100,4 +100,4 @@ Passwords in the Subsonic database are stored in hex format, but not encrypted. ## Next Steps -Subsonic can be [configured to use SSL](http://www.subsonic.org/pages/getting-started.jsp), or you can use an [NGINX reverse proxy](/cloud/guides/use-nginx-reverse-proxy/). +Subsonic can be [configured to use SSL](http://www.subsonic.org/pages/getting-started.jsp), or you can use an [NGINX reverse proxy](/cloud/guides/use-nginx-reverse-proxy). diff --git a/docs/guides/applications/media-servers/live-streaming-with-livekit-and-obs/index.md b/docs/guides/applications/media-servers/live-streaming-with-livekit-and-obs/index.md index ee7b28046a8..ff2e43dfcb3 100644 --- a/docs/guides/applications/media-servers/live-streaming-with-livekit-and-obs/index.md +++ b/docs/guides/applications/media-servers/live-streaming-with-livekit-and-obs/index.md @@ -22,10 +22,10 @@ This guide shows you how to use Docker Compose to install LiveKit on a Compute I 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Follow the instructions in our [How to Use Docker Compose V2](/cloud/guides/how-to-use-docker-compose-v2/#how-to-install-docker-compose-and-docker-engine) guide to install **Docker Compose** and **Docker Engine**. +1. Follow the instructions in our [How to Use Docker Compose V2](/cloud/guides/how-to-use-docker-compose-v2#how-to-install-docker-compose-and-docker-engine) guide to install **Docker Compose** and **Docker Engine**. {{< note title="Your user requires sudo privileges" >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## LiveKit Features and Compatibility @@ -118,7 +118,7 @@ Your DNS records can be setup using the [DNS Manager](https://techdocs.akamai.co sudo ufw reload ``` {{< note title="Your firewall settings may be different" >}} - The exact commands you use may vary depending on your instance's distribution and firewall manager. See our guides on firewalls for documentation on other common firewall managers: [Linode Guides: Firewalls](/cloud/guides/security/firewalls/) + The exact commands you use may vary depending on your instance's distribution and firewall manager. See our guides on firewalls for documentation on other common firewall managers: [Linode Guides: Firewalls](/cloud/guides/security/firewalls) Likewise, if your Compute Instance is attached to a Cloud Firewall, you will want to make sure the appropriate ports are open in your Cloud Firewall configuration: [Cloud Firewall: Manage Firewall Rules](https://techdocs.akamai.com/cloud-computing/docs/manage-firewall-rules) {{< /note >}} diff --git a/docs/guides/applications/media-servers/set-up-a-streaming-rtmp-server/index.md b/docs/guides/applications/media-servers/set-up-a-streaming-rtmp-server/index.md index d64a11f6dc7..bca043810b2 100644 --- a/docs/guides/applications/media-servers/set-up-a-streaming-rtmp-server/index.md +++ b/docs/guides/applications/media-servers/set-up-a-streaming-rtmp-server/index.md @@ -39,7 +39,7 @@ This guide discusses how to configure an RTMP streaming server, and how to use o 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## More Information About RTMP diff --git a/docs/guides/applications/media-servers/use-block-storage-with-plex-media-server/index.md b/docs/guides/applications/media-servers/use-block-storage-with-plex-media-server/index.md index 0ae6edb8c00..4b3cd42b1b2 100644 --- a/docs/guides/applications/media-servers/use-block-storage-with-plex-media-server/index.md +++ b/docs/guides/applications/media-servers/use-block-storage-with-plex-media-server/index.md @@ -24,7 +24,7 @@ Plex is a media server that allows you to store your media on a remote server an ## Before You Begin -The examples in this guide assume the Plex Server is installed and running on a Linode. See how to [Install Plex Media Server on Ubuntu 16.04](/cloud/guides/install-plex-media-server-on-ubuntu-18-04/) if it is not already installed. After installation, follow the steps in the [Configuring Plex](/cloud/guides/install-plex-media-server-on-ubuntu-18-04/#configuring-plex-media-server-on-ubuntu-1804) section to create an SSH tunnel to your Linode and configure the Plex server. +The examples in this guide assume the Plex Server is installed and running on a Linode. See how to [Install Plex Media Server on Ubuntu 16.04](/cloud/guides/install-plex-media-server-on-ubuntu-18-04) if it is not already installed. After installation, follow the steps in the [Configuring Plex](/cloud/guides/install-plex-media-server-on-ubuntu-18-04#configuring-plex-media-server-on-ubuntu-1804) section to create an SSH tunnel to your Linode and configure the Plex server. This guide also assumes you already have a Plex account since Plex Media Player will require login. @@ -87,7 +87,7 @@ Moving media to the Volume can be done with `scp` using the following syntax: Depending on the file size(s), this may take a few minutes. {{< note >}} -There are other ways to upload files to a remote server. See our section in [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server) for more information. +There are other ways to upload files to a remote server. See our section in [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server) for more information. {{< /note >}} ## Scan for New Media on the Volume diff --git a/docs/guides/applications/messaging/advanced-irssi-usage/index.md b/docs/guides/applications/messaging/advanced-irssi-usage/index.md index 441df74ddcf..0de9ae8f740 100644 --- a/docs/guides/applications/messaging/advanced-irssi-usage/index.md +++ b/docs/guides/applications/messaging/advanced-irssi-usage/index.md @@ -21,7 +21,7 @@ external_resources: Irssi is a popular IRC client with a flexible plugin architecture and an embedded Perl interpreter. It can be customized to greatly improve the off-the-shelf experience. This guide will demonstrate some of the most useful features, plugins, and customizations to help you get the most out of Irssi. -This guide assumes that you are familiar with basic Irssi commands and usage. To review these commands, or for instructions on installing Irssi on your system, see our [Using Irssi for Internet Chat](/cloud/guides/using-irssi-for-internet-relay-chat/) guide. +This guide assumes that you are familiar with basic Irssi commands and usage. To review these commands, or for instructions on installing Irssi on your system, see our [Using Irssi for Internet Chat](/cloud/guides/using-irssi-for-internet-relay-chat) guide. ## Key Bindings and Aliases diff --git a/docs/guides/applications/messaging/deploying-rabbitmq-on-a-linode/index.md b/docs/guides/applications/messaging/deploying-rabbitmq-on-a-linode/index.md index 111161fef8e..aeec4d701d3 100644 --- a/docs/guides/applications/messaging/deploying-rabbitmq-on-a-linode/index.md +++ b/docs/guides/applications/messaging/deploying-rabbitmq-on-a-linode/index.md @@ -15,7 +15,7 @@ external_resources: RabbitMQ is an open source message broker that facilitates communication between distributed applications. This guide covers steps for manually installing, configuring, and testing RabbitMQ on a Linode instance running Ubuntu 24.04 LTS. -If you prefer an automated deployment, consider our [RabbitMQ Quick Deploy App](/cloud/marketplace-docs/guides/rabbitmq/). +If you prefer an automated deployment, consider our [RabbitMQ Quick Deploy App](/cloud/marketplace-docs/guides/rabbitmq). ## Before You Begin @@ -47,7 +47,7 @@ If you prefer an automated deployment, consider our [RabbitMQ Quick Deploy App]( 1. Follow our [Set Up and Secure a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system and create a limited user account. You may also wish to set the timezone, configure your hostname, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install RabbitMQ as a Service diff --git a/docs/guides/applications/messaging/how-to-install-the-element-chat-app/index.md b/docs/guides/applications/messaging/how-to-install-the-element-chat-app/index.md index 1fe90114d5c..cbf864eb5d1 100644 --- a/docs/guides/applications/messaging/how-to-install-the-element-chat-app/index.md +++ b/docs/guides/applications/messaging/how-to-install-the-element-chat-app/index.md @@ -35,10 +35,10 @@ external_resources: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Register a *Fully Qualified Domain Name* (FQDN) for your Element service. The DNS records for the domain should be set to the IP address of your Linode. Consult Linode's [DNS Records: An Introduction](/cloud/guides/dns-overview/) and [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guides for assistance when configuring your domain. +1. Register a *Fully Qualified Domain Name* (FQDN) for your Element service. The DNS records for the domain should be set to the IP address of your Linode. Consult Linode's [DNS Records: An Introduction](/cloud/guides/dns-overview) and [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guides for assistance when configuring your domain. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Advantages and Features of Element @@ -53,7 +53,7 @@ Element is based on React and uses *Electron* for bundling. See the [*Element Gi ## A Summary of the Element Installation and Configuration Process -A complete Element installation consists of the high-level steps outlined in this section. Because Element is a web client for [*Matrix-Synapse*](https://matrix.org/docs/projects/server/synapse), you must first download and install the Matrix-Synapse software package. Element also requires a web server, such as [*NGINX*](/cloud/guides/web-servers/nginx/). Although these instructions are geared towards Ubuntu installations, they are broadly applicable to most Linux distributions. +A complete Element installation consists of the high-level steps outlined in this section. Because Element is a web client for [*Matrix-Synapse*](https://matrix.org/docs/projects/server/synapse), you must first download and install the Matrix-Synapse software package. Element also requires a web server, such as [*NGINX*](/cloud/guides/web-servers/nginx). Although these instructions are geared towards Ubuntu installations, they are broadly applicable to most Linux distributions. 1. Set Up DNS Records 1. Download and install the Matrix-Synapse communication layer @@ -67,7 +67,7 @@ The following sections describe each step in more detail. ## Set Up DNS Records -- Before connecting to Element, register a base domain for your service and [set the corresponding DNS records](/cloud/guides/dns-overview/) to reference your Linode. +- Before connecting to Element, register a base domain for your service and [set the corresponding DNS records](/cloud/guides/dns-overview) to reference your Linode. - Create two further subdomains for the *matrix* and *element* services, each with its DNS records. @@ -228,7 +228,7 @@ gpg: Good signature from "Riot Releases " [unknown] ## Install and Configure the NGINX Web Server -You must install [*NGINX*](https://www.nginx.com/) before using Certbot. For more information about NGINX, see Linode's [How to Configure NGINX](/cloud/guides/how-to-configure-nginx/) guide. +You must install [*NGINX*](https://www.nginx.com/) before using Certbot. For more information about NGINX, see Linode's [How to Configure NGINX](/cloud/guides/how-to-configure-nginx) guide. 1. Install NGINX. diff --git a/docs/guides/applications/messaging/install-and-configure-inspircd-on-debian-10-ubuntu-2004/index.md b/docs/guides/applications/messaging/install-and-configure-inspircd-on-debian-10-ubuntu-2004/index.md index db74b4f62ee..8fe4ef05ac3 100644 --- a/docs/guides/applications/messaging/install-and-configure-inspircd-on-debian-10-ubuntu-2004/index.md +++ b/docs/guides/applications/messaging/install-and-configure-inspircd-on-debian-10-ubuntu-2004/index.md @@ -25,7 +25,7 @@ InspIRCd is a free and open-source IRC server application. It has been designed 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install InspIRCd @@ -112,7 +112,7 @@ Not all IRC clients support the `/rules` command. The popular client WeeChat, fo To verify that your IRC server is running properly, you should connect to it using an IRC client. There are many options, and this guide uses the popular WeeChat client as an example. -If you want more information on WeeChat and its usage, refer to the [Using WeeChat for Internet Relay Chat](/cloud/guides/using-weechat-for-irc/) guide. +If you want more information on WeeChat and its usage, refer to the [Using WeeChat for Internet Relay Chat](/cloud/guides/using-weechat-for-irc) guide. 1. Install the WeeChat IRC client. @@ -230,7 +230,7 @@ In both of the examples that follow, replace `example-irc-alias` with your serve Certificates from Let's Encrypt expire after 90 days. Certbot automatically renews your certificate, but the renewed certificate needs to be copied to the `inspircd` folder. The following steps show you how to set up a Cron job to copy the certificate files automatically. -You can learn more about using Cron in the [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide. +You can learn more about using Cron in the [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron) guide. 1. Make a `/etc/inspircd/cron` directory. Using your preferred text editor, create and open a `copy-inspircd-certs.sh` in that directory. The Nano text editor is used in this example. diff --git a/docs/guides/applications/messaging/install-mastodon-on-debian-10/index.md b/docs/guides/applications/messaging/install-mastodon-on-debian-10/index.md index d2baed8f4a4..9e84c6d6a3f 100644 --- a/docs/guides/applications/messaging/install-mastodon-on-debian-10/index.md +++ b/docs/guides/applications/messaging/install-mastodon-on-debian-10/index.md @@ -45,13 +45,13 @@ Mastodon servers range in size from small private instances to massive public in 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Complete the steps in the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) section to register a domain name to point to your Mastodon instance. +1. Complete the steps in the [Add DNS Records](/cloud/guides/set-up-web-server-host-website#add-dns-records) section to register a domain name to point to your Mastodon instance. -1. Install and configure UFW for managing your machine's firewall rules. Refer to the [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide. +1. Install and configure UFW for managing your machine's firewall rules. Refer to the [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide. 1. Prepare an SMTP server for Mastodon to send email notifications to users when they register for the site, get a follower, receive a message, and for other Mastodon activity. - - You can create your own SMTP server — and even host it on the same machine as your Mastodon server — by following the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide. + - You can create your own SMTP server — and even host it on the same machine as your Mastodon server — by following the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql) guide. {{< note respectIndent=false >}} This guide uses PostgreSQL database as a backend for Mastodon. You can setup the SMTP server with PostgreSQL database instead of MySQL. @@ -62,15 +62,15 @@ This guide uses PostgreSQL database as a backend for Mastodon. You can setup the 1. Replace occurrences of `example.com` in this guide with the domain name you are using for your Mastodon instance. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Docker and Docker Compose Mastodon can be installed using its included [Docker Compose](https://docs.docker.com/compose/) file. Docker Compose installs and runs all of the requisites for the Mastodon environment in Docker containers. If you have not used Docker before, it is recommended that you review the following guides: -- [Introduction to Docker](/cloud/guides/introduction-to-docker/) -- [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/) +- [Introduction to Docker](/cloud/guides/introduction-to-docker) +- [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose) ### Install Docker diff --git a/docs/guides/applications/messaging/install-mastodon-on-ubuntu-1604/index.md b/docs/guides/applications/messaging/install-mastodon-on-ubuntu-1604/index.md index 38ba54a425a..519173f2239 100644 --- a/docs/guides/applications/messaging/install-mastodon-on-ubuntu-1604/index.md +++ b/docs/guides/applications/messaging/install-mastodon-on-ubuntu-1604/index.md @@ -50,7 +50,7 @@ Consult Mastodon's [resource usage examples](https://github.com/tootsuite/docume 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. Replace each instance of `example.com` in this guide with your Mastodon site’s domain name. -1. Complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) steps to register a domain name that will point to your Mastodon Linode. +1. Complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website#add-dns-records) steps to register a domain name that will point to your Mastodon Linode. 1. Mastodon will serve its content over HTTPS, so you will need to obtain an SSL/TLS certificate. Request and download a free certificate from [Let's Encrypt](https://letsencrypt.org) using [Certbot](https://certbot.eff.org): @@ -70,11 +70,11 @@ Consult Mastodon's [resource usage examples](https://github.com/tootsuite/docume {{% content "email-warning-shortguide" %}} - One option is to install your own mail server using the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide. You can install such a mail server on the same Linode as your Mastodon server, or on a different one. If you follow this guide, be sure to create a `notifications@example.com` email address which you will later use for notifications. If you install your mail server on the same Linode as your Mastodon deployment, you can use your Let's Encrypt certificate in `/etc/letsencrypt/live/example.com/` for the mail server too. + One option is to install your own mail server using the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql) guide. You can install such a mail server on the same Linode as your Mastodon server, or on a different one. If you follow this guide, be sure to create a `notifications@example.com` email address which you will later use for notifications. If you install your mail server on the same Linode as your Mastodon deployment, you can use your Let's Encrypt certificate in `/etc/letsencrypt/live/example.com/` for the mail server too. If you would rather not self-host an email server, you can use a third-party SMTP service. The instructions in this guide will also include settings for using [Mailgun](https://www.mailgun.com/) as your SMTP provider. -1. This guide uses Mastodon's Docker Compose deployment method. Before proceeding, [install Docker and Docker Compose](/cloud/guides/install-mastodon-on-ubuntu-1604/#install-docker). If you haven't used Docker before, it's recommended that you review the [Introduction to Docker](/cloud/guides/introduction-to-docker/) and [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/) guides. +1. This guide uses Mastodon's Docker Compose deployment method. Before proceeding, [install Docker and Docker Compose](/cloud/guides/install-mastodon-on-ubuntu-1604#install-docker). If you haven't used Docker before, it's recommended that you review the [Introduction to Docker](/cloud/guides/introduction-to-docker) and [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose) guides. ### Install Docker @@ -86,7 +86,7 @@ Consult Mastodon's [resource usage examples](https://github.com/tootsuite/docume ## Set Up Mastodon -Mastodon has a number of components: [PostgreSQL](/cloud/guides/configure-postgresql/#what-is-postgresql) and [Redis](https://redis.io/) are used to store data, and three different Ruby on Rails services are used to power the web application. These are all combined in a Docker Compose file that Mastodon provides. +Mastodon has a number of components: [PostgreSQL](/cloud/guides/configure-postgresql#what-is-postgresql) and [Redis](https://redis.io/) are used to store data, and three different Ruby on Rails services are used to power the web application. These are all combined in a Docker Compose file that Mastodon provides. ### Download Mastodon and Configure Docker Compose diff --git a/docs/guides/applications/messaging/install-mastodon-on-ubuntu-2004/index.md b/docs/guides/applications/messaging/install-mastodon-on-ubuntu-2004/index.md index 17dcd872a5b..745e867a9ea 100644 --- a/docs/guides/applications/messaging/install-mastodon-on-ubuntu-2004/index.md +++ b/docs/guides/applications/messaging/install-mastodon-on-ubuntu-2004/index.md @@ -45,11 +45,11 @@ Mastodon servers range in size from small private instances to massive public in 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Complete the steps in the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) section to register a domain name to point to your Mastodon instance. +1. Complete the steps in the [Add DNS Records](/cloud/guides/set-up-web-server-host-website#add-dns-records) section to register a domain name to point to your Mastodon instance. 1. Prepare an SMTP server for Mastodon to send email notifications to users when they register for the site, get a follower, receive a message, and for other Mastodon activity. - - You can create your SMTP server — and even host it on the same machine as your Mastodon server — by following the [Configure an Email Server with Postfix, Dovecot, and MySQL on Debian, and Ubuntu](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide. + - You can create your SMTP server — and even host it on the same machine as your Mastodon server — by following the [Configure an Email Server with Postfix, Dovecot, and MySQL on Debian, and Ubuntu](/cloud/guides/email-with-postfix-dovecot-and-mysql) guide. {{< note >}} This guide uses the PostgreSQL database as a backend for Mastodon. You can set up the SMTP server with the PostgreSQL database instead of MySQL. @@ -60,15 +60,15 @@ This guide uses the PostgreSQL database as a backend for Mastodon. You can set u 1. Replace occurrences of `example.com` in this guide with the domain name you are using for your Mastodon instance. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Docker and Docker Compose Mastodon can be installed using its included [Docker Compose](https://docs.docker.com/compose/) file. Docker Compose installs and runs all of the requisites for the Mastodon environment in Docker containers. If you have not used Docker before, it is recommended that you review the following guides: -- [An Introduction to Docker](/cloud/guides/introduction-to-docker/) -- [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/) +- [An Introduction to Docker](/cloud/guides/introduction-to-docker) +- [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose) ### Install Docker diff --git a/docs/guides/applications/messaging/install-mastodon-server-on-centos-stream/index.md b/docs/guides/applications/messaging/install-mastodon-server-on-centos-stream/index.md index 47c1047c657..d55102c26ca 100644 --- a/docs/guides/applications/messaging/install-mastodon-server-on-centos-stream/index.md +++ b/docs/guides/applications/messaging/install-mastodon-server-on-centos-stream/index.md @@ -42,13 +42,13 @@ Mastodon servers range in size from small private instances to massive public in 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Complete the steps in the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) section to register a domain name to point to your Mastodon instance. +1. Complete the steps in the [Add DNS Records](/cloud/guides/set-up-web-server-host-website#add-dns-records) section to register a domain name to point to your Mastodon instance. -1. Enable FirewallD for managing your machine's firewall rules. Refer to the [firewall cmd list](/cloud/guides/introduction-to-firewalld-on-centos/). +1. Enable FirewallD for managing your machine's firewall rules. Refer to the [firewall cmd list](/cloud/guides/introduction-to-firewalld-on-centos). 1. Prepare an SMTP server for Mastodon to send email notifications to users when they register for the site, get a follower, receive a message, and for other Mastodon activities. - - You can create your SMTP server — and even host it on the same machine as your Mastodon server — by following the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide. + - You can create your SMTP server — and even host it on the same machine as your Mastodon server — by following the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql) guide. {{< note respectIndent=false >}} This guide uses PostgreSQL database as a backend for Mastodon. You can setup the SMTP server with PostgreSQL database instead of MySQL. @@ -59,16 +59,16 @@ This guide uses PostgreSQL database as a backend for Mastodon. You can setup the 1. Replace occurrences of `example.com` in this guide with the domain name you are using for your Mastodon instance. {{< note >}} -This guide is written for non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Docker and Docker Compose Mastodon can be installed using its included [Docker Compose](https://docs.docker.com/compose/) file. Docker Compose installs and runs all of the requisites for the Mastodon environment in Docker containers. If you have not used Docker before, it is recommended that you review the following guides: -- [Introduction to Docker](/cloud/guides/introduction-to-docker/) +- [Introduction to Docker](/cloud/guides/introduction-to-docker) -- [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/) +- [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose) ### Install Docker diff --git a/docs/guides/applications/messaging/install-rocket-chat-helpdesk/index.md b/docs/guides/applications/messaging/install-rocket-chat-helpdesk/index.md index c185273637a..4350a9213d6 100644 --- a/docs/guides/applications/messaging/install-rocket-chat-helpdesk/index.md +++ b/docs/guides/applications/messaging/install-rocket-chat-helpdesk/index.md @@ -43,7 +43,7 @@ For a comprehensive comparison between plan types, including features and limita There are multiple methods for deploying Rocket.Chat. This guide reviews manual deployment on a single Compute Instance, as well as deploying to a Kubernetes cluster: -- Deploy using our [Rocket.Chat Quick Deploy App](/cloud/marketplace-docs/guides/rocketchat/). This installs and configures all necessary software and is the fastest deployment method. +- Deploy using our [Rocket.Chat Quick Deploy App](/cloud/marketplace-docs/guides/rocketchat). This installs and configures all necessary software and is the fastest deployment method. - Manually deploy to a [Compute Instance](#deploying-to-a-compute-instance). - Deploy to a [Kubernetes cluster](#deploying-to-a-kubernetes-cluster) with Linode Kubernetes Engine (LKE). - Use Rocket.Chat's instructions for deploying via [Docker and Docker Compose](https://docs.rocket.chat/deploy/deploy-rocket.chat/deploy-with-docker-and-docker-compose) using Rocket.Chat's Docker image. @@ -94,7 +94,7 @@ You can access the Rocket.Chat instance once installation is complete, but it is The instructions below require you to be logged into your instance as a user with root permissions. -1. Install NGINX using the instructions in our [Installing and Using NGINX](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/) guide. NGINX will act as your reverse proxy server. +1. Install NGINX using the instructions in our [Installing and Using NGINX](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04) guide. NGINX will act as your reverse proxy server. 1. Create the `sites-available` and `sites-enabled` directories in `/etc/nginx/` if they do not already exist: @@ -195,7 +195,7 @@ With a reverse proxy in place, you can enable SSL encryption and secure the web Completing these steps require your system's public IP address to be associated with a domain name. For information on managing and setting up domains with your Compute Instance, see our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) guide. {{< /note >}} -1. Follow the instructions in our [Use Certbot to Enable HTTPS with NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) guide to install Certbot and obtain an SSL certificate. +1. Follow the instructions in our [Use Certbot to Enable HTTPS with NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu) guide to install Certbot and obtain an SSL certificate. 1. Using a text editor, open the site's NGINX configuration in the `rocketchat.conf` file created earlier. Replace {{< placeholder "rocketchat.conf" >}} with the name of your file: @@ -261,7 +261,7 @@ For a scalable solution, Rocket.Chat supports Kubernetes deployments. The steps This requires the following prerequisites: - An active LKE cluster with the `kubectl` tool configured. See [Linode Kubernetes Engine - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine). -- Helm installed and configured on your local machine. See [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-the-helm-client). +- Helm installed and configured on your local machine. See [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3#install-the-helm-client). 1. Once your LKE cluster is running and `kubectl` is configured, use the following `kubectl` command to view the cluster's context name: @@ -329,7 +329,7 @@ There are multiple options for accessing the Rocket.Chat instance from the Kuber - **Ingress Deployment**: NGINX Ingress can be deployed to a Kubernetes cluster to provide routing. Using this method, it can act as a kind of reverse proxy on the Kubernetes cluster. - For more on this method, and steps for implementing it, follow our guide on [Deploying NGINX Ingress on Linode Kubernetes Engine](/cloud/guides/deploy-nginx-ingress-on-lke/#install-the-nginx-ingress-controller) starting with the **Install the NGINX Ingress Controller** section. + For more on this method, and steps for implementing it, follow our guide on [Deploying NGINX Ingress on Linode Kubernetes Engine](/cloud/guides/deploy-nginx-ingress-on-lke#install-the-nginx-ingress-controller) starting with the **Install the NGINX Ingress Controller** section. To enable TLS for the Ingress, follow [Getting Started with Load Balancing on an LKE Cluster](https://techdocs.akamai.com/cloud-computing/docs/get-started-with-load-balancing-on-an-lke-cluster#configuring-linode-nodebalancers-for-tls-encryption) starting with the **Configuring NodeBalancers for TLS Encryption** section. diff --git a/docs/guides/applications/messaging/install-znc-debian/index.md b/docs/guides/applications/messaging/install-znc-debian/index.md index 6dba85496e4..cbd9ccf0e36 100644 --- a/docs/guides/applications/messaging/install-znc-debian/index.md +++ b/docs/guides/applications/messaging/install-znc-debian/index.md @@ -15,7 +15,7 @@ aliases: [] ZNC is an IRC bouncer. It's designed to run on a server that remains connected to an IRC network and buffer messages. With ZNC, a local IRC client can connect and disconnect without losing a chat session or missing any messages. In this guide, ZNC will be installed from source and then configured. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-debian-5-lenny/index.md b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-debian-5-lenny/index.md index c9664a38b22..35e9a704826 100644 --- a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-debian-5-lenny/index.md +++ b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-debian-5-lenny/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Prosody is a lightweight and simple XMPP/Jabber server that aims to be easy to use. Written in the Lua programming language, it has minimal resource requirements and aims to be easy to configure and run. While Prosody may not be able to scale to the same extent as [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/cloud/guides/instant-messaging-services-with-openfire-on-debian-6-squeeze/), for many independent and small scale uses, Prosody may perform as well as "larger" servers while being more efficient with resources. If you're considering doing XMPP development, or running an XMPP server for a very small base of users, we recommend that you consider Prosody as a possible provider for this service. +Prosody is a lightweight and simple XMPP/Jabber server that aims to be easy to use. Written in the Lua programming language, it has minimal resource requirements and aims to be easy to configure and run. While Prosody may not be able to scale to the same extent as [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) or [OpenFire](/cloud/guides/instant-messaging-services-with-openfire-on-debian-6-squeeze), for many independent and small scale uses, Prosody may perform as well as "larger" servers while being more efficient with resources. If you're considering doing XMPP development, or running an XMPP server for a very small base of users, we recommend that you consider Prosody as a possible provider for this service. Before we begin with the installation and configuration of Prosody, we assume that you have a running and up to date installation of Debian Lenny, have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and have logged in via SSH as root. @@ -134,7 +134,7 @@ Component "conference.example.com" "muc" {{< /file >}} -In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview/)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. +In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. MUC, in contrast to many other common components in the XMPP world, is provided internally by Prosody. Other components, like transports to other services, run on an external interface. Each external component has its own host name, and provides a secret key which allows the central server to authenticate to it. See the following "aim.example.com" component as an example. @@ -162,7 +162,7 @@ Host "*" The XMPP protocol supports "in-band" registration, where users can register for accounts with your server via the XMPP interface. However, this is often an undesirable function as it doesn't permit the server administrator the ability to moderate the creation of new accounts and can lead to spam-related problems. As a result, Prosody has this functionality disabled by default. While you can enable in-band registration, we recommend using the `prosodyctl` interface at the terminal prompt. -If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) `prosodyctl` mimics its counterpart as much as possible. +If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) `prosodyctl` mimics its counterpart as much as possible. To use `prosodyctl` to register a user, in this case `lollipop@example.com`, issue the following command: diff --git a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-10-04-lucid/index.md b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-10-04-lucid/index.md index 99aab401bc5..b21238b2104 100644 --- a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-10-04-lucid/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Prosody is a XMPP/Jabber server programmed in Lua that is simple and lightweight. Prosody uses fewer resources than its counterparts and is designed to be easy to configure and run. [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging/) may be better suited for larger applications, but for most independent and small scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for running an XMPP server for a very small base of users, or for XMPP development. +Prosody is a XMPP/Jabber server programmed in Lua that is simple and lightweight. Prosody uses fewer resources than its counterparts and is designed to be easy to configure and run. [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging) may be better suited for larger applications, but for most independent and small scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for running an XMPP server for a very small base of users, or for XMPP development. Before we begin with the installation and configuration of Prosody, we assume that you have a running and up to date installation of Ubuntu 10.04 (Lucid), have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, and have logged in via SSH as root. @@ -140,7 +140,7 @@ Component "conference.example.com" "muc" {{< /file >}} -In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview/)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. +In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. MUC, in contrast to many other common components in the XMPP world, is provided internally by Prosody. Other components, like transports to other services, run on an external interface. Each external component has its own host name, and provides a secret key which allows the central server to authenticate to it. See the following "aim.example.com" component as an example. @@ -166,7 +166,7 @@ component_ports = { 8888, 8887 } The XMPP protocol supports "in-band" registration, where users can register for accounts with your server via the XMPP interface. However, this is often an undesirable function as it doesn't permit the server administrator the ability to moderate the creation of new accounts and can lead to spam-related problems. As a result, Prosody has this functionality disabled by default. While you can enable in-band registration, we recommend using the `prosodyctl` interface at the terminal prompt. -If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) `prosodyctl` mimics its counterpart as much as possible. +If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) `prosodyctl` mimics its counterpart as much as possible. To use `prosodyctl` to register a user, in this case `lollipop@example.com`, issue the following command: diff --git a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-10-10-maverick/index.md b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-10-10-maverick/index.md index e10ed71f37c..16b95f5dff6 100644 --- a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-10-10-maverick/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Prosody is a XMPP/Jabber server programmed in Lua that is simple and lightweight. Prosody uses fewer resources than its counterparts and is designed to be easy to configure and run. [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging/) may be better suited for larger applications, but for most independent and small scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for running an XMPP server for a very small base of users, or for XMPP development. +Prosody is a XMPP/Jabber server programmed in Lua that is simple and lightweight. Prosody uses fewer resources than its counterparts and is designed to be easy to configure and run. [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging) may be better suited for larger applications, but for most independent and small scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for running an XMPP server for a very small base of users, or for XMPP development. ## Adding Software Repositories @@ -138,7 +138,7 @@ Component "conference.example.com" "muc" {{< /file >}} -In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview/)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. +In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. MUC, in contrast to many other common components in the XMPP world, is provided internally by Prosody. Other components, like transports to other services, run on an external interface. Each external component has its own host name, and provides a secret key which allows the central server to authenticate to it. See the following "aim.example.com" component as an example. @@ -164,7 +164,7 @@ component_ports = { 8888, 8887 } The XMPP protocol supports "in-band" registration, where users can register for accounts with your server via the XMPP interface. However, this is often an undesirable function as it doesn't permit the server administrator the ability to moderate the creation of new accounts and can lead to spam-related problems. As a result, Prosody has this functionality disabled by default. While you can enable in-band registration, we recommend using the `prosodyctl` interface at the terminal prompt. -If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) `prosodyctl` mimics its counterpart as much as possible. +If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) `prosodyctl` mimics its counterpart as much as possible. To use `prosodyctl` to register a user, in this case `lollipop@example.com`, issue the following command: diff --git a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-12-04-precise-pangolin/index.md index c114c8c66c3..1a4a338469c 100644 --- a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-12-04-precise-pangolin/index.md @@ -22,7 +22,7 @@ relations: deprecated: true --- -Prosody is a XMPP/Jabber server programmed in Lua that is simple and lightweight. Prosody uses fewer resources than its counterparts and is designed to be easy to configure and run. [Ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging/) may be better suited for larger applications, but for most independent and small-scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for running an XMPP server for a very small base of users, or for XMPP development. +Prosody is a XMPP/Jabber server programmed in Lua that is simple and lightweight. Prosody uses fewer resources than its counterparts and is designed to be easy to configure and run. [Ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging) may be better suited for larger applications, but for most independent and small-scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for running an XMPP server for a very small base of users, or for XMPP development. Before we begin with the installation and configuration of Prosody, we assume that you have a running and up-to-date installation of Ubuntu 12.04 (Precise Pangolin), have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, and have logged in via SSH as root. @@ -144,7 +144,7 @@ Component "conference.example.com" "muc" {{< /file >}} -In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview/)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. +In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. MUC, in contrast to many other common components in the XMPP world, is provided internally by Prosody. Other components, like transports to other services, run on an external interface. Each external component has its own host name, and provides a secret key which allows the central server to authenticate to it. See the following "aim.example.com" component as an example. @@ -170,7 +170,7 @@ component_ports = { 8888, 8887 } The XMPP protocol supports "in-band" registration, where users can register for accounts with your server via the XMPP interface. However, this is often an undesirable function as it doesn't permit the server administrator the ability to moderate the creation of new accounts and can lead to spam-related problems. As a result, Prosody has this functionality disabled by default. While you can enable in-band registration, we recommend using the `prosodyctl` interface at the terminal prompt. -If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) `prosodyctl` mimics its counterpart as much as possible. +If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) `prosodyctl` mimics its counterpart as much as possible. To use `prosodyctl` to register a user, in this case `username@example.com`, issue the following command: diff --git a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-8-04-hardy/index.md b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-8-04-hardy/index.md index 98a4d1438da..f6b30aa839f 100644 --- a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-8-04-hardy/index.md +++ b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-8-04-hardy/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Prosody is a Lua-based XMPP/Jabber server, designed with minimalist ideas and goals. It has low resource requirements and is intended to be easy to configure and run. As a result, Prosody may not scale to the same level [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging/) can. However, for most independent and small scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for XMPP development, or running an XMPP server for a very small base of users. +Prosody is a Lua-based XMPP/Jabber server, designed with minimalist ideas and goals. It has low resource requirements and is intended to be easy to configure and run. As a result, Prosody may not scale to the same level [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging) can. However, for most independent and small scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for XMPP development, or running an XMPP server for a very small base of users. Before we begin with the installation and configuration of Prosody, we assume that you have a running and up to date installation of Ubuntu Hardy, have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have logged in via SSH as root. @@ -134,7 +134,7 @@ Component "conference.example.com" "muc" {{< /file >}} -In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview/)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. +In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. MUC, in contrast to many other common components in the XMPP world, is provided internally by Prosody. Other components, like transports to other services, run on an external interface. Each external component has its own host name, and provides a secret key which allows the central server to authenticate to it. See the following "aim.example.com" component as an example. @@ -162,7 +162,7 @@ Host "*" The XMPP protocol supports "in-band" registration, where users can register for accounts with your server via the XMPP interface. However, this is often an undesirable function as it doesn't permit the server administrator the ability to moderate the creation of new accounts and can lead to spam-related problems. As a result, Prosody has this functionality disabled by default. While you can enable in-band registration, we recommend using the `prosodyctl` interface at the terminal prompt. -If you're familiar with the `ejabberdctl` interface from [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/), `prosodyctl` mimics its counterpart as much as possible. +If you're familiar with the `ejabberdctl` interface from [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04), `prosodyctl` mimics its counterpart as much as possible. To use `prosodyctl` to register a user, in this case `lollipop@example.com`, issue the following command: diff --git a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-9-04-jaunty/index.md b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-9-04-jaunty/index.md index ffae6f5c1a2..b0f326e2803 100644 --- a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-9-04-jaunty/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Prosody is a XMPP/Jabber server programmed in Lua that is simple and lightweight. Prosody uses fewer resources than its counterparts and is designed to be easy to configure and run. [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging/) may be better suited for larger applications, but for most independent and small scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for running an XMPP server for a very small base of users, or for XMPP development. +Prosody is a XMPP/Jabber server programmed in Lua that is simple and lightweight. Prosody uses fewer resources than its counterparts and is designed to be easy to configure and run. [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging) may be better suited for larger applications, but for most independent and small scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for running an XMPP server for a very small base of users, or for XMPP development. Before we begin with the installation and configuration of Prosody, we assume that you have a running and up to date installation of Ubuntu Jaunty, have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have logged in via SSH as root. @@ -156,7 +156,7 @@ Component "conference.example.com" "muc" {{< /file >}} -In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview/)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. +In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record,](/cloud/guides/dns-overview)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. MUC, in contrast to many other common components in the XMPP world, is provided internally by Prosody. Other components, like transports to other services, run on an external interface. Each external component has its own host name, and provides a secret key which allows the central server to authenticate to it. See the following "aim.example.com" component as an example. @@ -184,7 +184,7 @@ Host "*" The XMPP protocol supports "in-band" registration, where users can register for accounts with your server via the XMPP interface. However, this is often an undesirable function as it doesn't permit the server administrator the ability to moderate the creation of new accounts and can lead to spam-related problems. As a result, Prosody has this functionality disabled by default. While you can enable in-band registration, we recommend using the `prosodyctl` interface at the terminal prompt. -If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) `prosodyctl` mimics its counterpart as much as possible. +If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) `prosodyctl` mimics its counterpart as much as possible. To use `prosodyctl` to register a user, in this case `lollipop@example.com`, issue the following command: diff --git a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-9-10-karmic/index.md b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-9-10-karmic/index.md index 371fdd94254..a5f8ed0e281 100644 --- a/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/applications/messaging/installing-prosody-xmpp-server-on-ubuntu-9-10-karmic/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Prosody is a XMPP/Jabber server programmed in Lua that is simple and lightweight. Prosody uses fewer resources than its counterparts and is designed to be easy to configure and run. [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging/) may be better suited for larger applications, but for most independent and small scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for running an XMPP server for a very small base of users, or for XMPP development. +Prosody is a XMPP/Jabber server programmed in Lua that is simple and lightweight. Prosody uses fewer resources than its counterparts and is designed to be easy to configure and run. [ejabberd](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) or [OpenFire](/cloud/guides/install-openfire-on-ubuntu-12-04-for-instant-messaging) may be better suited for larger applications, but for most independent and small scale uses Prosody is a more resource-efficient solution. Prosody is a very good candidate for running an XMPP server for a very small base of users, or for XMPP development. Before we begin with the installation and configuration of Prosody, we assume that you have a running and up to date installation of Ubuntu Karmic, have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have logged in via SSH as root. @@ -162,7 +162,7 @@ Component "conference.example.com" "muc" {{< /file >}} -In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record](/cloud/guides/dns-overview/)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. +In this example, `conference.example.com` is the domain where the MUC rooms are located, and will require an "[DNS A record](/cloud/guides/dns-overview)" that points to the IP Address where the Prosody instance is running. MUCs will be identified as JIDs (Jabber IDs) at this hostname, so for instance the "rabbits" MUC hosted by this server would be located at `rabbits@conference.example.com`. MUC, in contrast to many other common components in the XMPP world, is provided internally by Prosody. Other components, like transports to other services, run on an external interface. Each external component has its own host name, and provides a secret key which allows the central server to authenticate to it. See the following "aim.example.com" component as an example. @@ -188,7 +188,7 @@ component_ports = { 8888, 8887 } The XMPP protocol supports "in-band" registration, where users can register for accounts with your server via the XMPP interface. However, this is often an undesirable function as it doesn't permit the server administrator the ability to moderate the creation of new accounts and can lead to spam-related problems. As a result, Prosody has this functionality disabled by default. While you can enable in-band registration, we recommend using the `prosodyctl` interface at the terminal prompt. -If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) `prosodyctl` mimics its counterpart as much as possible. +If you're familiar with the `ejabberdctl` interface from [ejabberd,](/cloud/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04) `prosodyctl` mimics its counterpart as much as possible. To use `prosodyctl` to register a user, in this case `lollipop@example.com`, issue the following command: diff --git a/docs/guides/applications/messaging/installing-riot-on-debian-10/index.md b/docs/guides/applications/messaging/installing-riot-on-debian-10/index.md index e607d63cd18..ea64fda86d6 100644 --- a/docs/guides/applications/messaging/installing-riot-on-debian-10/index.md +++ b/docs/guides/applications/messaging/installing-riot-on-debian-10/index.md @@ -29,7 +29,7 @@ If you choose to configure a firewall, remember to open ports 80 and 443 for the 1. To connect to the Synapse / Matrix services with a client other than Riot, you need a [Matrix client](https://matrix.org/clients/). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Setup DNS @@ -43,7 +43,7 @@ So in this example, create DNS records for: Set each of the above DNS records to the public IP address of the Linode instance. -Refer to [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) for more information on configuring +Refer to [Add DNS Records](/cloud/guides/set-up-web-server-host-website#add-dns-records) for more information on configuring DNS entries or consult your DNS provider's documentation if using an external DNS provider. ## Install Riot diff --git a/docs/guides/applications/messaging/installing-rocketchat-ubuntu-16-04/index.md b/docs/guides/applications/messaging/installing-rocketchat-ubuntu-16-04/index.md index 2b5ab6496f3..008453d05a3 100644 --- a/docs/guides/applications/messaging/installing-rocketchat-ubuntu-16-04/index.md +++ b/docs/guides/applications/messaging/installing-rocketchat-ubuntu-16-04/index.md @@ -28,7 +28,7 @@ This guide provides the steps to deploy Rocket.Chat on a Linode running Ubuntu 1 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) steps to register a domain name that will point to your Rocket.Chat server instance. +1. Complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website#add-dns-records) steps to register a domain name that will point to your Rocket.Chat server instance. ## Install Rocket.Chat diff --git a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-centos-5/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-centos-5/index.md index 43b4f9bc3fc..8341525e081 100644 --- a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-centos-5/index.md +++ b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-centos-5/index.md @@ -37,7 +37,7 @@ Though you can successfully run an XMPP server with only a passing familiarity o Again, the resource is optional; although XMPP allows a single JID to be connected to the server from multiple machines (i.e. resources), the resource adds a useful amount of specificity. - The XMPP system is federated by nature. Users with accounts on one server--if the server administrators allow it--can communicate with users on other servers. Without a centralized server, every XMPP server maintains the accounts and serves as the communication gateway for their own users. In the XMPP system there is no single point of failure, however each server administrator can decide how their server is going to participate in the federated network. For instance, to federate with Google's "GTalk" XMPP network, server administrators need to have server-to-server (s2s) SSL/TLS encryption enabled, while other servers don't always require this. -- XMPP takes advantage of ["SRV" DNS Records](/cloud/guides/dns-overview/) to support the resolution of domains to the servers which provide DNS records. +- XMPP takes advantage of ["SRV" DNS Records](/cloud/guides/dns-overview) to support the resolution of domains to the servers which provide DNS records. ## Set the Hostname diff --git a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-debian-5-lenny/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-debian-5-lenny/index.md index 773cfe1f928..7a00cf3336f 100644 --- a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-debian-5-lenny/index.md +++ b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-debian-5-lenny/index.md @@ -33,7 +33,7 @@ Though you can successfully run an XMPP server with only a passing familiarity o Again, the resource is optional; although XMPP allows a single JID to be connected to the server from multiple machines (i.e. resources), the resource adds a useful amount of specificity. - The XMPP system is federated by nature. Users with accounts on one server--if the server administrators allow it--can communicate with users on other servers. Without a centralized server, every XMPP server maintains the accounts and serves as the communication gateway for their own users. In the XMPP system there is no single point of failure, however each server administrator can decide how their server is going to participate in the federated network. For instance, to federate with Google's "GTalk" XMPP network, server administrators need to have server-to-server (s2s) SSL/TLS encryption enabled, while other servers don't always require this. -- XMPP takes advantage of ["SRV" DNS Records](/cloud/guides/dns-overview/) to support the resolution of domains to the servers which provide DNS records. +- XMPP takes advantage of ["SRV" DNS Records](/cloud/guides/dns-overview) to support the resolution of domains to the servers which provide DNS records. ## Install ejabberd diff --git a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-fedora-13/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-fedora-13/index.md index 78958bf0450..d73bcc58121 100644 --- a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-fedora-13/index.md +++ b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true Ejabberd, the Erlang Jabber Daemon, is an extensible, flexible and very high performance XMPP server written in the Erlang programming language. With a web-based interface and broad support for [XMPP standards](http://xmpp.org/), ejabberd is an ideal general-use and multi-purpose XMPP server. Although ejabberd is considered "heavyweight" by some due to the requirements of the Erlang runtimes, it is incredibly robust and can scale to support heavy loads. It even includes support for hosting multiple domains virtually. -Before installing ejabberd, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing ejabberd, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## XMPP/Jabber Basics @@ -33,7 +33,7 @@ Though you can successfully run an XMPP server with only a passing familiarity o Again, the resource is optional; although XMPP allows a single JID to be connected to the server from multiple machines (i.e. resources), the resource adds a useful amount of specificity. - The XMPP system is federated by nature. Users with accounts on one server--if the server administrators allow it--can communicate with users on other servers. Without a centralized server, every XMPP server maintains the accounts and serves as the communication gateway for their own users. In the XMPP system there is no single point of failure, however each server administrator can decide how their server is going to participate in the federated network. For instance, to federate with Google's "GTalk" XMPP network, server administrators need to have server-to-server (s2s) SSL/TLS encryption enabled, while other servers don't always require this. -- XMPP takes advantage of ["SRV" DNS Records](/cloud/guides/dns-overview/) to support the resolution of domains to the servers which provide DNS records. +- XMPP takes advantage of ["SRV" DNS Records](/cloud/guides/dns-overview) to support the resolution of domains to the servers which provide DNS records. ## Set the Hostname diff --git a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-8-04-hardy/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-8-04-hardy/index.md index 51745e471ec..67114b302dd 100644 --- a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-8-04-hardy/index.md +++ b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-8-04-hardy/index.md @@ -33,7 +33,7 @@ Though you can successfully run an XMPP server with only a passing familiarity o Again, the resource is optional; although XMPP allows a single JID to be connected to the server from multiple machines (i.e. resources), the resource adds a useful amount of specificity. - The XMPP system is federated by nature. Users with accounts on one server--if the server administrators allow it--can communicate with users on other servers. Without a centralized server, every XMPP server maintains the accounts and serves as the communication gateway for their own users. In the XMPP system there is no single point of failure, however each server administrator can decide how their server is going to participate in the federated network. For instance, to federate with Google's "GTalk" XMPP network, server administrators need to have server-to-server (s2s) SSL/TLS encryption enabled, while other servers don't always require this. -- XMPP takes advantage of ["SRV" DNS records](/cloud/guides/dns-overview/) to support the resolution of domains to the servers which provide DNS records. +- XMPP takes advantage of ["SRV" DNS records](/cloud/guides/dns-overview) to support the resolution of domains to the servers which provide DNS records. ## Install ejabberd diff --git a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-9-04-jaunty/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-9-04-jaunty/index.md index 5ee72ae1ebc..72b8bd7f560 100644 --- a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-9-04-jaunty/index.md @@ -33,7 +33,7 @@ Though you can successfully run an XMPP server with only a passing familiarity o Again, the resource is optional; although XMPP allows a single JID to be connected to the server from multiple machines (i.e. resources), the resource adds a useful amount of specificity. - The XMPP system is federated by nature. Users with accounts on one server--if the server administrators allow it--can communicate with users on other servers. Without a centralized server, every XMPP server maintains the accounts and serves as the communication gateway for their own users. In the XMPP system there is no single point of failure, however each server administrator can decide how their server is going to participate in the federated network. For instance, to federate with Google's "GTalk" XMPP network, server administrators need to have server-to-server (s2s) SSL/TLS encryption enabled, while other servers don't always require this. -- XMPP takes advantage of ["SRV" DNS records](/cloud/guides/dns-overview/) to support the resolution of domains to the servers which provide DNS records. +- XMPP takes advantage of ["SRV" DNS records](/cloud/guides/dns-overview) to support the resolution of domains to the servers which provide DNS records. ## Enabling the Universe Repository diff --git a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-9-10-karmic/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-9-10-karmic/index.md index 34ffcc4cfab..2926abbff28 100644 --- a/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/applications/messaging/instant-messaging-services-with-ejabberd-on-ubuntu-9-10-karmic/index.md @@ -33,7 +33,7 @@ Though you can successfully run an XMPP server with only a passing familiarity o Again, the resource is optional; although XMPP allows a single JID to be connected to the server from multiple machines (i.e. resources), the resource adds a useful amount of specificity. - The XMPP system is federated by nature. Users with accounts on one server--if the server administrators allow it--can communicate with users on other servers. Without a centralized server, every XMPP server maintains the accounts and serves as the communication gateway for their own users. In the XMPP system there is no single point of failure, however each server administrator can decide how their server is going to participate in the federated network. For instance, to federate with Google's "GTalk" XMPP network, server administrators need to have server-to-server (s2s) SSL/TLS encryption enabled, while other servers don't always require this. -- XMPP takes advantage of ["SRV" DNS records](/cloud/guides/dns-overview/) to support the resolution of domains to the servers which provide DNS records. +- XMPP takes advantage of ["SRV" DNS records](/cloud/guides/dns-overview) to support the resolution of domains to the servers which provide DNS records. ## Enabling the Universe Repository diff --git a/docs/guides/applications/messaging/linode-object-storage-with-mastodon/index.md b/docs/guides/applications/messaging/linode-object-storage-with-mastodon/index.md index f330326afae..8a9ac28bcd3 100644 --- a/docs/guides/applications/messaging/linode-object-storage-with-mastodon/index.md +++ b/docs/guides/applications/messaging/linode-object-storage-with-mastodon/index.md @@ -25,7 +25,7 @@ This guide walks you through configuring a new or existing Mastodon instance to 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Why Use Linode Object Storage with Mastodon? @@ -64,9 +64,9 @@ If you are implementing Linode Object Storage on an existing Mastodon instance, The rest of this guide assumes that you have a complete Mastodon setup running through an NGINX proxy. The examples throughout this guide use the same example domain name in the guide linked below, `example.com`. -To create a new Mastodon instance, follow our guide [How to Install a Mastodon Server](/cloud/guides/install-mastodon-on-ubuntu-2004/). A link in the upper right of the guide allows you to select a Linux distribution for the installation. The beginning of the guide also includes links for creating and configuring a new Linode Compute Instance for running the Mastodon server. +To create a new Mastodon instance, follow our guide [How to Install a Mastodon Server](/cloud/guides/install-mastodon-on-ubuntu-2004). A link in the upper right of the guide allows you to select a Linux distribution for the installation. The beginning of the guide also includes links for creating and configuring a new Linode Compute Instance for running the Mastodon server. -You may, alternatively, choose to deploy a new Linode with Mastodon via the Linode Marketplace. Take a look at our guide on how to [Deploy Mastodon through the Linode Marketplace](/cloud/marketplace-docs/guides/mastodon/) to learn more and for instructions. +You may, alternatively, choose to deploy a new Linode with Mastodon via the Linode Marketplace. Take a look at our guide on how to [Deploy Mastodon through the Linode Marketplace](/cloud/marketplace-docs/guides/mastodon) to learn more and for instructions. ### Configuring an NGINX Proxy @@ -189,7 +189,7 @@ The process for adding object storage support to your Mastodon instance requires docker compose restart ``` -At this point, your Mastodon instance is ready to start storing media on your Linode Object Storage bucket. Unless you are working on an existing Mastodon instance, you can skip to the [Verifying the Results](/cloud/guides/linode-object-storage-with-mastodon/#verifying-the-results) section further to test your configuration. +At this point, your Mastodon instance is ready to start storing media on your Linode Object Storage bucket. Unless you are working on an existing Mastodon instance, you can skip to the [Verifying the Results](/cloud/guides/linode-object-storage-with-mastodon#verifying-the-results) section further to test your configuration. ### Syncing Existing Data @@ -199,7 +199,7 @@ To do so, you can use a tool for managing Amazon S3-compatible storage to copy l However, this guide uses the powerful and flexible [rclone](https://rclone.org/s3/). `rclone` operates on a wide range of storage devices and platforms, not just S3, and it is exceptional for syncing across storage mediums. -1. Follow our guide on [How to Use Rclone to Sync Files to Linode Object Storage](/cloud/guides/rclone-object-storage-file-sync/) to install and configure `rclone` on your system. During the configuration process, make the following adjustments. +1. Follow our guide on [How to Use Rclone to Sync Files to Linode Object Storage](/cloud/guides/rclone-object-storage-file-sync) to install and configure `rclone` on your system. During the configuration process, make the following adjustments. - For `region`, enter the region designation for your Linode Object Storage bucket. This guide has been using `us-southeast-1` as an example. diff --git a/docs/guides/applications/messaging/manually-deploy-jitsi-cluster/index.md b/docs/guides/applications/messaging/manually-deploy-jitsi-cluster/index.md index 6f26ae63d0c..5e5f8460e99 100644 --- a/docs/guides/applications/messaging/manually-deploy-jitsi-cluster/index.md +++ b/docs/guides/applications/messaging/manually-deploy-jitsi-cluster/index.md @@ -16,7 +16,7 @@ external_resources: This guide walks through creating a scalable Jitsi Meet cluster using [Ansible](https://www.ansible.com/). The provided Ansible playbook creates an initial deployment that can then be scaled up or down as needed. -If you wish to deploy Jitsi automatically rather than manually, consider either our single-instance [Jitsi Quick Deploy App deployment](/cloud/marketplace-docs/guides/jitsi/) or our [Jitsi Cluster Quick Deploy App deployment](/cloud/marketplace-docs/guides/jitsi-cluster/). +If you wish to deploy Jitsi automatically rather than manually, consider either our single-instance [Jitsi Quick Deploy App deployment](/cloud/marketplace-docs/guides/jitsi) or our [Jitsi Cluster Quick Deploy App deployment](/cloud/marketplace-docs/guides/jitsi-cluster). ## Architecture Diagram @@ -56,7 +56,7 @@ The following software and components must be installed and configured on your l - A [Linode API access token](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) -- A configured [SSH key pair](/cloud/guides/use-public-key-authentication-with-ssh/) along with your public key +- A configured [SSH key pair](/cloud/guides/use-public-key-authentication-with-ssh) along with your public key - The [Git](https://git-scm.com/) utility @@ -189,7 +189,7 @@ All secrets are encrypted with the Ansible Vault utility as a best practice. - `jitsi_type`: Compute Instance type and plan for the Jitsi Meet instance - `jvb_type`: Compute Instance type and plan for each JVB instance - `region`: The data center region for the cluster - - `group` and `linode_tags` (optional): Any [groups or tags](/cloud/guides/tags-and-groups/) you wish to apply to your cluster's instances for organizational purposes + - `group` and `linode_tags` (optional): Any [groups or tags](/cloud/guides/tags-and-groups) you wish to apply to your cluster's instances for organizational purposes - `soa_email_address`: An SOA administrator email for DNS records - `jvb_cluster_size`: The number of JVB instances in the cluster deployment - `sudo_username`: A sudo username for each cluster instance diff --git a/docs/guides/applications/messaging/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/index.md b/docs/guides/applications/messaging/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/index.md index b09544cc51a..1a424252f8d 100644 --- a/docs/guides/applications/messaging/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/index.md +++ b/docs/guides/applications/messaging/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/index.md @@ -36,7 +36,7 @@ Although you can successfully run an XMPP server with only a passing familiarity Again, the resource is optional; although XMPP allows a single JID to be connected to the server from multiple machines (i.e. resources), the resource adds a useful amount of specificity. - The XMPP system is federated by nature. Users with accounts on one server - if the server administrators allow it - can communicate with users on other servers. Without a centralized server, each XMPP server maintains the accounts and serves as the communication gateway for its own users. In the XMPP system there is no single point of failure; however, each server administrator can decide how his server is going to participate in the federated network. For instance, to federate with Google's "GTalk" XMPP network, server administrators need to have server-to-server (s2s) SSL/TLS encryption enabled, while other servers don't always require this. -- XMPP takes advantage of ["SRV" DNS records](/cloud/guides/dns-overview/) to support the resolution of domains to the servers which provide DNS records. +- XMPP takes advantage of ["SRV" DNS records](/cloud/guides/dns-overview) to support the resolution of domains to the servers which provide DNS records. ## Install ejabberd diff --git a/docs/guides/applications/messaging/using-irssi-for-internet-relay-chat/index.md b/docs/guides/applications/messaging/using-irssi-for-internet-relay-chat/index.md index d53c56ad679..4664479df80 100644 --- a/docs/guides/applications/messaging/using-irssi-for-internet-relay-chat/index.md +++ b/docs/guides/applications/messaging/using-irssi-for-internet-relay-chat/index.md @@ -12,26 +12,26 @@ aliases: [] external_resources: - '[Irssi Project Home Page](http://www.irssi.org/)' - '[Irssi Themes Page](http://irssi.org/themes/)' - - '[Screen for Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/)' + - '[Screen for Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions)' - '[An Effective Guide for Using Screen and Irssi](http://quadpoint.org/articles/irssi)' - '[The Open and Free Technology Community](http://www.oftc.net/oftc/)' - '[The Freenode IRC Network](http://freenode.net/)' - '[GNU Screen](http://www.gnu.org/software/screen/)' - - '[Advanced Irssi Usage](/cloud/guides/advanced-irssi-usage/)' + - '[Advanced Irssi Usage](/cloud/guides/advanced-irssi-usage)' --- ![Using Irssi for Internet Relay Chat](Using-Irssi-for-Internet-Relay-Chat-smg.jpg) **Irssi** is a terminal-based chat client for real-time conversations over Internet Relay Chat (**IRC**). IRC is the common meeting ground for Linode users to exchange knowledge and troubleshoot issues in our public channel, **#linode** on **OFTC**. -Irssi can run on Linux or MAC OS X, either from your local workstation or your Linode. If you are unfamiliar with using a Linux terminal, you may want to review the Linode guides [Using the Terminal](/cloud/guides/using-the-terminal/) and [Introduction to Linux Concepts](/cloud/guides/introduction-to-linux-concepts/). Additionally, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) if you intend to run Irssi on your Linode. +Irssi can run on Linux or MAC OS X, either from your local workstation or your Linode. If you are unfamiliar with using a Linux terminal, you may want to review the Linode guides [Using the Terminal](/cloud/guides/using-the-terminal) and [Introduction to Linux Concepts](/cloud/guides/introduction-to-linux-concepts). Additionally, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) if you intend to run Irssi on your Linode. ## Prerequisites Complete these tasks before you start: - Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -- Make sure **GNU Screen** is installed. It should be by default. See our [Screen Guide](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) for information. +- Make sure **GNU Screen** is installed. It should be by default. See our [Screen Guide](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) for information. ## Installing Irssi @@ -248,4 +248,4 @@ To remove a `hilight`, use the command: ## User-friendly Plugins -Enhance your Irssi experience with user-friendly plugins! Add a full list of open windows to the bottom of the screen, colored nicks, and more. Check out the [Using Plugins](/cloud/guides/advanced-irssi-usage/#use-plugins) section of the [Advanced Irssi Usage](/cloud/guides/advanced-irssi-usage/) guide. +Enhance your Irssi experience with user-friendly plugins! Add a full list of open windows to the bottom of the screen, colored nicks, and more. Check out the [Using Plugins](/cloud/guides/advanced-irssi-usage#use-plugins) section of the [Advanced Irssi Usage](/cloud/guides/advanced-irssi-usage) guide. diff --git a/docs/guides/applications/messaging/using-weechat-for-irc/index.md b/docs/guides/applications/messaging/using-weechat-for-irc/index.md index 54fe2d72fd1..413c164d24a 100644 --- a/docs/guides/applications/messaging/using-weechat-for-irc/index.md +++ b/docs/guides/applications/messaging/using-weechat-for-irc/index.md @@ -11,15 +11,15 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[WeeChat Home Page](http://www.weechat.org/)' - '[GNU Screen](http://www.gnu.org/software/screen/)' - - '[Screen for Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/)' + - '[Screen for Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions)' aliases: [] --- [WeeChat](https://weechat.org/) is a multi-platform, terminal-based Internet Relay Chat (IRC) client written in C. Weechat is intended to be flexible and extensible, and thus has all sorts of plugins written in different languages including Python, Perl, and Ruby. -Many users prefer WeeChat over other graphical and terminal-based clients because of its many features and its customizability. One advantage of terminal-based clients over graphical IRC clients is the ability to detach from your WeeChat instance and come back later, locally or remotely, using a terminal multiplexer such as [Screen](https://www.gnu.org/software/screen/) or [tmux](/cloud/guides/persistent-terminal-sessions-with-tmux/). +Many users prefer WeeChat over other graphical and terminal-based clients because of its many features and its customizability. One advantage of terminal-based clients over graphical IRC clients is the ability to detach from your WeeChat instance and come back later, locally or remotely, using a terminal multiplexer such as [Screen](https://www.gnu.org/software/screen/) or [tmux](/cloud/guides/persistent-terminal-sessions-with-tmux). -WeeChat is usually run in a terminal emulator. It may be run either on your computer, a Linode instance, or any computer running a supported platform. If you run WeeChat on your Linode, you can access WeeChat at any time from any system simply by connecting via SSH and attaching to your Screen or tmux instance. This guide assumes you have read [Using The Terminal](/cloud/guides/using-the-terminal/) and [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/), along with the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). +WeeChat is usually run in a terminal emulator. It may be run either on your computer, a Linode instance, or any computer running a supported platform. If you run WeeChat on your Linode, you can access WeeChat at any time from any system simply by connecting via SSH and attaching to your Screen or tmux instance. This guide assumes you have read [Using The Terminal](/cloud/guides/using-the-terminal) and [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics), along with the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). ## What is IRC? @@ -43,12 +43,12 @@ A user is often represented as `nickname!username@host`. 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Using GNU Screen -GNU Screen allows you to start WeeChat and leave it running, even if you disconnect from your Linode. We recommend running WeeChat in Screen, so our instructions include Screen-specific commands. For more information, see [Using GNU Screen to Manage Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/). +GNU Screen allows you to start WeeChat and leave it running, even if you disconnect from your Linode. We recommend running WeeChat in Screen, so our instructions include Screen-specific commands. For more information, see [Using GNU Screen to Manage Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions). ## Installing WeeChat diff --git a/docs/guides/applications/project-management/how-to-install-and-configure-redmine-on-ubuntu-16-04/index.md b/docs/guides/applications/project-management/how-to-install-and-configure-redmine-on-ubuntu-16-04/index.md index 83210ce3b1a..b738aff748e 100644 --- a/docs/guides/applications/project-management/how-to-install-and-configure-redmine-on-ubuntu-16-04/index.md +++ b/docs/guides/applications/project-management/how-to-install-and-configure-redmine-on-ubuntu-16-04/index.md @@ -28,7 +28,7 @@ This guide will show you how to install and set up Redmine on Ubuntu 16.04 throu ### Before You Begin {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Dependencies diff --git a/docs/guides/applications/project-management/how-to-use-n8n-to-automate-workflows/index.md b/docs/guides/applications/project-management/how-to-use-n8n-to-automate-workflows/index.md index e9761723b70..8743df719d7 100644 --- a/docs/guides/applications/project-management/how-to-use-n8n-to-automate-workflows/index.md +++ b/docs/guides/applications/project-management/how-to-use-n8n-to-automate-workflows/index.md @@ -85,7 +85,7 @@ As an additional resource, community nodes and third-party integrations are avai 1. **Optional**. To access n8n using a domain name, create a DNS `A` record for the subdomain `n8n.example.com`, replacing `example.com` with the actual domain name. Point the record at the IP address of the system hosting n8n. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install, Configure, and Run n8n diff --git a/docs/guides/applications/project-management/install-farmos/index.md b/docs/guides/applications/project-management/install-farmos/index.md index 17febdb7dbb..0e919f435a8 100644 --- a/docs/guides/applications/project-management/install-farmos/index.md +++ b/docs/guides/applications/project-management/install-farmos/index.md @@ -28,7 +28,7 @@ This guide explains how to install, setup and host your own farmOS web app on a {{% content "limited-user-note-shortguide" %}} -1. Install and configure a [LAMP stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/). Skip the configuration steps for setting up MySQL and use the steps outlined in this guide instead. +1. Install and configure a [LAMP stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04). Skip the configuration steps for setting up MySQL and use the steps outlined in this guide instead. ## MySQL Setup @@ -54,7 +54,7 @@ This guide explains how to install, setup and host your own farmOS web app on a ## Download and Install farmOS -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -80,7 +80,7 @@ Ensure that the version number matches the farmOS version you wish to download. sudo a2enmod rewrite -1. Specify the rewrite conditions for your farmOS site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. +1. Specify the rewrite conditions for your farmOS site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. {{< file "/etc/apache2/sites-available/example.com.conf" conf >}} @@ -127,7 +127,7 @@ Ensure that the version number matches the farmOS version you wish to download. ![welcome](welcome.png) -1. After the installation has finished, you may want to reset your file permissions to avoid security vulnerabilities from your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory: +1. After the installation has finished, you may want to reset your file permissions to avoid security vulnerabilities from your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory: sudo chmod 644 sites/default sudo chmod 644 ./sites/default/settings.php diff --git a/docs/guides/applications/project-management/manage-projects-with-redmine-on-debian-5-lenny/index.md b/docs/guides/applications/project-management/manage-projects-with-redmine-on-debian-5-lenny/index.md index 48407f6c8c9..e8d6c7cfd78 100644 --- a/docs/guides/applications/project-management/manage-projects-with-redmine-on-debian-5-lenny/index.md +++ b/docs/guides/applications/project-management/manage-projects-with-redmine-on-debian-5-lenny/index.md @@ -113,7 +113,7 @@ Issue the following commands to enable proxy support: a2enmod proxy_http /etc/init.d/apache2 restart -Configure an Apache virtualhost for your Redmine installation. The example shown below assumes Apache is configured as recommended in our [Ubuntu 10.04 LAMP guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/). Remember to replace "12.34.56.78" with your Linode's IP address, `support@example.com` with your administrative email address, and "redmine.example.com" with your Redmine domain. +Configure an Apache virtualhost for your Redmine installation. The example shown below assumes Apache is configured as recommended in our [Ubuntu 10.04 LAMP guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid). Remember to replace "12.34.56.78" with your Linode's IP address, `support@example.com` with your administrative email address, and "redmine.example.com" with your Redmine domain. {{< file "/etc/apache2/sites-available/redmine.example.com" apache >}} diff --git a/docs/guides/applications/project-management/manage-projects-with-redmine-on-debian-6-squeeze/index.md b/docs/guides/applications/project-management/manage-projects-with-redmine-on-debian-6-squeeze/index.md index 250fb9fb761..624528cc10b 100644 --- a/docs/guides/applications/project-management/manage-projects-with-redmine-on-debian-6-squeeze/index.md +++ b/docs/guides/applications/project-management/manage-projects-with-redmine-on-debian-6-squeeze/index.md @@ -158,7 +158,7 @@ Issue the following commands to enable proxy support: a2enmod proxy_http /etc/init.d/apache2 restart -Configure an Apache virtualhost for your Redmine installation. The example shown below assumes Apache is configured as recommended in our [Debian 6 LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/). Remember to replace "12.34.56.78" with your Linode's IP address, `support@example.com` with your administrative email address, and "redmine.example.com" with your Redmine domain. +Configure an Apache virtualhost for your Redmine installation. The example shown below assumes Apache is configured as recommended in our [Debian 6 LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11). Remember to replace "12.34.56.78" with your Linode's IP address, `support@example.com` with your administrative email address, and "redmine.example.com" with your Redmine domain. {{< file "/etc/apache2/sites-available/redmine.example.com" apache >}} diff --git a/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-10-04-lts-lucid/index.md index a178aefe409..38c42586f3e 100644 --- a/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-10-04-lts-lucid/index.md @@ -158,7 +158,7 @@ Issue the following commands to enable proxy support: a2enmod proxy_http /etc/init.d/apache2 restart -Configure an Apache virtualhost for your Redmine installation. The example shown below assumes Apache is configured as recommended in our [Ubuntu 10.04 LAMP guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/). Remember to replace "12.34.56.78" with your Linode's IP address, `support@example.com` with your administrative email address, and "redmine.example.com" with your Redmine domain. +Configure an Apache virtualhost for your Redmine installation. The example shown below assumes Apache is configured as recommended in our [Ubuntu 10.04 LAMP guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid). Remember to replace "12.34.56.78" with your Linode's IP address, `support@example.com` with your administrative email address, and "redmine.example.com" with your Redmine domain. {{< file "/etc/apache2/sites-available/redmine.example.com" apache >}} diff --git a/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-9-10-karmic/index.md b/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-9-10-karmic/index.md index c2b48a8ccd3..68e6e66868f 100644 --- a/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-9-10-karmic/index.md @@ -130,7 +130,7 @@ Issue the following commands to enable proxy support: a2enmod proxy_http /etc/init.d/apache2 restart -Configure an Apache virtualhost for your Redmine installation. The example shown below assumes Apache is configured as recommended in our [Ubuntu 9.10 LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/). Remember to replace "12.34.56.78" with your Linode's IP address. +Configure an Apache virtualhost for your Redmine installation. The example shown below assumes Apache is configured as recommended in our [Ubuntu 9.10 LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic). Remember to replace "12.34.56.78" with your Linode's IP address. {{< file "/etc/apache2/sites-available/redmine.example.com" apache >}} diff --git a/docs/guides/applications/project-management/monitor-your-website-changes-with-huginn-agents/index.md b/docs/guides/applications/project-management/monitor-your-website-changes-with-huginn-agents/index.md index 15f1ac1e267..b6eeb1635da 100644 --- a/docs/guides/applications/project-management/monitor-your-website-changes-with-huginn-agents/index.md +++ b/docs/guides/applications/project-management/monitor-your-website-changes-with-huginn-agents/index.md @@ -24,12 +24,12 @@ external_resources: 1. Huginn supports Debian and Ubuntu Linux distributions, and this guide's instructions are intended for these distributions as well. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Docker and Docker Compose -This guide uses [Docker](https://www.docker.com/) to run Huginn. Huginn maintains an [official Docker setup](https://github.com/huginn/huginn/blob/master/doc/docker/install.md), to help you get your instance up and running. If you are new to using Docker, it is recommended that you review the [Introduction to Docker](/cloud/guides/introduction-to-docker/) guide. +This guide uses [Docker](https://www.docker.com/) to run Huginn. Huginn maintains an [official Docker setup](https://github.com/huginn/huginn/blob/master/doc/docker/install.md), to help you get your instance up and running. If you are new to using Docker, it is recommended that you review the [Introduction to Docker](/cloud/guides/introduction-to-docker) guide. It is possible to manually install Huginn. However, the Docker method is used in this guide since Huginn does not support the manual installation method for the latest Debian and Ubuntu releases. However, Huginn maintains [manual installation instructions](https://github.com/huginn/huginn/tree/master/doc/manual) if you prefer that installation path. @@ -43,7 +43,7 @@ Once you have Docker installed, you can quickly run an instance of Huginn to try 1. Navigate to `localhost:3000` in a web browser. You can use an SSH tunnel to visit the Huginn instance remotely. - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with **3000**. + - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) guide, replacing the example port number there with **3000**. - On OS X or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. ssh -L3000:localhost:3000 example-user@192.0.2.0 @@ -72,7 +72,7 @@ Docker can also be used to set up a full-fledged and persistent instance of Hugi EMAIL_FROM_ADDRESS=huginn@example-smtp-domain.com - You can create your own SMTP server by following the [Email with Postfix, Dovecot, and MySQL/MariaDB](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide. + You can create your own SMTP server by following the [Email with Postfix, Dovecot, and MySQL/MariaDB](/cloud/guides/email-with-postfix-dovecot-and-mysql) guide. Alternatively, you can use a third-party SMTP service, like [Mailgun](https://www.mailgun.com/). The following is an example of the above configuration for a Mailgun SMTP account. diff --git a/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-centos-5/index.md b/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-centos-5/index.md index 1aa6ec8b69c..63e5c5758cc 100644 --- a/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-centos-5/index.md +++ b/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-centos-5/index.md @@ -24,7 +24,7 @@ deprecated: true The EGroupware suite provides a group of server-based applications that offer collaboration and enterprise-targeted tools to help enable communication and information sharing between teams and institutions. These tools are tightly coupled and allow users to take advantage of data from one system, like the address book, and make use of it in other systems, including the calendar, CRM, and email systems. EGroupware is designed to be flexible and adaptable, and is capable of scaling to meet the demands of a diverse class of enterprise needs and work groups, all without the need to rely on a third-party vendor. As EGroupware provides its applications entirely independent of any third party service, the suite is a good option for organizations who need web-based groupware solutions, but do not want to rely on a third party provider for these services. -Before installing EGroupware, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/).Additionally, you will need install a [LAMP stack](/cloud/guides/lamp-server-on-centos-5/) as a prerequisite for installing EGroupware. +Before installing EGroupware, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics).Additionally, you will need install a [LAMP stack](/cloud/guides/lamp-server-on-centos-5) as a prerequisite for installing EGroupware. ## Install EGroupware diff --git a/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-debian-5-lenny/index.md b/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-debian-5-lenny/index.md index 5baa2242ded..a2d099cd2fa 100644 --- a/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-debian-5-lenny/index.md +++ b/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true The EGroupware suite provides a group of server-based applications that offer collaboration and enterprise-targeted tools to help enable communication and information sharing between teams and institutions. These tools are tightly coupled and allow users to take advantage of data from one system, like the address book, and make use of it in other systems, including the calendar, CRM, and email systems. EGroupware is designed to be flexible and adaptable, and is capable of scaling to meet the demands of a diverse class of enterprise needs and work groups, all without the need to rely on a third-party vendor. As EGroupware provides its applications entirely independent of any third party service, the suite is a good option for organizations who need web-based groupware solutions, but do not want to rely on a third party provider for these services. -Before installing EGroupware we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you will need install a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) as a prerequisite for installing EGroupware. You may also want to use EGroupware to help manage email, and will need to have a running email system. Consider running [Postfix with Courier and MySQL](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/). +Before installing EGroupware we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, you will need install a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11) as a prerequisite for installing EGroupware. You may also want to use EGroupware to help manage email, and will need to have a running email system. Consider running [Postfix with Courier and MySQL](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny). ## Install EGroupware diff --git a/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-fedora-13/index.md b/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-fedora-13/index.md index a861daacdb0..ebed3a87f12 100644 --- a/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-fedora-13/index.md +++ b/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true The EGroupware suite provides a group of server-based applications that offer collaboration and enterprise-targeted tools to help enable communication and information sharing between teams and institutions. These tools are tightly coupled and allow users to take advantage of data from one system, like the address book, and make use of it in other systems including the calendar, CRM, and email systems. EGroupware is designed to be flexible and adaptable, and is capable of scaling to meet the demands of a diverse class of enterprise needs and work groups without the need to rely on a third-party vendor. -Before installing EGroupware, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you will need install a [LAMP stack](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) as a prerequisite for installing EGroupware. +Before installing EGroupware, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, you will need install a [LAMP stack](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux) as a prerequisite for installing EGroupware. ## Install EGroupware diff --git a/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-ubuntu-9-10-karmic/index.md b/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-ubuntu-9-10-karmic/index.md index a7b528dab02..c9174666ac3 100644 --- a/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/applications/project-management/power-team-collaboration-with-egroupware-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true The EGroupware suite provides a group of server-based applications that offer collaboration and enterprise-targeted tools to help enable communication and information sharing between teams and institutions. These tools are tightly coupled and allow users to take advantage of data from one system, like the address book, and make use of it in other systems, including the calendar, CRM, and email systems. EGroupware is designed to be flexible and adaptable, and is capable of scaling to meet the demands of a diverse class of enterprise needs and work groups, all without the need to rely on a third-party vendor. As EGroupware provides its applications entirely independent of any third party service, the suite is a good option for organizations who need web-based groupware solutions, but do not want to rely on a third party provider for these services. -Before installing EGroupware, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you will need install a [LAMP stack](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/) as a prerequisite for installing EGroupware. +Before installing EGroupware, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, you will need install a [LAMP stack](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic) as a prerequisite for installing EGroupware. ## Install EGroupware @@ -85,7 +85,7 @@ Replace `/srv/example.com/public_html/` with the path to your virtual host's `Do When you have completed the initial "Header Setup," select the option to write the "header" file and then continue to the "Setup/Admin." Ensure that you've selected the correct "Domain" if you configured more than one. At this juncture you must install the EGroupware applications that you will expect to use. Select the proper character set and then select the button to "'Install' all applications." You can now "Recheck" your installation. Supply EGroupware with the configuration for your email server. Additionally, you will need to create an admin account for your EGroupware domain, which you can accomplish from this page. -When all applications have been installed, you will be provided with a number of options that you can use to fine-tune the operations and behavior of your EGroupware instance. If you wish to use EGroupware to help manage email, you will need to have a running email system. Consider running [Postfix with Courier and MySQL](/cloud/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/). +When all applications have been installed, you will be provided with a number of options that you can use to fine-tune the operations and behavior of your EGroupware instance. If you wish to use EGroupware to help manage email, you will need to have a running email system. Consider running [Postfix with Courier and MySQL](/cloud/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic). ## More Information diff --git a/docs/guides/applications/remote-desktop/centos-install-and-configure-vnc-server/index.md b/docs/guides/applications/remote-desktop/centos-install-and-configure-vnc-server/index.md index 6155ede2a9b..e511e38fe7b 100644 --- a/docs/guides/applications/remote-desktop/centos-install-and-configure-vnc-server/index.md +++ b/docs/guides/applications/remote-desktop/centos-install-and-configure-vnc-server/index.md @@ -30,7 +30,7 @@ relations: 1. In the examples that follow, change `192.0.2.0` to the IP address for your CentOS 8 machine. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install a Desktop GUI @@ -116,7 +116,7 @@ VNC connections are, by default, unencrypted. Therefore, you should use *SSH tun The steps for SSH tunneling vary based on the operating system of the machine you are using to connect to the VNC server. -See [Setting up an SSH Tunnel with Your Linode for Safe Browsing](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) guide for more details and information on using SSH tunneling. +See [Setting up an SSH Tunnel with Your Linode for Safe Browsing](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing) guide for more details and information on using SSH tunneling. ### Linux and macOS @@ -150,7 +150,7 @@ Of the VNC client options for macOS and Windows, [RealVNC Viewer](https://www.re ![Entering a host address in RealVNC Viewer](realvnc-enter-host.png) -1. You are notified that the connection is unencrypted. However, the steps in the [Secure Your VNC Connection](/cloud/guides/centos-install-and-configure-vnc-server/#secure-your-vnc-connection) section above ensure that your connection is securely tunneled. Click **Continue**. +1. You are notified that the connection is unencrypted. However, the steps in the [Secure Your VNC Connection](/cloud/guides/centos-install-and-configure-vnc-server#secure-your-vnc-connection) section above ensure that your connection is securely tunneled. Click **Continue**. ![Notification of unencrypted connection in RealVNC Viewer](realvnc-unencrypted-notification.png "Notification of unencrypted connection in RealVNC Viewer.") diff --git a/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-16-04/index.md b/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-16-04/index.md index 169f1c86bbb..d541e1ea021 100644 --- a/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-16-04/index.md +++ b/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-16-04/index.md @@ -36,7 +36,7 @@ This guide explains how to install a graphic desktop environment on your Linode 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install a Desktop and VNC Server on your Linode @@ -90,7 +90,7 @@ The default VNC connection is unencrypted. In order to secure your passwords and ### Windows -1. Open [PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) and navigate to `Tunnels` under the `SSH` section in the menu. Add a new forwarded port as shown below, replacing `example.com` with your Linode's IP address or hostname: +1. Open [PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) and navigate to `Tunnels` under the `SSH` section in the menu. Add a new forwarded port as shown below, replacing `example.com` with your Linode's IP address or hostname: ![Adding a forwarded port to PuTTY.](1648-vnc-putty-1.png) diff --git a/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-18-04/index.md b/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-18-04/index.md index 4e625043920..ec9944bb0da 100644 --- a/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-18-04/index.md +++ b/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-18-04/index.md @@ -36,7 +36,7 @@ This guide explains how to install a graphic desktop environment on your Linode 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install a Desktop and VNC Server on your Linode @@ -90,7 +90,7 @@ The default VNC connection is unencrypted. In order to secure your passwords and ### Windows -1. Open [PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) and navigate to `Tunnels` under the `SSH` section in the menu. Add a new forwarded port as shown below, replacing `example.com` with your Linode's IP address or hostname: +1. Open [PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) and navigate to `Tunnels` under the `SSH` section in the menu. Add a new forwarded port as shown below, replacing `example.com` with your Linode's IP address or hostname: ![Adding a forwarded port to PuTTY.](1648-vnc-putty-1.png) diff --git a/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-20-04/index.md b/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-20-04/index.md index ede541afe56..d19ec76e755 100644 --- a/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-20-04/index.md +++ b/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-20-04/index.md @@ -32,7 +32,7 @@ This guide explains how to install a graphic desktop environment on your Linode 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install a Desktop and VNC Server on your Linode @@ -83,7 +83,7 @@ The default VNC connection is unencrypted. In order to secure your passwords and ### Windows -1. Open [PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) and navigate to `Tunnels` under the `SSH` section in the menu. Add a new forwarded port as shown below, replacing `example.com` with your Linode's IP address or hostname: +1. Open [PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) and navigate to `Tunnels` under the `SSH` section in the menu. Add a new forwarded port as shown below, replacing `example.com` with your Linode's IP address or hostname: ![Adding a forwarded port to PuTTY.](1648-vnc-putty-1.png) diff --git a/docs/guides/applications/remote-desktop/installing-apache-guacamole-on-ubuntu-and-debian/index.md b/docs/guides/applications/remote-desktop/installing-apache-guacamole-on-ubuntu-and-debian/index.md index 847c4c0d670..c5644c6c5d9 100644 --- a/docs/guides/applications/remote-desktop/installing-apache-guacamole-on-ubuntu-and-debian/index.md +++ b/docs/guides/applications/remote-desktop/installing-apache-guacamole-on-ubuntu-and-debian/index.md @@ -20,12 +20,12 @@ external_resources: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Guacamole Server -1. Log in to the Compute Instance over [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to the Compute Instance over [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Install all required dependencies. For Debian users, replace `libjpeg-turbo8-dev` with `libjpeg62-turbo-dev`. diff --git a/docs/guides/applications/remote-desktop/installing-apache-guacamole-through-docker/index.md b/docs/guides/applications/remote-desktop/installing-apache-guacamole-through-docker/index.md index 411fe3919d2..552a384790e 100644 --- a/docs/guides/applications/remote-desktop/installing-apache-guacamole-through-docker/index.md +++ b/docs/guides/applications/remote-desktop/installing-apache-guacamole-through-docker/index.md @@ -20,7 +20,7 @@ external_resources: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing Docker diff --git a/docs/guides/applications/remote-desktop/remote-cloud-desktop-using-apache-guacamole/index.md b/docs/guides/applications/remote-desktop/remote-cloud-desktop-using-apache-guacamole/index.md index f395c5cdbf6..4872e7c3e8a 100644 --- a/docs/guides/applications/remote-desktop/remote-cloud-desktop-using-apache-guacamole/index.md +++ b/docs/guides/applications/remote-desktop/remote-cloud-desktop-using-apache-guacamole/index.md @@ -25,9 +25,9 @@ Apache Guacamole can be installed and configured on a Linode Compute Instance us 1. **Akamai Quick Deploy Apps:** Deploy the [Apache Guacamole App](https://www.linode.com/marketplace/apps/linode/apache-guacamole/) through Akamai Quick Deploy Apps to automatically install Guacamole, VNC software, and a desktop environment. This is the easiest method and enables you to quickly get up and running without needing to install and configure everything manually. Just note, when choosing this method you are limited to the Distribution Images supported by the Quick Deploy App. -1. **Docker:** Alternatively, you can deploy Apache Guacamole's Docker images and manually configure the software yourself. This method strikes a balance between ease of installation and custom configuration. It may be more advanced, but provides you with greater control over your environment and configuration. See [Installing Apache Guacamole through Docker](/cloud/guides/installing-apache-guacamole-through-docker/) for instructions. +1. **Docker:** Alternatively, you can deploy Apache Guacamole's Docker images and manually configure the software yourself. This method strikes a balance between ease of installation and custom configuration. It may be more advanced, but provides you with greater control over your environment and configuration. See [Installing Apache Guacamole through Docker](/cloud/guides/installing-apache-guacamole-through-docker) for instructions. -1. **Natively:** For maximum control over every step of the installation process, Apache Guacamole can be manually installed on your system from source. This is the most advanced method. If choosing this method, review [Installing Apache Guacamole on Ubuntu and Debian](/cloud/guides/installing-apache-guacamole-on-ubuntu-and-debian/) and then return to this guide. You can also see [Installing Guacamole natively](https://guacamole.apache.org/doc/gug/installing-guacamole.html) on the official documentation for additional instructions. +1. **Natively:** For maximum control over every step of the installation process, Apache Guacamole can be manually installed on your system from source. This is the most advanced method. If choosing this method, review [Installing Apache Guacamole on Ubuntu and Debian](/cloud/guides/installing-apache-guacamole-on-ubuntu-and-debian) and then return to this guide. You can also see [Installing Guacamole natively](https://guacamole.apache.org/doc/gug/installing-guacamole.html) on the official documentation for additional instructions. ## Setting Up VNC and a Desktop Environment diff --git a/docs/guides/applications/remote-desktop/run-graphic-software-on-your-linode-with-xforwarding-on-ubuntu-12-04/index.md b/docs/guides/applications/remote-desktop/run-graphic-software-on-your-linode-with-xforwarding-on-ubuntu-12-04/index.md index 462d8f7f2f9..9b30feddc65 100644 --- a/docs/guides/applications/remote-desktop/run-graphic-software-on-your-linode-with-xforwarding-on-ubuntu-12-04/index.md +++ b/docs/guides/applications/remote-desktop/run-graphic-software-on-your-linode-with-xforwarding-on-ubuntu-12-04/index.md @@ -26,7 +26,7 @@ deprecated: true On occasion you may want to run an application that requires a graphic interface from your Linode. By using X forwarding, this is easy to accomplish. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install X11 on your Linode diff --git a/docs/guides/applications/remote-desktop/running-graphic-software-xforwarding-debian/index.md b/docs/guides/applications/remote-desktop/running-graphic-software-xforwarding-debian/index.md index 9adcb942764..e3550331deb 100644 --- a/docs/guides/applications/remote-desktop/running-graphic-software-xforwarding-debian/index.md +++ b/docs/guides/applications/remote-desktop/running-graphic-software-xforwarding-debian/index.md @@ -25,7 +25,7 @@ relations: On occasion you may want to run an application that requires a graphic interface from your Linode. By using X forwarding, this is easy to accomplish. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install X11 on your Linode diff --git a/docs/guides/applications/remote-desktop/troubleshooting-virtual-network-computing/index.md b/docs/guides/applications/remote-desktop/troubleshooting-virtual-network-computing/index.md index 77b19a11bd1..eea08f5ece8 100644 --- a/docs/guides/applications/remote-desktop/troubleshooting-virtual-network-computing/index.md +++ b/docs/guides/applications/remote-desktop/troubleshooting-virtual-network-computing/index.md @@ -33,7 +33,7 @@ Trouble with VNC usually surrounds one of five problems: VNC requires a clear network path between hosts on the ports chosen, which default to `5901`, and perhaps the range `5900`-`5904`. Both the server and client hosts must have these ports open between hosts. -In Windows, on either a server or client host, this port must be open on both hosts. Linode always recommends using a secure transport, even behind a firewall or other systems security barrier. When using SSH as a transport between VNC Server and Client, refer to the [Connect To A Remote Server](/cloud/guides/connect-to-server-over-ssh/) guide to initially setup and troubleshoot the SSH circuit. +In Windows, on either a server or client host, this port must be open on both hosts. Linode always recommends using a secure transport, even behind a firewall or other systems security barrier. When using SSH as a transport between VNC Server and Client, refer to the [Connect To A Remote Server](/cloud/guides/connect-to-server-over-ssh) guide to initially setup and troubleshoot the SSH circuit. Once the VNC SSH circuit is installed and successfully tested between the proposed VNC server and client hosts, the VNC server must be started in one host, and the client in the other. The VNC server offers and connects its screen information and receives input from both systems keyboards and mice, unless this feature is disabled by configuration on either end. diff --git a/docs/guides/applications/remote-desktop/using-vnc-to-operate-a-desktop-on-ubuntu-12-04/index.md b/docs/guides/applications/remote-desktop/using-vnc-to-operate-a-desktop-on-ubuntu-12-04/index.md index aaee3668b34..2a47a6da122 100644 --- a/docs/guides/applications/remote-desktop/using-vnc-to-operate-a-desktop-on-ubuntu-12-04/index.md +++ b/docs/guides/applications/remote-desktop/using-vnc-to-operate-a-desktop-on-ubuntu-12-04/index.md @@ -59,7 +59,7 @@ The default VNC connection is unencrypted. In order to secure your passwords and ### Windows -1. Open [PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) and navigate under the `SSH` menu to `Tunnels`. Add a new forwarded port as shown below, replacing example.com with your Linode's IP address or hostname: +1. Open [PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) and navigate under the `SSH` menu to `Tunnels`. Add a new forwarded port as shown below, replacing example.com with your Linode's IP address or hostname: ![Adding a forwarded port to PuTTY.](1648-vnc-putty-1.png) diff --git a/docs/guides/applications/remote-desktop/what-is-virtual-network-computing/index.md b/docs/guides/applications/remote-desktop/what-is-virtual-network-computing/index.md index fb1b1be56f1..483d1b292d9 100644 --- a/docs/guides/applications/remote-desktop/what-is-virtual-network-computing/index.md +++ b/docs/guides/applications/remote-desktop/what-is-virtual-network-computing/index.md @@ -68,4 +68,4 @@ Generally, VNC is considered as not being encrypted, and therefore is insecure u - Keyboard languages must generally match between hosts. UTF-8 character sets may require adaptation between hosts so that data entry matches between VNC client and server character sets -VNC has been around since 2000, and has its roots in free open source software. VNC is well-known, and its interoperability can be high. It’s biggest weaknesses are a lack of security (some versions do provide transport layer, authentication, and content encryption). Nonetheless, VNC is popular for cross-platform screen sharing that works from Linux servers to Raspberry Pis, Android, and iOS. See the [Remote Desktop](/cloud/guides/applications/remote-desktop/) section of our documentation library to learn how to install a VNC client and server. +VNC has been around since 2000, and has its roots in free open source software. VNC is well-known, and its interoperability can be high. It’s biggest weaknesses are a lack of security (some versions do provide transport layer, authentication, and content encryption). Nonetheless, VNC is popular for cross-platform screen sharing that works from Linux servers to Raspberry Pis, Android, and iOS. See the [Remote Desktop](/cloud/guides/applications/remote-desktop) section of our documentation library to learn how to install a VNC client and server. diff --git a/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-on-debian-5-lenny/index.md b/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-on-debian-5-lenny/index.md index 15b2c8f212d..4c645421b4b 100644 --- a/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-on-debian-5-lenny/index.md +++ b/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-on-debian-5-lenny/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[The Planet''s Project''s Home Page](http://www.planetplanet.org)' - - '[Using Cron to Schedule Tasks](/cloud/guides/schedule-tasks-with-cron/)' + - '[Using Cron to Schedule Tasks](/cloud/guides/schedule-tasks-with-cron)' relations: platform: key: aggregate-blog-planet @@ -23,7 +23,7 @@ deprecated: true The Planet Feed Aggregator takes a collection of RSS feeds and generates what its founders call a "River of News" feed that combines posts from all sources into a single coherent stream. Thus, this software is useful for providing a simple and consolidated overview of ongoing output from selected blogs. Written and configured in Python and run regularly using cron, Planet is easy to configure and use. -Before beginning to follow this guide, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Beyond this, Planet requires a web server to provide access to the resources it creates, but this document does not depend on specific [web server software](/cloud/guides/web-servers/) software. +Before beginning to follow this guide, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Beyond this, Planet requires a web server to provide access to the resources it creates, but this document does not depend on specific [web server software](/cloud/guides/web-servers) software. ## Installing Software diff --git a/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-on-ubuntu-9-10-karmic/index.md b/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-on-ubuntu-9-10-karmic/index.md index f9cf79b9d16..814d4e1ccae 100644 --- a/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-on-ubuntu-9-10-karmic/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[The Planet''s Project''s Home Page](http://www.planetplanet.org)' - - '[Using Cron to Schedule Tasks](/cloud/guides/schedule-tasks-with-cron/)' + - '[Using Cron to Schedule Tasks](/cloud/guides/schedule-tasks-with-cron)' relations: platform: key: aggregate-blog-planet @@ -23,7 +23,7 @@ deprecated: true The Planet Feed Aggregator takes a collection of RSS feeds and generates what its founders call a "River of News" feed that combines posts from all sources into a single coherent stream. Thus, this software is useful for providing a simple and consolidated overview of ongoing output from selected blogs. Written and configured in Python and run regularly using cron, Planet is easy to configure and use. -Before beginning to follow this guide, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Beyond this, Planet requires a web server to provide access to the resources it creates, but this document does not depend on specific [web server software](/cloud/guides/web-servers/) software. +Before beginning to follow this guide, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Beyond this, Planet requires a web server to provide access to the resources it creates, but this document does not depend on specific [web server software](/cloud/guides/web-servers) software. ## Enabling the Universe Repository diff --git a/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-venus-on-ubuntu-10-04-lucid/index.md b/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-venus-on-ubuntu-10-04-lucid/index.md index 9749410a6ed..45967df5503 100644 --- a/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-venus-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-venus-on-ubuntu-10-04-lucid/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Planet Venus GitHub Repo](https://github.com/rubys/venus)' - - '[Using Cron to Schedule Tasks](/cloud/guides/schedule-tasks-with-cron/)' + - '[Using Cron to Schedule Tasks](/cloud/guides/schedule-tasks-with-cron)' relations: platform: key: aggregate-blog-planet @@ -23,7 +23,7 @@ deprecated: true The Planet (Venus) Feed Aggregator takes a collection of RSS feeds and generates what its founders call a "River of News" feed that combines posts from all sources into a single coherent stream. Thus, this software is useful for providing a simple and consolidated overview of ongoing output from selected blogs. Written and configured in Python and run regularly using cron, Planet Venus is an updated variant of the popular Planet software. -Before beginning to follow this guide, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Beyond this, Planet requires a web server to provide access to the resources it creates, but this document does not depend on specific [web server software](/cloud/guides/web-servers/) software. +Before beginning to follow this guide, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Beyond this, Planet requires a web server to provide access to the resources it creates, but this document does not depend on specific [web server software](/cloud/guides/web-servers) software. ## Installing Software diff --git a/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-venus-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-venus-on-ubuntu-12-04-precise-pangolin/index.md index 90bb251a116..8db03bd27de 100644 --- a/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-venus-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/applications/social-networking/create-an-aggregate-blog-using-planet-venus-on-ubuntu-12-04-precise-pangolin/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Planet Venus GitHub Repo](https://github.com/rubys/venus)' - - '[Using Cron to Schedule Tasks](/cloud/guides/schedule-tasks-with-cron/)' + - '[Using Cron to Schedule Tasks](/cloud/guides/schedule-tasks-with-cron)' relations: platform: key: aggregate-blog-planet @@ -23,7 +23,7 @@ deprecated: true The Planet (Venus) Feed Aggregator takes a collection of RSS feeds and generates what its founders call a "River of News" feed that combines posts from all sources into a single coherent stream. Thus, this software is useful for providing a simple and consolidated overview of ongoing output from selected blogs. Written and configured in Python and run regularly using cron, Planet Venus is an updated variant of the popular Planet software. -Before beginning to follow this guide, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Beyond this, Planet requires a web server to provide access to the resources it creates, but this document does not depend on specific [web server software](/cloud/guides/web-servers/) software. +Before beginning to follow this guide, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Beyond this, Planet requires a web server to provide access to the resources it creates, but this document does not depend on specific [web server software](/cloud/guides/web-servers) software. ## Installing Software @@ -36,7 +36,7 @@ Install the Planet and other required software by issuing the following command: apt-get install apache2 planet-venus -This will also install the Apache HTTP server if you have not already installed this software. Be sure to [configure a name-based virtual host](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/#configuring-a-virtual-host-for-your-domain-on-apache) if you haven't already. You may now begin the configuration of Planet Venus. +This will also install the Apache HTTP server if you have not already installed this software. Be sure to [configure a name-based virtual host](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04#configuring-a-virtual-host-for-your-domain-on-apache) if you haven't already. You may now begin the configuration of Planet Venus. ## Configure Planet diff --git a/docs/guides/applications/social-networking/dolphin/index.md b/docs/guides/applications/social-networking/dolphin/index.md index ffb60ce006f..267a50447dc 100644 --- a/docs/guides/applications/social-networking/dolphin/index.md +++ b/docs/guides/applications/social-networking/dolphin/index.md @@ -21,7 +21,7 @@ deprecated: true ## Dolphin Prerequisites -Dolphin requires a standard LAMP (Linux, Apache, MySQL, and PHP) server. If haven't already created a LAMP server, or just want to make sure that you have everything installed, [take a look at our Hosting a Website guide](/cloud/guides/hosting-a-website-ubuntu-18-04/). After you have a LAMP server running, read through the rest of this section to verify that you have the other prerequisites installed. +Dolphin requires a standard LAMP (Linux, Apache, MySQL, and PHP) server. If haven't already created a LAMP server, or just want to make sure that you have everything installed, [take a look at our Hosting a Website guide](/cloud/guides/hosting-a-website-ubuntu-18-04). After you have a LAMP server running, read through the rest of this section to verify that you have the other prerequisites installed. ### Installing PHP Extensions @@ -72,7 +72,7 @@ You have successfully modified your `php.ini` file for Dolphin. ### Setting Up Email -To configure Dolphin to send email, you'll need to install either Sendmail or [Postfix](/cloud/guides/email/postfix/). You should be able to use [send-only exim](/cloud/guides/email/exim/) as well. +To configure Dolphin to send email, you'll need to install either Sendmail or [Postfix](/cloud/guides/email/postfix). You should be able to use [send-only exim](/cloud/guides/email/exim) as well. ### Installing JRE @@ -82,7 +82,7 @@ If you'd like to run the Boonex RMS (Ray Media Server), which is a required comp sudo apt-get install openjdk-6-jre -2. RMS requires ports 1935, 1936, and 5080 to be open in your firewall. For more information, see the [Securing Your Server guide](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) and the [Firewall reference manuals](/cloud/guides/security/firewalls/). +2. RMS requires ports 1935, 1936, and 5080 to be open in your firewall. For more information, see the [Securing Your Server guide](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) and the [Firewall reference manuals](/cloud/guides/security/firewalls). You have successfully installed JRE on your Linode. @@ -91,7 +91,7 @@ You have successfully installed JRE on your Linode. Now that you've installed the necessary prerequisites, we can start installing Dolphin. We'll walk you through the process of downloading Dolphin, adding a new MySQL user and database, configuring permissions, running the install script, removing the installation directory, and finally logging in to the Dolphin admin panel. {{< note >}} -We assume that you followed the [Hosting a Website guide](/cloud/guides/hosting-a-website-ubuntu-18-04/). If you're using a different DocumentRoot directive than `/home/example_user/public/example.com/public` for your virtual host, you'll need to update the path to correctly reflect your DocumentRoot. +We assume that you followed the [Hosting a Website guide](/cloud/guides/hosting-a-website-ubuntu-18-04). If you're using a different DocumentRoot directive than `/home/example_user/public/example.com/public` for your virtual host, you'll need to update the path to correctly reflect your DocumentRoot. {{< /note >}} ### Downloading Dolphin diff --git a/docs/guides/applications/social-networking/how-to-install-and-configure-hubzilla/index.md b/docs/guides/applications/social-networking/how-to-install-and-configure-hubzilla/index.md index d86b8aaa8c2..dc5188f266e 100644 --- a/docs/guides/applications/social-networking/how-to-install-and-configure-hubzilla/index.md +++ b/docs/guides/applications/social-networking/how-to-install-and-configure-hubzilla/index.md @@ -74,7 +74,7 @@ For more information about Hubzilla and its features, see the [Hubzilla Document 1. Enable email on the Linode server to allow Hubzilla to send out registration emails containing verification codes. Hubzilla requires a working mail server to authenticate new users. For more information on setting up a mail server, see our [guides on email](/cloud/guides/email). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Hubzilla diff --git a/docs/guides/applications/social-networking/how-to-install-collabora-code/index.md b/docs/guides/applications/social-networking/how-to-install-collabora-code/index.md index a917ce68a4c..b007eaf8dee 100644 --- a/docs/guides/applications/social-networking/how-to-install-collabora-code/index.md +++ b/docs/guides/applications/social-networking/how-to-install-collabora-code/index.md @@ -51,10 +51,10 @@ For those users who do not want to use Collabora with Nextcloud, integration and 1. Create and configure a subdomain name and point it at the Linode. This subdomain name provides access to the Collabora instance. The subdomain is required in addition to the domain or subdomain name used to access the Nextcloud instance. For more information on domains and how to create a DNS record, see the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). -1. Collabora CODE requires a supporting storage application such as Nextcloud. For information on configuring Nextcloud, see the [Linode guide to installing Nextcloud on Ubuntu](/cloud/guides/how-to-install-nextcloud-on-ubuntu-22-04/). This guide assumes Collabora is being installed on the same server as Nextcloud. +1. Collabora CODE requires a supporting storage application such as Nextcloud. For information on configuring Nextcloud, see the [Linode guide to installing Nextcloud on Ubuntu](/cloud/guides/how-to-install-nextcloud-on-ubuntu-22-04). This guide assumes Collabora is being installed on the same server as Nextcloud. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install and Configure Collabora CODE @@ -228,7 +228,7 @@ For details on how to configure the Apache virtual host, see the [Collabora Apac ### How to Enable HTTPS for the Collabora Domain -The steps in this section explain how to use [Certbot](https://certbot.eff.org/) to request a *Let's Encrypt* TLS certificate and enable HTTPS support. The `snap` package manager can be used to install Certbot. For additional information about Certbot, Let's Encrypt certificates, and HTTPS, consult the [Linode guide to Using Certbot on NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/). +The steps in this section explain how to use [Certbot](https://certbot.eff.org/) to request a *Let's Encrypt* TLS certificate and enable HTTPS support. The `snap` package manager can be used to install Certbot. For additional information about Certbot, Let's Encrypt certificates, and HTTPS, consult the [Linode guide to Using Certbot on NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu). 1. Install the `snap` package manager. diff --git a/docs/guides/applications/social-networking/how-to-install-peertube/index.md b/docs/guides/applications/social-networking/how-to-install-peertube/index.md index 40ccf091446..d06edac2d7a 100644 --- a/docs/guides/applications/social-networking/how-to-install-peertube/index.md +++ b/docs/guides/applications/social-networking/how-to-install-peertube/index.md @@ -53,7 +53,7 @@ For more information about PeerTube, see the [PeerTube FAQ](https://joinpeertube 1. Create and configure a domain name to point at the Linode. This domain name provides access to the PeerTube instance. For more information on domains and how to create a DNS record, see the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install PeerTube @@ -341,7 +341,7 @@ To enable PeerTube to send emails, fill in the mail server details under the `sm NGINX requires a PeerTube virtual host to properly serve the files. Copy the sample `peertube` virtual host file to the correct location in `/etc/nginx/sites-available` and edit it. Most of the file is pre-filled, so only a few changes are required. -Use [Certbot](https://certbot.eff.org/) to install a Let's Encrypt certificate and enable HTTPS support. For more background on Certbot, Let's Encrypt certificates, and HTTPS, review the [Linode guide to Using Certbot on NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/). +Use [Certbot](https://certbot.eff.org/) to install a Let's Encrypt certificate and enable HTTPS support. For more background on Certbot, Let's Encrypt certificates, and HTTPS, review the [Linode guide to Using Certbot on NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu). To configure the NGINX virtual host for HTTP and HTTPS, follow these steps. diff --git a/docs/guides/applications/social-networking/how-to-install-pixelfed/index.md b/docs/guides/applications/social-networking/how-to-install-pixelfed/index.md index a8433960b9f..8b26aed2a4b 100644 --- a/docs/guides/applications/social-networking/how-to-install-pixelfed/index.md +++ b/docs/guides/applications/social-networking/how-to-install-pixelfed/index.md @@ -52,7 +52,7 @@ For a more complete list of Pixelfed features, see the [Pixelfed features page]( 1. (**Optional**) To allow Pixelfed to send emails, enable email on the Linode server. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Configure the Server to Support Pixelfed @@ -201,7 +201,7 @@ These settings are found in different sections of the file. In the `vi` editor, ### Configure a Virtual Host and HTTPS Support -The next step is to create a virtual host file for the Pixelfed domain. A virtual host allows for the configuration of domain-specific settings. Pixelfed requires HTTPS support, which can be enabled using the [Certbot](https://certbot.eff.org/) application. This guide covers the main steps required to install and use Certbot. For more detailed information about Certbot, Let's Encrypt certificates, and HTTPS, see the [Linode guide to Using Certbot on NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/). +The next step is to create a virtual host file for the Pixelfed domain. A virtual host allows for the configuration of domain-specific settings. Pixelfed requires HTTPS support, which can be enabled using the [Certbot](https://certbot.eff.org/) application. This guide covers the main steps required to install and use Certbot. For more detailed information about Certbot, Let's Encrypt certificates, and HTTPS, see the [Linode guide to Using Certbot on NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu). 1. Create a `/var/www/html/domain_name` directory for the Pixelfed site. In the following command, replace `example.com` with the actual name of the domain. diff --git a/docs/guides/applications/social-networking/question-and-answer-communities-with-osqa-on-debian-5-lenny/index.md b/docs/guides/applications/social-networking/question-and-answer-communities-with-osqa-on-debian-5-lenny/index.md index 9c2a53e76ce..2d531c507e8 100644 --- a/docs/guides/applications/social-networking/question-and-answer-communities-with-osqa-on-debian-5-lenny/index.md +++ b/docs/guides/applications/social-networking/question-and-answer-communities-with-osqa-on-debian-5-lenny/index.md @@ -15,7 +15,7 @@ deprecated: true OSQA, the Open Source Question and Answer platform, is a tool for structured community engagement centered around knowledge exchange. OSQA provides tools for groups of people to ask questions, get answers, and control the quality of the information exchanged within the system. OSQA models itself after the engine that powers sites like Stack Overflow and Server Fault. Thus, OSQA is not simply a tool for organizing user generated content, but also a tool for building vibrant and valuable forums that can serve as the informational backbone of entire communities. -Before beginning this guide, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Furthermore, this guide presumes that you have installed the [Apache HTTP server](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) and the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/). If you want your OSQA instance to be able to send email, install the [Exim send-only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-debian-5-lenny/). +Before beginning this guide, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Furthermore, this guide presumes that you have installed the [Apache HTTP server](/cloud/guides/apache-2-web-server-on-debian-5-lenny) and the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny). If you want your OSQA instance to be able to send email, install the [Exim send-only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-debian-5-lenny). ## Install Prerequisites diff --git a/docs/guides/applications/social-networking/social-networking-with-elgg-on-debian-5-lenny/index.md b/docs/guides/applications/social-networking/social-networking-with-elgg-on-debian-5-lenny/index.md index 7f789ba4810..4bc7a5fe912 100644 --- a/docs/guides/applications/social-networking/social-networking-with-elgg-on-debian-5-lenny/index.md +++ b/docs/guides/applications/social-networking/social-networking-with-elgg-on-debian-5-lenny/index.md @@ -17,11 +17,11 @@ Elgg is an open source social networking tool that enables groups of people to c The inspiration for Elgg comes from popular "general interest" social networking sites like Facebook and My Space, as well as smaller sites like Friendster and Virb. Nevertheless, Elgg sites generally do not compete with the general interest social networking. Rather, they provide an opportunity for smaller, more tightly knit communities to collaborate, share information, and communicate on the Internet. A list of [sites powered by Elgg](http://docs.elgg.org/wiki/Sites_powered_by_Elgg) may offer more insight into Elgg's potential. -Fundamentally, Elgg is a specialized CMS (content management system) designed to power a full-featured social networking site. While a developer familiar with a system like [Drupal](/cloud/guides/how-to-install-and-configure-drupal-8/), [Django](/cloud/guides/development/frameworks/), or [Ruby on Rails](/cloud/guides/development/frameworks/) could build a site with all of the features of Elgg, the Elgg package consolidates the core functionality for these kinds of sites into a single application. +Fundamentally, Elgg is a specialized CMS (content management system) designed to power a full-featured social networking site. While a developer familiar with a system like [Drupal](/cloud/guides/how-to-install-and-configure-drupal-8), [Django](/cloud/guides/development/frameworks), or [Ruby on Rails](/cloud/guides/development/frameworks) could build a site with all of the features of Elgg, the Elgg package consolidates the core functionality for these kinds of sites into a single application. -Before beginning, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will also need to install a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) before installing Elgg. +Before beginning, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will also need to install a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11) before installing Elgg. -If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). You will need to be logged into your Linode as root in order to complete the installation process. +If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). You will need to be logged into your Linode as root in order to complete the installation process. ## Prerequisites for Installing Elgg @@ -34,7 +34,7 @@ Before you can install Elgg, there are a number of software dependencies that mu apt-get install php5-gd php-xml-parser unzip php5-mysql -Elgg also makes use of Apache's `mod_rewrite` to make more [human readable URLs](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/). To enable this module, issue the following command: +Elgg also makes use of Apache's `mod_rewrite` to make more [human readable URLs](/cloud/guides/rewrite-urls-with-modrewrite-and-apache). To enable this module, issue the following command: a2enmod rewrite @@ -66,7 +66,7 @@ The web server needs to be able to write to the `data/` directory; issue the fol chmod 777 /srv/www/example.com/data/ -Before you can begin to configure Elgg, you will need to create a MySQL username and password as well as a database for Elgg. You should have created a MySQL database as part of the [LAMP setup process](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/), but you can also [configure additional databases and user credentials](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/#using-mysql) at any time. +Before you can begin to configure Elgg, you will need to create a MySQL username and password as well as a database for Elgg. You should have created a MySQL database as part of the [LAMP setup process](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11), but you can also [configure additional databases and user credentials](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny#using-mysql) at any time. ### Configure Elgg @@ -99,7 +99,7 @@ To configure the database connections, you'll need to edit the file in your pref {{< /file >}} -Replace the relevant information in your config with the credentials for your database. The `dbhost` will be `localhost` unless you're running the database server on a [different machine](/cloud/guides/standalone-mysql-server/). +Replace the relevant information in your config with the credentials for your database. The `dbhost` will be `localhost` unless you're running the database server on a [different machine](/cloud/guides/standalone-mysql-server). ### Using the Elgg Installation Process diff --git a/docs/guides/applications/social-networking/social-networking-with-phpfox-on-debian-5-lenny/index.md b/docs/guides/applications/social-networking/social-networking-with-phpfox-on-debian-5-lenny/index.md index 54c07d2c26e..68ed6adc618 100644 --- a/docs/guides/applications/social-networking/social-networking-with-phpfox-on-debian-5-lenny/index.md +++ b/docs/guides/applications/social-networking/social-networking-with-phpfox-on-debian-5-lenny/index.md @@ -19,7 +19,7 @@ Please note that you must obtain a license from phpFox in order to run this soft ## Install Prerequisites -Before installing phpFox, make sure you have set up a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/). You will also need to install the `curl` and `gd` modules for PHP. Issue the following command: +Before installing phpFox, make sure you have set up a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11). You will also need to install the `curl` and `gd` modules for PHP. Issue the following command: apt-get install php5-curl php5-gd diff --git a/docs/guides/applications/voip/deploy-voip-services-with-asterisk-and-freepbx-on-ubuntu-12-04-precise/index.md b/docs/guides/applications/voip/deploy-voip-services-with-asterisk-and-freepbx-on-ubuntu-12-04-precise/index.md index aceca7d9a48..5803854dbf1 100644 --- a/docs/guides/applications/voip/deploy-voip-services-with-asterisk-and-freepbx-on-ubuntu-12-04-precise/index.md +++ b/docs/guides/applications/voip/deploy-voip-services-with-asterisk-and-freepbx-on-ubuntu-12-04-precise/index.md @@ -30,7 +30,7 @@ For this guide we will install Asterisk from source rather than from Ubuntu's re **Please note:** Because of the special configuration options required for this setup, you should not run other services on the Linode you intend to use Asterisk on. It is also worth noting that this guide will walk you through using PV-GRUB. Any alterations to the steps in this guide will fall outside the scope of support. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Terms @@ -48,9 +48,9 @@ The diagram below shows the relationship between each of the components that all ## Prerequisites -Before you begin, you need to make sure a few things are in order. We assume you have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have set the hostname and timezone, and have configured networking for the Linode. These last steps are of particular importance for ensuring your Asterisk installation functions normally. If you plan on using Asterisk's email features, you may also wish to [add an A record](/cloud/guides/dns-overview/#types-of-dns-records) for your domain. +Before you begin, you need to make sure a few things are in order. We assume you have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have set the hostname and timezone, and have configured networking for the Linode. These last steps are of particular importance for ensuring your Asterisk installation functions normally. If you plan on using Asterisk's email features, you may also wish to [add an A record](/cloud/guides/dns-overview#types-of-dns-records) for your domain. -There are quite a few prerequisites to satisfy before you can begin installing Asterisk and FreePBX. Most notably, you will need to install a kernel module and change your Linode's configuration profile. We're going to outline the instructions for doing so in this document. If you want a more detailed explanation, you may wish to take a look at the in-depth information contained in the [PV-GRUB guide](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/). +There are quite a few prerequisites to satisfy before you can begin installing Asterisk and FreePBX. Most notably, you will need to install a kernel module and change your Linode's configuration profile. We're going to outline the instructions for doing so in this document. If you want a more detailed explanation, you may wish to take a look at the in-depth information contained in the [PV-GRUB guide](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub). This guide includes instructions for integrating a Google Voice account. You will need a Google account that's already configured with a [Google Voice](https://www.google.com/voice) number to complete these steps. @@ -217,7 +217,7 @@ FreePBX is a PHP application that allows you to control your Asterisk installati ### Set Up LAMP Stack -Before you can use FreePBX, you will need to set up a LAMP stack. An basic step-by-step how-to is provided here, but you may wish to consult our [LAMP documentation](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/) for more information. +Before you can use FreePBX, you will need to set up a LAMP stack. An basic step-by-step how-to is provided here, but you may wish to consult our [LAMP documentation](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic) for more information. 1. Begin by installing Apache: diff --git a/docs/guides/applications/voip/deploy-voip-services-with-asterisk-and-freepbx-on-ubuntu-9-10-karmic/index.md b/docs/guides/applications/voip/deploy-voip-services-with-asterisk-and-freepbx-on-ubuntu-9-10-karmic/index.md index 8d7070846ae..e0a5d4b760d 100644 --- a/docs/guides/applications/voip/deploy-voip-services-with-asterisk-and-freepbx-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/applications/voip/deploy-voip-services-with-asterisk-and-freepbx-on-ubuntu-9-10-karmic/index.md @@ -21,7 +21,7 @@ deprecated: true Asterisk is an open source telephone solution that runs over the internet instead of running through copper lines like a normal phone would. It offers a variety of features such as voice mail and conference calling, much like a land line telephone can. -Before you begin, you need to make sure a few things are in order. We assume you have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have set the hostname, timezone, and configured networking. These last steps are of particular importance for ensuring your Asterisk installation functions normally. If you plan on using Asterisk's email features, you may also wish to [add an A record](/cloud/guides/dns-overview/#types-of-dns-records) for your domain. +Before you begin, you need to make sure a few things are in order. We assume you have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have set the hostname, timezone, and configured networking. These last steps are of particular importance for ensuring your Asterisk installation functions normally. If you plan on using Asterisk's email features, you may also wish to [add an A record](/cloud/guides/dns-overview#types-of-dns-records) for your domain. **Please note:** Because of the special configuration options required for this setup, you should not run other services on the Linode you intend to use Asterisk on. It is also worth noting that this guide will walk you through using pv\_grub. Any alterations to the steps in this guide will fall outside the scope of support. @@ -29,7 +29,7 @@ This guide is based largely on [Ryan Tucker's guide](http://blog.hoopycat.com/20 ## Prerequisites -There are quite a few prerequisites to satisfy before you can begin installing Asterisk and FreePBX. Most notably, you will need to install a kernel module and change your Linode's configuration profile. We're going to outline the instructions for doing so in this document, however you may wish to take a look at the in-depth information contained in the [pv-grub guide](/cloud/guides/custom-compiled-kernel-with-pvgrub-debian-ubuntu/). +There are quite a few prerequisites to satisfy before you can begin installing Asterisk and FreePBX. Most notably, you will need to install a kernel module and change your Linode's configuration profile. We're going to outline the instructions for doing so in this document, however you may wish to take a look at the in-depth information contained in the [pv-grub guide](/cloud/guides/custom-compiled-kernel-with-pvgrub-debian-ubuntu). ### Edit Sources List @@ -163,7 +163,7 @@ FreePBX is a PHP application that allows you to control your Asterisk installati ### Set Up LAMP Stack -Before you can use FreePBX, you will need to set up a LAMP stack. An overview is provided here, but you may wish to consult our [LAMP documentation](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/) for more information. To begin installing Apache, issue the following command: +Before you can use FreePBX, you will need to set up a LAMP stack. An overview is provided here, but you may wish to consult our [LAMP documentation](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic) for more information. To begin installing Apache, issue the following command: apt-get install apache2 diff --git a/docs/guides/applications/voip/install-and-configure-mumble-on-debian/index.md b/docs/guides/applications/voip/install-and-configure-mumble-on-debian/index.md index 695ac464d86..4987daca5c3 100644 --- a/docs/guides/applications/voip/install-and-configure-mumble-on-debian/index.md +++ b/docs/guides/applications/voip/install-and-configure-mumble-on-debian/index.md @@ -30,7 +30,7 @@ deprecated: true sudo apt-get update && sudo apt-get upgrade {{< note respectIndent=false >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with sudo. If you are not familiar with the sudo command, you can check out our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with sudo. If you are not familiar with the sudo command, you can check out our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Mumble Server diff --git a/docs/guides/applications/voip/install-asterisk-on-centos-7/index.md b/docs/guides/applications/voip/install-asterisk-on-centos-7/index.md index b991b23712c..33d9be445ee 100644 --- a/docs/guides/applications/voip/install-asterisk-on-centos-7/index.md +++ b/docs/guides/applications/voip/install-asterisk-on-centos-7/index.md @@ -27,7 +27,7 @@ Asterisk is an open source *private branch exchange* (PBX) server that uses *Ses This guide covers the steps necessary to provision a new CentOS 7 Linode as a dedicated Asterisk server for your home or office. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/databases/cassandra/install-cassandra-across-multiple-data-centers/index.md b/docs/guides/databases/cassandra/install-cassandra-across-multiple-data-centers/index.md index d5f5032ec36..515215b6b07 100644 --- a/docs/guides/databases/cassandra/install-cassandra-across-multiple-data-centers/index.md +++ b/docs/guides/databases/cassandra/install-cassandra-across-multiple-data-centers/index.md @@ -69,7 +69,7 @@ Cassandra is usually not the best choice for small or little-used data sets, or 1. Each data center should have at least two nodes. Cassandra recommends at least 4GB of memory for all nodes. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Cassandra diff --git a/docs/guides/databases/cassandra/set-up-a-cassandra-node-cluster-on-ubuntu-and-centos/index.md b/docs/guides/databases/cassandra/set-up-a-cassandra-node-cluster-on-ubuntu-and-centos/index.md index 3a1927f46e5..2d1dab78890 100644 --- a/docs/guides/databases/cassandra/set-up-a-cassandra-node-cluster-on-ubuntu-and-centos/index.md +++ b/docs/guides/databases/cassandra/set-up-a-cassandra-node-cluster-on-ubuntu-and-centos/index.md @@ -29,9 +29,9 @@ You will also learn how to secure communication between your nodes, as well as r ## Before You Begin -1. You must have at least two Cassandra nodes set up and configured. These nodes should have equal or similar hardware specs; otherwise, bottlenecks can occur. To install Apache Cassandra, see the [Installing Apache Cassandra](/cloud/guides/how-to-install-apache-cassandra-on-ubuntu-18-04/) guide and select your distribution. +1. You must have at least two Cassandra nodes set up and configured. These nodes should have equal or similar hardware specs; otherwise, bottlenecks can occur. To install Apache Cassandra, see the [Installing Apache Cassandra](/cloud/guides/how-to-install-apache-cassandra-on-ubuntu-18-04) guide and select your distribution. -2. A working firewall is a necessary security measure. Firewall-specific instructions will be presented for UFW, FirewallD, and IPtables. Steps for setting up UFW can be found at [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). FirewallD instructions are located at [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). +2. A working firewall is a necessary security measure. Firewall-specific instructions will be presented for UFW, FirewallD, and IPtables. Steps for setting up UFW can be found at [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). FirewallD instructions are located at [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos). 3. Most of the commands in this guide require root privileges in order to execute. You may work through the guide as-is if you can run the commands under the root account in your system. Alternatively, an elevated user account with sudo privileges can be used as long as each command is prefixed with `sudo`. diff --git a/docs/guides/databases/couchdb/access-futon-over-ssh-using-putty-on-windows/index.md b/docs/guides/databases/couchdb/access-futon-over-ssh-using-putty-on-windows/index.md index f44e83d67a2..ec81050f25e 100644 --- a/docs/guides/databases/couchdb/access-futon-over-ssh-using-putty-on-windows/index.md +++ b/docs/guides/databases/couchdb/access-futon-over-ssh-using-putty-on-windows/index.md @@ -10,8 +10,8 @@ keywords: ["futon", " couchdb", " apache", " ssh", " putty", " windows", " os x" license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/)' - - '[Linode Docs - CouchDB](/cloud/guides/databases/couchdb/)' + - '[Using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty)' + - '[Linode Docs - CouchDB](/cloud/guides/databases/couchdb)' tags: ["database"] --- @@ -23,7 +23,7 @@ tags: ["database"] **SSH with Windows Using PuTTY** -If you need to get set up with PuTTY, see [our guide](/cloud/guides/connect-to-server-over-ssh-using-putty/) on using it and verifying your Linode's SSH key fingerprint. +If you need to get set up with PuTTY, see [our guide](/cloud/guides/connect-to-server-over-ssh-using-putty) on using it and verifying your Linode's SSH key fingerprint. To set up the SSH tunnel: diff --git a/docs/guides/databases/couchdb/install-couchdb-20-on-ubuntu/index.md b/docs/guides/databases/couchdb/install-couchdb-20-on-ubuntu/index.md index 18ba051341d..2c91a58cb60 100644 --- a/docs/guides/databases/couchdb/install-couchdb-20-on-ubuntu/index.md +++ b/docs/guides/databases/couchdb/install-couchdb-20-on-ubuntu/index.md @@ -27,7 +27,7 @@ This guide shows you how to install CouchDB on Ubuntu 20.04. At the end of this 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Set Up the Apache CouchDB Repository @@ -84,4 +84,4 @@ See CouchDB's [Cluster Set Up](https://docs.couchdb.org/en/latest/setup/cluster. ## Get Started with CouchDB -You have now successfully installed CouchDB! To get started, head over to the guide for [Using CouchDB on Ubuntu 20.04](/cloud/guides/use-couchdb-2-0-on-ubuntu-20-04/). +You have now successfully installed CouchDB! To get started, head over to the guide for [Using CouchDB on Ubuntu 20.04](/cloud/guides/use-couchdb-2-0-on-ubuntu-20-04). diff --git a/docs/guides/databases/couchdb/use-couchdb-2-0-on-ubuntu-20-04/index.md b/docs/guides/databases/couchdb/use-couchdb-2-0-on-ubuntu-20-04/index.md index 76dff456231..c454ae4156d 100644 --- a/docs/guides/databases/couchdb/use-couchdb-2-0-on-ubuntu-20-04/index.md +++ b/docs/guides/databases/couchdb/use-couchdb-2-0-on-ubuntu-20-04/index.md @@ -25,10 +25,10 @@ This guide shows you how to get started with CouchDB using its web interface—* 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install CouchDB. Follow the instructions in the guide on [How to Install CouchDB on Ubuntu 20.04](/cloud/guides/install-couchdb-20-on-ubuntu/). +1. Install CouchDB. Follow the instructions in the guide on [How to Install CouchDB on Ubuntu 20.04](/cloud/guides/install-couchdb-20-on-ubuntu). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Access the Fauxton Web Interface @@ -37,7 +37,7 @@ The easiest way to configure and maintain your CouchDB installation is through i However, if you are accessing the machine remotely, the simplest and most secure way to access Fauxton is by using SSH tunneling. The following steps show you how to create and use an SSH tunnel for this purpose. -1. Follow the [Access Futon Over SSH to Administer CouchDB](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/) guide to creating an SSH tunnel between your CouchDB server and the machine you are wanting to access it from. +1. Follow the [Access Futon Over SSH to Administer CouchDB](/cloud/guides/access-futon-over-ssh-using-putty-on-windows) guide to creating an SSH tunnel between your CouchDB server and the machine you are wanting to access it from. 1. In a web browser, navigate to `127.0.0.1:5984/_utils`. diff --git a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-centos-5/index.md b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-centos-5/index.md index a884919926a..4f919f0c2ba 100644 --- a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-centos-5/index.md +++ b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-centos-5/index.md @@ -23,7 +23,7 @@ deprecated: true CouchDB is a non-relational document based database. Like other entrants into the "NoSQL" field, CouchDB attempts to provide a more flexible data storage system for use in custom application development. CouchDB is written in the Erlang programing language and uses an HTTP interface and JSON as a data format for easy integration in application development. -Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing CouchDB @@ -56,7 +56,7 @@ Congratulations! You have successfully installed CouchDB. In most cases, you wil ## Using CouchDB -CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. +CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. Once the SSH tunnel is in place or you have configured your Linode, you can access the CouchDB HTTP interface by making a request for `http://localhost:5984`. If you would like to install a simple command line HTTP client, you may wish to use `curl` You can test your CouchDB instance by issuing the following command: diff --git a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-debian-5-lenny/index.md b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-debian-5-lenny/index.md index 0a4719584bf..6c1e46bff4f 100644 --- a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-debian-5-lenny/index.md +++ b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true CouchDB is a non-relational document-based database. Like other entrants into the "NoSQL" field, CouchDB attempts to provide a more flexible data storage system for use in custom application development. CouchDB is written in the Erlang programing language which supports an innovative concurrency model. CouchDB does not use an SQL interface, opting for an HTTP interface and JSON as a data format for easy integration in application development. -Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing CouchDB @@ -43,7 +43,7 @@ Congratulations! In most use cases, you will not need to modify CouchDB's config ## Using CouchDB -Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. +Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. Once the SSH tunnel is in place or you have configured your Linode, you can access the CouchDB HTTP interface by making a request for `http://localhost:5984`. For a simple command-line HTTP client consider installing `curl` with the following command: diff --git a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-debian-6-squeeze/index.md b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-debian-6-squeeze/index.md index 7d2268103e3..62783d5f730 100644 --- a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-debian-6-squeeze/index.md +++ b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-debian-6-squeeze/index.md @@ -41,7 +41,7 @@ Congratulations! In most use cases, you will not need to modify CouchDB's config ## Using CouchDB -Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. +Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. Once the SSH tunnel is in place or you have configured your Linode, you can access the CouchDB HTTP interface by making a request for `http://localhost:5984`. Issue the following command: diff --git a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-fedora-13/index.md b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-fedora-13/index.md index 62bae839918..d3eae0499f9 100644 --- a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-fedora-13/index.md +++ b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true CouchDB is a non-relational, document based database. Like other entrants into the "NoSQL" field, CouchDB attempts to provide a more flexible data storage system for use in custom application development. CouchDB is written in the Erlang Programing language which supports an innovative concurrency model. While CouchDB does not use an SQL interface, it uses an HTTP interface and JSON as a data format for easy integration in application development. -Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing CouchDB @@ -49,7 +49,7 @@ Congratulations! In most use cases, you will not need to modify CouchDB's config ## Using CouchDB -Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. +Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. Once the SSH tunnel is in place or you have configured your Linode, you can access the CouchDB HTTP interface by making a request for `http://localhost:5984`. For a simple command-line HTTP client consider installing `curl`. You can test your CouchDB instance by issuing the following command: diff --git a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-fedora-14/index.md b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-fedora-14/index.md index 3f082454b9b..a4ee0b900b0 100644 --- a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-fedora-14/index.md +++ b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-fedora-14/index.md @@ -47,7 +47,7 @@ Congratulations! In most cases, you will not need to modify CouchDB's configurat ## Using CouchDB -Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. +Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. Once the SSH tunnel is in place or you have configured your Linode, you can access the CouchDB HTTP interface by making a request for `http://localhost:5984`. For a simple command-line HTTP client consider installing `curl`. You can test your CouchDB instance by issuing the following command: diff --git a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-10-04-lucid/index.md b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-10-04-lucid/index.md index f54ad35e1b5..0ab5f157d4e 100644 --- a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true CouchDB is a non-relational document based database. Like other entrants into the "NoSQL" field, CouchDB attempts to provide a more flexible data storage system for use in custom application development. CouchDB is written in the Erlang programing language which supports an innovative concurrency model. While CouchDB does not use an SQL interface, it uses an HTTP interface and JSON as a data format for easy integration in application development. -Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing CouchDB @@ -43,7 +43,7 @@ Congratulations! In most use cases, you will not need to modify CouchDB's config ## Using CouchDB -Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. +Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. Once the SSH tunnel is in place or you have configured your Linode, you can access the CouchDB HTTP interface by making a request for `http://localhost:5984`. For a simple command-line HTTP client consider installing `curl` with the following command: diff --git a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-10-10-maverick/index.md b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-10-10-maverick/index.md index 6913495468c..30d31c05a9c 100644 --- a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true CouchDB is a non-relational document based database. Like other entrants into the "NoSQL" field, CouchDB attempts to provide a more flexible data storage system for use in custom application development. CouchDB is written in the Erlang programing language which supports an innovative concurrency model. While CouchDB does not use an SQL interface, it uses an HTTP interface and JSON as a data format for easy integration in application development. -This document assumes that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning to install CouchDB. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +This document assumes that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning to install CouchDB. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing CouchDB @@ -45,7 +45,7 @@ Congratulations! In most cases, you will not need to modify CouchDB's configurat ## Using CouchDB -Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. +Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. Once the SSH tunnel is in place or you have configured your Linode, you can access the CouchDB HTTP interface by making a request for `http://localhost:5984`. For a simple command-line HTTP client you may use `curl`. Issue the following command: diff --git a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-12-04/index.md b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-12-04/index.md index 7528e818a3c..56e314ca261 100644 --- a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-12-04/index.md +++ b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-12-04/index.md @@ -22,7 +22,7 @@ deprecated: true CouchDB is a non-relational document based database. Like other entrants into the "NoSQL" field, CouchDB attempts to provide a more flexible data storage system for use in custom application development. CouchDB is written in the Erlang programing language which supports an innovative concurrency model. While CouchDB does not use an SQL interface, it uses an HTTP interface and JSON as a data format for easy integration in application development. -Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install CouchDB @@ -45,7 +45,7 @@ Congratulations! In most use cases, you will not need to modify CouchDB's config ## Use CouchDB -Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. +Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. Once the SSH tunnel is in place or you have configured your Linode, you can access the CouchDB HTTP interface by making a request for `http://localhost:5984`. For a simple command-line HTTP client consider installing `curl` with the following command: diff --git a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-9-10-karmic/index.md b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-9-10-karmic/index.md index 9a2066d46c5..cd6a6a99d00 100644 --- a/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/databases/couchdb/use-couchdb-for-document-based-data-storage-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true CouchDB is a non-relational document based database. Like other entrants into the "NoSQL" field, CouchDB attempts to provide a more flexible data storage system for use in custom application development. CouchDB is written in the Erlang programing language which supports an innovative concurrency model. While CouchDB does not use an SQL interface, it uses an HTTP interface and JSON as a data format for easy integration in application development. -Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing CouchDB, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing CouchDB @@ -69,7 +69,7 @@ Congratulations! In most use cases, you will not need to modify CouchDB's config ## Using CouchDB -Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. +Most of your interaction with CouchDB will occur by way of the system's HTTP and JSON interface. CouchDB comes with a web-based administrative interface called "Futon". Since CouchDB is only accessible over the local interface by default, you will want to [create a secure ssh tunnel](/cloud/guides/access-futon-over-ssh-using-putty-on-windows) in order to access CouchDB or Futon from your local machine to avoid sending data in the clear. Once the SSH tunnel is in place or you have configured your Linode, you can access the CouchDB HTTP interface by making a request for `http://localhost:5984`. For a simple command-line HTTP client consider installing `curl` with the following command: diff --git a/docs/guides/databases/elasticsearch/a-guide-to-elasticsearch-plugins/index.md b/docs/guides/databases/elasticsearch/a-guide-to-elasticsearch-plugins/index.md index aefb1d1b4f7..6cb6ad25340 100644 --- a/docs/guides/databases/elasticsearch/a-guide-to-elasticsearch-plugins/index.md +++ b/docs/guides/databases/elasticsearch/a-guide-to-elasticsearch-plugins/index.md @@ -32,7 +32,7 @@ This guide will show to how install the following Elasticsearch plugins and inte * **ingest-user-agent**: parses the `User-Agent` header of HTTP requests to provide identifying information about the client that sent each request. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/databases/elasticsearch/monitor-nginx-web-server-logs-using-filebeat-elastic-stack-centos-7/index.md b/docs/guides/databases/elasticsearch/monitor-nginx-web-server-logs-using-filebeat-elastic-stack-centos-7/index.md index b1f675ec354..0096fdd50ac 100644 --- a/docs/guides/databases/elasticsearch/monitor-nginx-web-server-logs-using-filebeat-elastic-stack-centos-7/index.md +++ b/docs/guides/databases/elasticsearch/monitor-nginx-web-server-logs-using-filebeat-elastic-stack-centos-7/index.md @@ -24,7 +24,7 @@ The [Elastic Stack](https://www.elastic.co/) is a set of open-source tools that This guide will explain how to install different components of the stack in order to monitor a typical webserver. It will use version 6 of each of the tools in the Elastic Stack, which is a recent release featuring additional features and fixes. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -33,7 +33,7 @@ This guide is written for a non-root user. Commands that require elevated privil 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Follow the steps in our [Install a LEMP Stack on CentOS 7 with FastCGI](/cloud/guides/lemp-stack-on-centos-7-with-fastcgi/) guide to set up a web server stack with NGINX on your CentOS host. +1. Follow the steps in our [Install a LEMP Stack on CentOS 7 with FastCGI](/cloud/guides/lemp-stack-on-centos-7-with-fastcgi) guide to set up a web server stack with NGINX on your CentOS host. ## Install OpenJDK 8 @@ -198,7 +198,7 @@ Replace `username` with your Linux user name and `` with the p Filebeat version 6 ships with the ability to use [modules](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-modules.html) in order to automate how logs are collected, indexed, and visualized. This guide will use the NGINX module in order to handle most of the necessary configuration in order to instruct the stack how to process system logs. {{< note >}} -Your Linode should already have NGINX configured following the [Install a LEMP Stack on CentOS 7 with FastCGI](/cloud/guides/lemp-stack-on-centos-7-with-fastcgi/) guide. +Your Linode should already have NGINX configured following the [Install a LEMP Stack on CentOS 7 with FastCGI](/cloud/guides/lemp-stack-on-centos-7-with-fastcgi) guide. {{< /note >}} 1. Using a text editor, create `/etc/filebeat/filebeat.yml` and add the following content: diff --git a/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-centos-stream-8/index.md b/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-centos-stream-8/index.md index fba36903169..6cb099d09af 100644 --- a/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-centos-stream-8/index.md +++ b/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-centos-stream-8/index.md @@ -55,14 +55,14 @@ Multiple services are run on a single Linode in this guide. We recommend using a 1. This guide uses `sudo` wherever possible. Complete the sections of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to create a standard user account with `sudo` privileges, harden SSH access, and remove unnecessary network services. {{< note respectIndent=false >}} -Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Update your system: sudo yum update -1. Follow the steps in our [Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8/) guide to set up and configure Apache on your server. The steps in this guide are compatible with CentOS Stream 8. +1. Follow the steps in our [Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8) guide to set up and configure Apache on your server. The steps in this guide are compatible with CentOS Stream 8. 1. The Elasticsearch package is bundled with its own version of a Java runtime, but Logstash requires Java to be present on the system. Install the OpenJDK package for CentOS 8: @@ -241,7 +241,7 @@ output { {{< note respectIndent=false >}} This example configuration assumes that your website logs are stored in the `/var/www/*/logs/access.log` file path. -If your site was set up by following the [Configure Apache for Virtual Hosting](/cloud/guides/how-to-install-apache-web-server-centos-8/#configure-virtual-hosting) section of the [Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8/) guide, then your logs are stored in this location. If you website logs are stored in another location, update the file path in the configuration file before proceeding. +If your site was set up by following the [Configure Apache for Virtual Hosting](/cloud/guides/how-to-install-apache-web-server-centos-8#configure-virtual-hosting) section of the [Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8) guide, then your logs are stored in this location. If you website logs are stored in another location, update the file path in the configuration file before proceeding. {{< /note >}} 1. Start and enable `logstash`: diff --git a/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-10/index.md b/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-10/index.md index a385339d9b6..39b5c7c9996 100644 --- a/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-10/index.md +++ b/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-10/index.md @@ -57,14 +57,14 @@ Multiple services are run on a single Linode in this guide. We recommend using a 1. This guide uses `sudo` wherever possible. Complete the sections of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to create a standard user account with `sudo` privileges, harden SSH access, and remove unnecessary network services. {{< note respectIndent=false >}} -Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Update your system: sudo apt-get update && sudo apt-get upgrade -1. Follow the steps in our [Apache Web Server on Debian 10 (Buster)](/cloud/guides/how-to-install-apache-web-server-debian-10/) guide to set up and configure Apache on your server. +1. Follow the steps in our [Apache Web Server on Debian 10 (Buster)](/cloud/guides/how-to-install-apache-web-server-debian-10) guide to set up and configure Apache on your server. 1. The Elasticsearch package is bundled with its own version of a Java runtime, but Logstash requires Java to be present on the system. Install the default version of Java available on Debian 10: @@ -238,7 +238,7 @@ output { {{< note respectIndent=false >}} This example configuration assumes that your website logs are stored in the `/var/www/*/logs/access.log` file path. -If your site was set up by following the [Configure Apache for Virtual Hosting](/cloud/guides/how-to-install-apache-web-server-debian-10/#configure-virtual-hosting) section of the [Apache Web Server on Debian 10](/cloud/guides/how-to-install-apache-web-server-debian-10/) guide, then your logs are stored in this location. If you website logs are stored in another location, update the file path in the configuration file before proceeding. +If your site was set up by following the [Configure Apache for Virtual Hosting](/cloud/guides/how-to-install-apache-web-server-debian-10#configure-virtual-hosting) section of the [Apache Web Server on Debian 10](/cloud/guides/how-to-install-apache-web-server-debian-10) guide, then your logs are stored in this location. If you website logs are stored in another location, update the file path in the configuration file before proceeding. {{< /note >}} 1. Start and enable `logstash`: diff --git a/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-8/index.md b/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-8/index.md index 9995ca69547..8796b40cdf7 100644 --- a/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-8/index.md +++ b/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-8/index.md @@ -35,7 +35,7 @@ This guide will explain how to install all three components and use them to expl This guide will walk through the installation and set up of version 5 of the Elastic stack, which is the latest at time of this writing. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -44,7 +44,7 @@ This guide is written for a non-root user. Commands that require elevated privil 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Follow the steps in our [Apache Web Server on Debian 8 (Jessie)](/cloud/guides/apache-web-server-debian-8/) guide to set up and configure Apache on your server. +1. Follow the steps in our [Apache Web Server on Debian 8 (Jessie)](/cloud/guides/apache-web-server-debian-8) guide to set up and configure Apache on your server. ## Install OpenJDK 8 @@ -174,7 +174,7 @@ By default, Elasticsearch will create five shards and one replica for every inde ### Logstash -In order to collect Apache access logs, Logstash must be configured to watch any necessary files and then process them, eventually sending them to Elasticsearch. This configuration file assumes that a site has been set up according to the previously mentioned [Apache Web Server on Debian 8 (Jessie)](/cloud/guides/apache-web-server-debian-8/) guide to find the correct log path. +In order to collect Apache access logs, Logstash must be configured to watch any necessary files and then process them, eventually sending them to Elasticsearch. This configuration file assumes that a site has been set up according to the previously mentioned [Apache Web Server on Debian 8 (Jessie)](/cloud/guides/apache-web-server-debian-8) guide to find the correct log path. 1. Create the following Logstash configuration: diff --git a/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-9/index.md b/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-9/index.md index 19e58cb8fc8..f4484617b5e 100644 --- a/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-9/index.md +++ b/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-debian-9/index.md @@ -56,14 +56,14 @@ Multiple services are run on a single Linode in this guide. We recommend using a 1. This guide uses `sudo` wherever possible. Complete the sections of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to create a standard user account with `sudo` privileges, harden SSH access, and remove unnecessary network services. {{< note respectIndent=false >}} -Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Update your system: sudo apt-get update && sudo apt-get upgrade -1. Follow the steps in our [Apache Web Server on Debian 8 (Jessie)](/cloud/guides/apache-web-server-debian-8/) guide to set up and configure Apache on your server. The steps in this guide are compatible with Debian 9. +1. Follow the steps in our [Apache Web Server on Debian 8 (Jessie)](/cloud/guides/apache-web-server-debian-8) guide to set up and configure Apache on your server. The steps in this guide are compatible with Debian 9. 1. The Elasticsearch package is bundled with its own version of a Java runtime, but Logstash requires Java to be present on the system. Install the default version of Java available on Debian 9: @@ -237,7 +237,7 @@ output { {{< note respectIndent=false >}} This example configuration assumes that your website logs are stored in the `/var/www/*/logs/access.log` file path. -If your site was set up by following the [Configure Apache for Virtual Hosting](/cloud/guides/apache-web-server-debian-8/#configure-apache-for-virtual-hosting) section of the [Apache Web Server on Debian 8](/cloud/guides/apache-web-server-debian-8/) guide, then your logs are stored in this location. If you website logs are stored in another location, update the file path in the configuration file before proceeding. +If your site was set up by following the [Configure Apache for Virtual Hosting](/cloud/guides/apache-web-server-debian-8#configure-apache-for-virtual-hosting) section of the [Apache Web Server on Debian 8](/cloud/guides/apache-web-server-debian-8) guide, then your logs are stored in this location. If you website logs are stored in another location, update the file path in the configuration file before proceeding. {{< /note >}} 1. Start and enable `logstash`: diff --git a/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-ubuntu-18-04/index.md b/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-ubuntu-18-04/index.md index 973292a79f1..e5153a88352 100644 --- a/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-ubuntu-18-04/index.md +++ b/docs/guides/databases/elasticsearch/visualize-apache-web-server-logs-using-elastic-stack-on-ubuntu-18-04/index.md @@ -54,14 +54,14 @@ Multiple services are run on a single Linode in this guide. We recommend using a 1. This guide uses `sudo` wherever possible. Complete the sections of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to create a standard user account with `sudo` privileges, harden SSH access, and remove unnecessary network services. {{< note respectIndent=false >}} -Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Update your system: sudo apt-get update && sudo apt-get upgrade -1. Follow the steps in our [Apache Web Server on Ubuntu 18.04](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) guide to set up and configure Apache on your server. +1. Follow the steps in our [Apache Web Server on Ubuntu 18.04](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04) guide to set up and configure Apache on your server. 1. The Elasticsearch package is bundled with its own version of a Java runtime, but Logstash requires Java to be present on the system. Install the default version of Java available on Ubuntu 18.04: @@ -231,7 +231,7 @@ output { {{< note respectIndent=false >}} This example configuration assumes that your website logs are stored in the `/var/www/*/logs/access.log` file path. -If your site was set up by following the [Configure Apache for Virtual Hosting](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/#configure-virtual-hosting) section of the [Apache Web Server on Ubuntu 18.04](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) guide, then your logs are stored in this location. If you website logs are stored in another location, update the file path in the configuration file before proceeding. +If your site was set up by following the [Configure Apache for Virtual Hosting](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04#configure-virtual-hosting) section of the [Apache Web Server on Ubuntu 18.04](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04) guide, then your logs are stored in this location. If you website logs are stored in another location, update the file path in the configuration file before proceeding. {{< /note >}} 1. Start and enable `logstash`: diff --git a/docs/guides/databases/general/database-solutions/index.md b/docs/guides/databases/general/database-solutions/index.md index a62b5a4a3f2..f3fd07eb8b3 100644 --- a/docs/guides/databases/general/database-solutions/index.md +++ b/docs/guides/databases/general/database-solutions/index.md @@ -20,7 +20,7 @@ Most applications use databases to store and organize the information they handl Before determining how to deploy and host a database on the Akamai cloud computing platform, you should first determine *which* database management system (DBMS) to use. This section covers many different databases (including both [relational](#relational-databases) and [non-relational](#non-relational-nosql-databases) database), as well as the factors that should inform you decision. {{< note >}} -For an in-depth comparison of database management systems (DBMSs) and to learn which DBMS is right for you and your application, review the [Comparing DBMSs: The 8 Most Popular Databases](/cloud/guides/list-of-databases/) guide. +For an in-depth comparison of database management systems (DBMSs) and to learn which DBMS is right for you and your application, review the [Comparing DBMSs: The 8 Most Popular Databases](/cloud/guides/list-of-databases) guide. {{< /note >}} ### Determining Factors @@ -40,14 +40,14 @@ A relational database, also called a relational database management system (RDBM |
Database
| Description | | -- | -- | -| [MySQL](https://www.mysql.com/) (and [MariaDB](https://mariadb.org/)) | MySQL is an extremely popular and well known open-source relational DBMS, used in many common applications (such as WordPress). It is free, has an easy to use GUI (MySQL Workbench), and is widely supported. MariaDB is a MySQL fork and is 100% compatible with MySQL 5.7 and earlier. As both DBMSs continue to develop, their feature set has diverged --- though MySQL and MariaDB have many more commonalities than differences. [Learn more →](/cloud/guides/list-of-databases/#mysql)

*Best for many common PHP applications and general workloads.* | -| [PostgreSQL](https://www.postgresql.org/) | PostgreSQL (also called Postgres) is another extremely popular free and open-source DBMS. While it can be slower and more complicated than MySQL, it can handle more complex data and even includes NoSQL support. [Learn more →](/cloud/guides/list-of-databases/#postgresql)

*Best for complex enterprise-level applications.* | -| [Microsoft SQL Server](https://www.microsoft.com/en-us/sql-server) | Microsoft SQL Server (also called MSSQL) is a very popular proprietary DMBS regarded for its Windows support (though it does now include Linux support), .NET integration, relative ease of use, and extensive first party management tools. [Learn more →](/cloud/guides/list-of-databases/#microsoft-sql-server)

*Best for .NET and Windows applications.* | -| [Oracle Database](https://www.oracle.com/database/technologies/) | Oracle Database is highly scalable (for a relational DMBS) and is very widely used for enterprise workloads. It offers high performance, efficient memory caching, and high availability and scalability (through Oracle RAC clusters), though this comes at higher costs and increased complexity compared with other relational DBMSs. [Learn more →](/cloud/guides/list-of-databases/#oracle)

*Best for enterprise applications that require scalability.* | +| [MySQL](https://www.mysql.com/) (and [MariaDB](https://mariadb.org/)) | MySQL is an extremely popular and well known open-source relational DBMS, used in many common applications (such as WordPress). It is free, has an easy to use GUI (MySQL Workbench), and is widely supported. MariaDB is a MySQL fork and is 100% compatible with MySQL 5.7 and earlier. As both DBMSs continue to develop, their feature set has diverged --- though MySQL and MariaDB have many more commonalities than differences. [Learn more →](/cloud/guides/list-of-databases#mysql)

*Best for many common PHP applications and general workloads.* | +| [PostgreSQL](https://www.postgresql.org/) | PostgreSQL (also called Postgres) is another extremely popular free and open-source DBMS. While it can be slower and more complicated than MySQL, it can handle more complex data and even includes NoSQL support. [Learn more →](/cloud/guides/list-of-databases#postgresql)

*Best for complex enterprise-level applications.* | +| [Microsoft SQL Server](https://www.microsoft.com/en-us/sql-server) | Microsoft SQL Server (also called MSSQL) is a very popular proprietary DMBS regarded for its Windows support (though it does now include Linux support), .NET integration, relative ease of use, and extensive first party management tools. [Learn more →](/cloud/guides/list-of-databases#microsoft-sql-server)

*Best for .NET and Windows applications.* | +| [Oracle Database](https://www.oracle.com/database/technologies/) | Oracle Database is highly scalable (for a relational DMBS) and is very widely used for enterprise workloads. It offers high performance, efficient memory caching, and high availability and scalability (through Oracle RAC clusters), though this comes at higher costs and increased complexity compared with other relational DBMSs. [Learn more →](/cloud/guides/list-of-databases#oracle)

*Best for enterprise applications that require scalability.* | ### Non-Relational (NoSQL) Databases -Non-relational databases (also referred to as [NoSQL Databases](/cloud/guides/what-is-nosql/)) do not store their information within tables, like RDBMSs. Data is instead stored as JSON documents, key-value pairs, or one of the following data models. This generally makes NoSQL databases more flexible as they can store a wide variety of data types. +Non-relational databases (also referred to as [NoSQL Databases](/cloud/guides/what-is-nosql)) do not store their information within tables, like RDBMSs. Data is instead stored as JSON documents, key-value pairs, or one of the following data models. This generally makes NoSQL databases more flexible as they can store a wide variety of data types. - **Document-oriented:** data is stored as JSON documents. - **Key-value:** data is stored in key pairs. @@ -56,10 +56,10 @@ Non-relational databases (also referred to as [NoSQL Databases](/cloud/guides/wh |
Database
| Description | | -- | -- | -| [MongoDB](https://www.mongodb.com/) | MongoDB is an extremely flexible general-purpose NoSQL database. Data is stored within BSON documents as JSON formatted key-value pairs. It is schema-less and it does not enforce a data structure. You can query MongoDB data using its own [MongoDB Query API](https://www.mongodb.com/docs/v6.0/query-api/). [Learn more →](/cloud/guides/list-of-databases/#mongodb)

*Best for compatible general-purpose workloads, content management, analytics, and prototyping. Not ideal for large amounts of related data.* | -| [Redis](https://redis.com/) | Redis is a relatively simple NoSQL solution and stores data as key-value pairs within system memory. This enables high performance data retrieval, but it isn't suitable for many complex workloads. Due to this, Redis is often used as part of a caching system instead of a primary database. [Learn more →](/cloud/guides/list-of-databases/#redis)

*Best for caching systems. Not ideal for an application's primary database.* | -| [Apache Cassandra](https://cassandra.apache.org/_/index.html) | Apache Cassandra is a wide column NoSQL database. While it can be compared to relational databases, it is schema-less and supports both structured and unstructured data. Its distributed nature (all nodes serve the same role) makes it scalable and fault tolerant. [CQL (Cassandra Query Language)](https://cassandra.apache.org/doc/latest/cassandra/cql/), Apache Cassandra own query language, is similar to SQL. [Learn more →](/cloud/guides/list-of-databases/#apache-cassandra)

*Best for transaction logging, event logging, time-series data, and for high-write low-read applications. Not ideal for an application's primary database* | -| [Apache CouchDB](https://couchdb.apache.org/) | CouchDB is another document-oriented database, similar to MongoDB. CouchDB is known for its reliability and scalability. You can interact with data using its unique HTTP REST-like API and data is stored in JSON format. [Learn more →](/cloud/guides/list-of-databases/#couchdb)

*Best for compatible general-purpose workloads and mobile applications.* | +| [MongoDB](https://www.mongodb.com/) | MongoDB is an extremely flexible general-purpose NoSQL database. Data is stored within BSON documents as JSON formatted key-value pairs. It is schema-less and it does not enforce a data structure. You can query MongoDB data using its own [MongoDB Query API](https://www.mongodb.com/docs/v6.0/query-api/). [Learn more →](/cloud/guides/list-of-databases#mongodb)

*Best for compatible general-purpose workloads, content management, analytics, and prototyping. Not ideal for large amounts of related data.* | +| [Redis](https://redis.com/) | Redis is a relatively simple NoSQL solution and stores data as key-value pairs within system memory. This enables high performance data retrieval, but it isn't suitable for many complex workloads. Due to this, Redis is often used as part of a caching system instead of a primary database. [Learn more →](/cloud/guides/list-of-databases#redis)

*Best for caching systems. Not ideal for an application's primary database.* | +| [Apache Cassandra](https://cassandra.apache.org/_/index.html) | Apache Cassandra is a wide column NoSQL database. While it can be compared to relational databases, it is schema-less and supports both structured and unstructured data. Its distributed nature (all nodes serve the same role) makes it scalable and fault tolerant. [CQL (Cassandra Query Language)](https://cassandra.apache.org/doc/latest/cassandra/cql/), Apache Cassandra own query language, is similar to SQL. [Learn more →](/cloud/guides/list-of-databases#apache-cassandra)

*Best for transaction logging, event logging, time-series data, and for high-write low-read applications. Not ideal for an application's primary database* | +| [Apache CouchDB](https://couchdb.apache.org/) | CouchDB is another document-oriented database, similar to MongoDB. CouchDB is known for its reliability and scalability. You can interact with data using its unique HTTP REST-like API and data is stored in JSON format. [Learn more →](/cloud/guides/list-of-databases#couchdb)

*Best for compatible general-purpose workloads and mobile applications.* | ## Select a Database Hosting Solution @@ -123,9 +123,9 @@ Beyond Managed Databases and Quick Deploy Apps, you can deploy any of your datab There are many installation and configuration guides available on our docs site for the database management system discussed above. Click on the links below to view guides for the corresponding database: -- [MySQL guides](/cloud/guides/databases/mysql/) -- [MongoDB guides](/cloud/guides/databases/mongodb/) -- [Apache Cassandra guides](/cloud/guides/databases/cassandra/) -- [Redis guides](/cloud/guides/databases/redis/) -- [PostgreSQL guides](/cloud/guides/databases/postgresql/) -- [CouchDB guides](/cloud/guides/databases/couchdb/) +- [MySQL guides](/cloud/guides/databases/mysql) +- [MongoDB guides](/cloud/guides/databases/mongodb) +- [Apache Cassandra guides](/cloud/guides/databases/cassandra) +- [Redis guides](/cloud/guides/databases/redis) +- [PostgreSQL guides](/cloud/guides/databases/postgresql) +- [CouchDB guides](/cloud/guides/databases/couchdb) diff --git a/docs/guides/databases/general/how-to-install-and-use-replibyte/index.md b/docs/guides/databases/general/how-to-install-and-use-replibyte/index.md index 02770dc10b2..8df7775491e 100644 --- a/docs/guides/databases/general/how-to-install-and-use-replibyte/index.md +++ b/docs/guides/databases/general/how-to-install-and-use-replibyte/index.md @@ -71,7 +71,7 @@ Transformers are applied on a per-column or per-key basis. The same transformer 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Replibyte diff --git a/docs/guides/databases/general/list-of-databases/index.md b/docs/guides/databases/general/list-of-databases/index.md index 1c7883759ba..36e67f8645c 100644 --- a/docs/guides/databases/general/list-of-databases/index.md +++ b/docs/guides/databases/general/list-of-databases/index.md @@ -38,7 +38,7 @@ DBMSs use two primary types of database: Relational and Non-Relational. The dist A relational database is one that stores information in tables containing related data. What gives a relational database its name is that relationships can be made between two or more tables. The relationships correlate rows belonging to two different tables into a third table. Relational databases are best used when the data they contain doesn't often change and when the accuracy of the data is crucial. -Non-relational databases (also called [NoSQL Databases](/cloud/guides/what-is-nosql/)) store their information in a non-tabular form. Instead, non-relational databases store data in data models, of which the four most common types are: +Non-relational databases (also called [NoSQL Databases](/cloud/guides/what-is-nosql)) store their information in a non-tabular form. Instead, non-relational databases store data in data models, of which the four most common types are: - **Document-oriented** - data is stored as JSON documents. - **Key-value** - data is stored in key pairs. @@ -100,7 +100,7 @@ The disadvantages of Oracle Database include: - **Complexity** - It's one of the more complex relational databases on the market. - **Cost** - Oracle Database can be up to 10 times more costly than MS SQL. -Find out how to [use Oracle Database Express Edition with Linode](/cloud/guides/databases/oracle/). +Find out how to [use Oracle Database Express Edition with Linode](/cloud/guides/databases/oracle). #### MySQL @@ -126,7 +126,7 @@ The Advantages of using MySQL include: - **Speed** - Is one of the fastest relational databases, thanks to a unique storage engine. - **Integration** - MySQL enjoys integration into thousands of third-party applications, such as blogging systems, CRMs, HRMs, ERPs, and many other types of applications. -Learn [how to install a MySQL instance on a Linode server](/cloud/guides/installing-and-configuring-mysql-on-ubuntu-2004/). +Learn [how to install a MySQL instance on a Linode server](/cloud/guides/installing-and-configuring-mysql-on-ubuntu-2004). #### Microsoft SQL Server @@ -194,7 +194,7 @@ As far as disadvantages, PostgreSQL suffers a few, such as: - Poor clustering support. - No built-in support for machine learning. -Check out our guide on [how to install PostgreSQL on an Ubuntu 20.04 server](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04/) for more information. +Check out our guide on [how to install PostgreSQL on an Ubuntu 20.04 server](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04) for more information. ### Non-Relational Databases @@ -235,7 +235,7 @@ The disadvantages of using Redis include the following: - Basic security features. - Only runs on one CPU core in single-threaded mode, so scalability requires several instances of Redis. -Check out our guide on [how to install and configure Redis on an Ubuntu 20.04 server](/cloud/guides/install-redis-ubuntu/) for more information. +Check out our guide on [how to install and configure Redis on an Ubuntu 20.04 server](/cloud/guides/install-redis-ubuntu) for more information. #### MongoDB @@ -274,7 +274,7 @@ The disadvantages of the MongoDB database include: - Can be slow if indexes aren't used correctly. - Because relationships aren't defined well, they can lead to duplicated data. -Check out our guide on [MongoDB use cases](/cloud/guides/mongodb-introduction/) for more information. +Check out our guide on [MongoDB use cases](/cloud/guides/mongodb-introduction) for more information. #### Apache Cassandra @@ -308,7 +308,7 @@ The disadvantages of Apache Cassandra include: - Although writes are fast, reads can be slow. - Limited official documentation. -Checkout our guides on [Apache Cassandra](/cloud/guides/databases/cassandra/) to learn more. +Checkout our guides on [Apache Cassandra](/cloud/guides/databases/cassandra) to learn more. #### CouchDB @@ -344,7 +344,7 @@ The disadvantages of CouchDB include: - No support for transactions. - Large database replication is unreliable. -Check out our guide on [Using CouchDB 2.0 on Ubuntu 20.04](/cloud/guides/use-couchdb-2-0-on-ubuntu-20-04/) for more information. +Check out our guide on [Using CouchDB 2.0 on Ubuntu 20.04](/cloud/guides/use-couchdb-2-0-on-ubuntu-20-04) for more information. ## Conclusion diff --git a/docs/guides/databases/general/relational-database-overview/index.md b/docs/guides/databases/general/relational-database-overview/index.md index 9687774b4b8..2fe882d43a8 100644 --- a/docs/guides/databases/general/relational-database-overview/index.md +++ b/docs/guides/databases/general/relational-database-overview/index.md @@ -109,4 +109,4 @@ The next SQL statement creates the `Class` table. The `CREATE` statement defines ### SQL vs. NoSQL -NoSQL systems are an alternative to traditional SQL-based RDBMS applications. As the name implies, they use a non-relational model to handle data. They are typically less structured and more flexible than an RDBMS. NoSQL systems are not standardized and can take a variety of formats. However, they are typically key-value, graph, or document-based, not table-based. Some NoSQL applications can use structured domain-specific languages or even accept SQL queries in parallel. A few examples of NoSQL applications include Redis and [MongoDB](/cloud/guides/install-mongodb-on-centos-7/). For more information on NoSQL systems, consult the Linode guide for a [comparison between SQL and NoSQL databases](/cloud/guides/what-is-nosql/#what-makes-nosql-different-from-sql). \ No newline at end of file +NoSQL systems are an alternative to traditional SQL-based RDBMS applications. As the name implies, they use a non-relational model to handle data. They are typically less structured and more flexible than an RDBMS. NoSQL systems are not standardized and can take a variety of formats. However, they are typically key-value, graph, or document-based, not table-based. Some NoSQL applications can use structured domain-specific languages or even accept SQL queries in parallel. A few examples of NoSQL applications include Redis and [MongoDB](/cloud/guides/install-mongodb-on-centos-7). For more information on NoSQL systems, consult the Linode guide for a [comparison between SQL and NoSQL databases](/cloud/guides/what-is-nosql#what-makes-nosql-different-from-sql). \ No newline at end of file diff --git a/docs/guides/databases/hadoop/how-to-install-and-set-up-hadoop-cluster/index.md b/docs/guides/databases/hadoop/how-to-install-and-set-up-hadoop-cluster/index.md index ec14e746f14..60ba5ab7a49 100644 --- a/docs/guides/databases/hadoop/how-to-install-and-set-up-hadoop-cluster/index.md +++ b/docs/guides/databases/hadoop/how-to-install-and-set-up-hadoop-cluster/index.md @@ -33,7 +33,7 @@ Hadoop is an open-source Apache project that allows creation of parallel process 1. Follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to harden each of the three servers. It is recommended that you set the hostname of each Linode to match the naming convention used when creating them. Create a normal user for the Hadoop installation, and a user called `hadoop` for the Hadoop daemons. Do **not** create SSH keys for `hadoop` users. SSH keys will be addressed in a later section. -1. Install the JDK using the appropriate guide for your distribution, [Debian](/cloud/guides/install-java-on-debian/), [CentOS](/cloud/guides/install-java-on-centos/) or [Ubuntu](/cloud/guides/install-java-on-ubuntu-16-04/), or install the latest JDK from Oracle. +1. Install the JDK using the appropriate guide for your distribution, [Debian](/cloud/guides/install-java-on-debian), [CentOS](/cloud/guides/install-java-on-centos) or [Ubuntu](/cloud/guides/install-java-on-ubuntu-16-04), or install the latest JDK from Oracle. 1. The steps below use example IPs for each node. Adjust each example according to your configuration: @@ -42,7 +42,7 @@ Hadoop is an open-source Apache project that allows creation of parallel process - **node2**: 192.0.2.3 {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. All commands in this guide are run with the *hadoop* user if not specified otherwise. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. All commands in this guide are run with the *hadoop* user if not specified otherwise. {{< /note >}} ## Architecture of a Hadoop Cluster @@ -521,5 +521,5 @@ YARN jobs are packaged into `jar` files and submitted to YARN for execution with Now that you have a YARN cluster up and running, you can: - Learn how to code your own YARN jobs with [Apache documentation](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/WritingYarnApplications.html). -- Install Spark on top on your YARN cluster with [Linode Spark guide](/cloud/guides/install-configure-run-spark-on-top-of-hadoop-yarn-cluster/). +- Install Spark on top on your YARN cluster with [Linode Spark guide](/cloud/guides/install-configure-run-spark-on-top-of-hadoop-yarn-cluster). - Secure your cluster with [Apache YARN Secure containers](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/SecureContainer.html). diff --git a/docs/guides/databases/hadoop/install-configure-run-spark-on-top-of-hadoop-yarn-cluster/index.md b/docs/guides/databases/hadoop/install-configure-run-spark-on-top-of-hadoop-yarn-cluster/index.md index c7e86d7838d..4c6cbdd2f18 100644 --- a/docs/guides/databases/hadoop/install-configure-run-spark-on-top-of-hadoop-yarn-cluster/index.md +++ b/docs/guides/databases/hadoop/install-configure-run-spark-on-top-of-hadoop-yarn-cluster/index.md @@ -24,7 +24,7 @@ Spark can run as a standalone cluster manager, or by taking advantage of dedicat ## Before You Begin -1. Follow our guide on how to [install and configure a three-node Hadoop cluster](/cloud/guides/how-to-install-and-set-up-hadoop-cluster/) to set up your YARN cluster. The master node (HDFS NameNode and YARN ResourceManager) is called **node-master** and the slave nodes (HDFS DataNode and YARN NodeManager) are called **node1** and **node2**. +1. Follow our guide on how to [install and configure a three-node Hadoop cluster](/cloud/guides/how-to-install-and-set-up-hadoop-cluster) to set up your YARN cluster. The master node (HDFS NameNode and YARN ResourceManager) is called **node-master** and the slave nodes (HDFS DataNode and YARN NodeManager) are called **node1** and **node2**. Run the commands in this guide from **node-master** unless otherwise specified. @@ -38,7 +38,7 @@ Spark can run as a standalone cluster manager, or by taking advantage of dedicat start-yarn.sh {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< / note >}} ## Download and Install Spark Binaries @@ -113,7 +113,7 @@ Allocation of Spark containers to run in YARN containers may fail if memory allo Be sure to understand how Hadoop YARN manages memory allocation before editing Spark memory settings so that your changes are compatible with your YARN cluster's limits. {{< note >}} -See the memory allocation section of the [Install and Configure a 3-Node Hadoop Cluster](/cloud/guides/how-to-install-and-set-up-hadoop-cluster/) guide for more details on managing your YARN cluster's memory. +See the memory allocation section of the [Install and Configure a 3-Node Hadoop Cluster](/cloud/guides/how-to-install-and-set-up-hadoop-cluster) guide for more details on managing your YARN cluster's memory. {{< / note >}} diff --git a/docs/guides/databases/harperdb/create-a-harperdb-cluster/index.md b/docs/guides/databases/harperdb/create-a-harperdb-cluster/index.md index 28170de01d6..4f69af6a54e 100644 --- a/docs/guides/databases/harperdb/create-a-harperdb-cluster/index.md +++ b/docs/guides/databases/harperdb/create-a-harperdb-cluster/index.md @@ -54,7 +54,7 @@ Some advantages of HarperDB are: 1. On a multi-user system, it is best to create a dedicated HarperDB user account with `sudo` access. Use this account for the instructions in this guide. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How To Install HarperDB diff --git a/docs/guides/databases/mariadb/backup-mariadb-mysql-to-object-storage-with-restic/index.md b/docs/guides/databases/mariadb/backup-mariadb-mysql-to-object-storage-with-restic/index.md index c120cab2db7..532b1268f63 100644 --- a/docs/guides/databases/mariadb/backup-mariadb-mysql-to-object-storage-with-restic/index.md +++ b/docs/guides/databases/mariadb/backup-mariadb-mysql-to-object-storage-with-restic/index.md @@ -29,7 +29,7 @@ MariaDB is a fork of MySQL. Where you see a reference to *MariaDB* in this guide {{< /note >}} {{< note >}} -The steps in this guide require root privileges, and commands are run with `sudo` unless otherwise noted. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges, and commands are run with `sudo` unless otherwise noted. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -38,7 +38,7 @@ The steps in this guide require root privileges, and commands are run with `sudo 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install MariaDB on your Linode by following the [How to Install MariaDB](/cloud/guides/databases/mariadb/) guide that is appropriate for your Linode's distribution. +1. Install MariaDB on your Linode by following the [How to Install MariaDB](/cloud/guides/databases/mariadb) guide that is appropriate for your Linode's distribution. 1. Create an Object Storage bucket to hold your backup repository. Follow the [Create a Bucket](https://techdocs.akamai.com/cloud-computing/docs/create-and-manage-buckets) guide if you do not already have one. @@ -167,7 +167,7 @@ System Cron jobs exist as entries in the `/etc/crontab` file. Open your systems sudo crontab -e -Add a line pointing to your backup script. This example runs the backup every hour, on the hour. See the [Schedule tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) article for additional scheduling options. +Add a line pointing to your backup script. This example runs the backup every hour, on the hour. See the [Schedule tasks with Cron](/cloud/guides/schedule-tasks-with-cron) article for additional scheduling options. 0 * * * * /usr/local/bin/backup_mariadb > /tmp/mariadb-backup-log.txt 2>&1 @@ -233,7 +233,7 @@ It can get tedious typing out the arguments to the Restic command. To make life Because the credentials that Restic uses were created under the root user's home folder, the example alias in this section only works for the root user. {{< /note >}} -In your `root` user's `.profile` file, add the lines in the example. For example, on an Ubuntu system this file is located in `/root/.profile`. To learn more about creating reusable aliases, see the [How to Add the Linux alias Command in the .bashrc File](/cloud/guides/how-to-add-linux-alias-command-in-bashrc-file/) guide. +In your `root` user's `.profile` file, add the lines in the example. For example, on an Ubuntu system this file is located in `/root/.profile`. To learn more about creating reusable aliases, see the [How to Add the Linux alias Command in the .bashrc File](/cloud/guides/how-to-add-linux-alias-command-in-bashrc-file) guide. source /root/restic_params alias myrestic='restic -r s3:us-east-1.linodeobjects.com/your-bucket-name -p /root/restic_pw' diff --git a/docs/guides/databases/mariadb/configure-wordpress-remote-database/index.md b/docs/guides/databases/mariadb/configure-wordpress-remote-database/index.md index 387a2ae7624..61973a6c74f 100644 --- a/docs/guides/databases/mariadb/configure-wordpress-remote-database/index.md +++ b/docs/guides/databases/mariadb/configure-wordpress-remote-database/index.md @@ -20,18 +20,18 @@ aliases: [] ## Before You Begin -- This guide uses two Linodes in the same data center to communicate via [private IP](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) addresses. You will need to configure a [LEMP](/cloud/guides/web-servers/lemp/) or [LAMP](/cloud/guides/web-servers/lamp/) stack on one. +- This guide uses two Linodes in the same data center to communicate via [private IP](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) addresses. You will need to configure a [LEMP](/cloud/guides/web-servers/lemp) or [LAMP](/cloud/guides/web-servers/lamp) stack on one. - Ensure that all packages are up to date. - Follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [Secure your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides to create a non-root sudo user. -- While the steps to configure an existing database may be similar, this guide is written for a fresh database and WordPress installation. Visit our guide on how to [backup an existing database](/cloud/guides/mysqldump-backups/). +- While the steps to configure an existing database may be similar, this guide is written for a fresh database and WordPress installation. Visit our guide on how to [backup an existing database](/cloud/guides/mysqldump-backups). ### Variables Used in This Guide * *Database server*: Linode on which the database is installed. -* *Web server*: Linode on which [WordPress is downloaded](/cloud/guides/install-wordpress-on-ubuntu-16-04/). +* *Web server*: Linode on which [WordPress is downloaded](/cloud/guides/install-wordpress-on-ubuntu-16-04). * `example.com`: Your fully qualified domain name (FQDN) or IP address. * `wordpress`: Database name. * `wpuser`: The WordPress client database user. @@ -105,7 +105,7 @@ Run these steps on the web server. When first installed and configured through the web interface and a local database, WordPress creates a file called `wp-config.php`. Configure the initial remote database settings. -1. Navigate to the directory to which [WordPress was extracted](/cloud/guides/install-wordpress-on-ubuntu-16-04/#install-wordpress), copy the sample configuration and set it to use the remote database: +1. Navigate to the directory to which [WordPress was extracted](/cloud/guides/install-wordpress-on-ubuntu-16-04#install-wordpress), copy the sample configuration and set it to use the remote database: cd /var/www/html/example.com/public_html sudo cp wp-config-sample.php wp-config.php @@ -354,4 +354,4 @@ Access the WordPress installation interface through `wp-admin`. Use a browser to ## Next Steps -Now that the database is configured to communicate over a secure connection, consider using SSL/TLS for the web server itself. Our guide covering [TLS on NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) details some best practices for securing NGINX and web servers in general. Visit the [SSL Certificates](/cloud/guides/security/ssl/) section of Linode Docs for information on other servers and Linux distributions. +Now that the database is configured to communicate over a secure connection, consider using SSL/TLS for the web server itself. Our guide covering [TLS on NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) details some best practices for securing NGINX and web servers in general. Visit the [SSL Certificates](/cloud/guides/security/ssl) section of Linode Docs for information on other servers and Linux distributions. diff --git a/docs/guides/databases/mariadb/how-to-install-mariadb-on-centos-7/index.md b/docs/guides/databases/mariadb/how-to-install-mariadb-on-centos-7/index.md index abf434667a1..c2d6eb77e08 100644 --- a/docs/guides/databases/mariadb/how-to-install-mariadb-on-centos-7/index.md +++ b/docs/guides/databases/mariadb/how-to-install-mariadb-on-centos-7/index.md @@ -27,10 +27,10 @@ MariaDB is a fork of the popular cross-platform MySQL database management system ![How to Install MariaDB on CentOS 7](how-to-install-mariadb-on-centos-7.png) -MariaDB replaced MySQL as the default database system in the CentOS 7 repositories. Though installing MySQL into CentOS 7 is not difficult see, [install mysql CentOS 7](/cloud/guides/how-to-install-mysql-on-centos-7/), if you simply need a database MariaDB is recommended for official support and a minimal chance of incompatibilities with other repository software. +MariaDB replaced MySQL as the default database system in the CentOS 7 repositories. Though installing MySQL into CentOS 7 is not difficult see, [install mysql CentOS 7](/cloud/guides/how-to-install-mysql-on-centos-7), if you simply need a database MariaDB is recommended for official support and a minimal chance of incompatibilities with other repository software. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -55,7 +55,7 @@ Enable MariaDB to start on boot and then start the service: sudo systemctl enable mariadb sudo systemctl start mariadb -MariaDB will bind to localhost (127.0.0.1) by default. For information on connecting to a remote database using SSH, see our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/), which also applies to MariaDB. +MariaDB will bind to localhost (127.0.0.1) by default. For information on connecting to a remote database using SSH, see our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access), which also applies to MariaDB. {{< note >}} Allowing unrestricted access to MariaDB on a public IP not advised but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/my.cnf`. If you decide to bind MariaDB to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mariadb/how-to-install-mariadb-on-centos-8/index.md b/docs/guides/databases/mariadb/how-to-install-mariadb-on-centos-8/index.md index ff560b8f63f..57468ab5282 100644 --- a/docs/guides/databases/mariadb/how-to-install-mariadb-on-centos-8/index.md +++ b/docs/guides/databases/mariadb/how-to-install-mariadb-on-centos-8/index.md @@ -28,7 +28,7 @@ MariaDB is a fork of the popular cross-platform MySQL database management system MariaDB replaced MySQL as the default database system in the CentOS 8 repositories. Though installing MySQL into CentOS 8 is not particularly difficult, if you need a database, MariaDB is recommended for official support and a minimal chance of incompatibilities with other repository software. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -55,7 +55,7 @@ Enable MariaDB to start on boot and then start the service: sudo systemctl enable mariadb sudo systemctl start mariadb -MariaDB will bind to localhost (127.0.0.1) by default. For information on connecting to a remote database using SSH, see our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/), which also applies to MariaDB. +MariaDB will bind to localhost (127.0.0.1) by default. For information on connecting to a remote database using SSH, see our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access), which also applies to MariaDB. {{< note >}} Allowing unrestricted access to MariaDB on a public IP not advised but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/my.cnf`. If you decide to bind MariaDB to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mariadb/how-to-install-mariadb-on-debian-10/index.md b/docs/guides/databases/mariadb/how-to-install-mariadb-on-debian-10/index.md index 5b85ba10ae3..c9e7ca9db5d 100644 --- a/docs/guides/databases/mariadb/how-to-install-mariadb-on-debian-10/index.md +++ b/docs/guides/databases/mariadb/how-to-install-mariadb-on-debian-10/index.md @@ -26,7 +26,7 @@ tags: ["debian","mariadb","database"] MariaDB is a fork of the popular cross-platform MySQL database management system and is considered a full [drop-in replacement](https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-features/) for MySQL. MariaDB was created by one of MySQL's original developers in 2009 after MySQL was acquired by Oracle during the Sun Microsystems merger. Today MariaDB is maintained and developed by the [MariaDB Foundation](https://mariadb.org/en/foundation/) and community contributors with the intention of it remaining GNU GPL software. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -48,7 +48,7 @@ Install MariaDB using the package manager. sudo apt install mariadb-server -MariaDB will bind to localhost (127.0.0.1) by default. For information on connecting to a remote database using SSH, see our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/), which also applies to MariaDB. +MariaDB will bind to localhost (127.0.0.1) by default. For information on connecting to a remote database using SSH, see our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access), which also applies to MariaDB. {{< note >}} Allowing unrestricted access to MariaDB on a public IP not advised but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/mysql/my.cnf`. If you decide to bind MariaDB to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mariadb/how-to-install-mariadb-on-debian-9/index.md b/docs/guides/databases/mariadb/how-to-install-mariadb-on-debian-9/index.md index 823f9f9f87b..1e19caa35fa 100644 --- a/docs/guides/databases/mariadb/how-to-install-mariadb-on-debian-9/index.md +++ b/docs/guides/databases/mariadb/how-to-install-mariadb-on-debian-9/index.md @@ -27,7 +27,7 @@ deprecated: true MariaDB is a fork of the popular cross-platform MySQL database management system and is considered a full [drop-in replacement](https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-features/) for MySQL. MariaDB was created by one of MySQL's original developers in 2009 after MySQL was acquired by Oracle during the Sun Microsystems merger. Today MariaDB is maintained and developed by the [MariaDB Foundation](https://mariadb.org/en/foundation/) and community contributors with the intention of it remaining GNU GPL software. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -49,7 +49,7 @@ Install MariaDB using the package manager. sudo apt install mariadb-server -MariaDB will bind to localhost (127.0.0.1) by default. For information on connecting to a remote database using SSH, see our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/), which also applies to MariaDB. +MariaDB will bind to localhost (127.0.0.1) by default. For information on connecting to a remote database using SSH, see our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access), which also applies to MariaDB. {{< note >}} Allowing unrestricted access to MariaDB on a public IP not advised but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/my.cnf`. If you decide to bind MariaDB to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mariadb/how-to-install-mariadb-on-ubuntu-18-04/index.md b/docs/guides/databases/mariadb/how-to-install-mariadb-on-ubuntu-18-04/index.md index 0970b179a1f..19c3d0d2c18 100644 --- a/docs/guides/databases/mariadb/how-to-install-mariadb-on-ubuntu-18-04/index.md +++ b/docs/guides/databases/mariadb/how-to-install-mariadb-on-ubuntu-18-04/index.md @@ -25,7 +25,7 @@ tags: ["ubuntu","mariadb","database"] MariaDB is a fork of the popular cross-platform MySQL database management system and is considered a full [drop-in replacement](https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-features/) for MySQL. MariaDB was created by one of MySQL's original developers in 2009 after MySQL was acquired by Oracle during the Sun Microsystems merger. Today MariaDB is maintained and developed by the [MariaDB Foundation](https://mariadb.org/en/foundation/) and community contributors with the intention of it remaining GNU GPL software. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -47,7 +47,7 @@ Install MariaDB using the package manager. sudo apt install mariadb-server -MariaDB will bind to localhost (127.0.0.1) by default. For information on connecting to a remote database using SSH, see our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/), which also applies to MariaDB. +MariaDB will bind to localhost (127.0.0.1) by default. For information on connecting to a remote database using SSH, see our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access), which also applies to MariaDB. {{< note >}} Allowing unrestricted access to MariaDB on a public IP not advised but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/mysql/my.cnf`. If you decide to bind MariaDB to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mariadb/how-to-set-up-mariadb-galera-clusters-on-ubuntu-2204/index.md b/docs/guides/databases/mariadb/how-to-set-up-mariadb-galera-clusters-on-ubuntu-2204/index.md index 754808e0cc5..1d837e8114b 100644 --- a/docs/guides/databases/mariadb/how-to-set-up-mariadb-galera-clusters-on-ubuntu-2204/index.md +++ b/docs/guides/databases/mariadb/how-to-set-up-mariadb-galera-clusters-on-ubuntu-2204/index.md @@ -63,7 +63,7 @@ Cluster performance is constrained by the slowest node in the cluster. To avoid 1. **Optional**: If all servers are located inside the same data center, consider using private IP addresses in the Galera Cluster configuration files to enhance data security. Be sure to reboot all Linode instances after adding a private IP address. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} The commands, file contents, and other instructions provided throughout this guide may include placeholders. These are typically domain names, IP addresses, usernames, passwords, and other values that are unique to you. The table below identifies these placeholder values and explains what to replace them with: diff --git a/docs/guides/databases/mariadb/mariadb-setup-debian/index.md b/docs/guides/databases/mariadb/mariadb-setup-debian/index.md index b700079307b..c4cb37ec0f6 100644 --- a/docs/guides/databases/mariadb/mariadb-setup-debian/index.md +++ b/docs/guides/databases/mariadb/mariadb-setup-debian/index.md @@ -28,7 +28,7 @@ deprecated_link: 'guides/how-to-install-mariadb-on-debian-9/' MariaDB is a drop-in replacement for MySQL. It strives to be the logical choice for database professionals looking for a robust, scalable and reliable SQL Server. This guide will help beginners install and configure MariaDB on Debian 9 (Stretch). {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install MariaDB @@ -191,7 +191,7 @@ You will be asked to change the root password, remove anonymous users, disable r This section will demonstrate how to allow the previously created user, **testuser**, to connect to MariaDB remotely (by default, MariaDB will allow connections from only localhost). {{< note type="alert" >}} -Opening a MariaDB server up to the internet makes it less secure. If you need to connect from somewhere other than localhost, make sure you implement [firewall](/cloud/guides/control-network-traffic-with-iptables/) rules that allow connections only from specific IP addresses. +Opening a MariaDB server up to the internet makes it less secure. If you need to connect from somewhere other than localhost, make sure you implement [firewall](/cloud/guides/control-network-traffic-with-iptables) rules that allow connections only from specific IP addresses. {{< /note >}} 1. Log in to MariaDB as root: diff --git a/docs/guides/databases/memcached/install-and-secure-memcached-on-debian-11-and-ubuntu-2204/index.md b/docs/guides/databases/memcached/install-and-secure-memcached-on-debian-11-and-ubuntu-2204/index.md index c2de53a0509..e55b30ff3ba 100644 --- a/docs/guides/databases/memcached/install-and-secure-memcached-on-debian-11-and-ubuntu-2204/index.md +++ b/docs/guides/databases/memcached/install-and-secure-memcached-on-debian-11-and-ubuntu-2204/index.md @@ -21,10 +21,10 @@ This guide walks through the installation steps for Memcached on Debian 11 and U 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Follow our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide to install UFW, allow SSH access, and enable the firewall. +1. Follow our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide to install UFW, allow SSH access, and enable the firewall. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Memcached diff --git a/docs/guides/databases/mongodb/_shortguides/mongodb-deployment-methods-shortguide/index.md b/docs/guides/databases/mongodb/_shortguides/mongodb-deployment-methods-shortguide/index.md index 857607befa6..7c28f21e669 100644 --- a/docs/guides/databases/mongodb/_shortguides/mongodb-deployment-methods-shortguide/index.md +++ b/docs/guides/databases/mongodb/_shortguides/mongodb-deployment-methods-shortguide/index.md @@ -12,7 +12,7 @@ show_on_rss_feed: false aliases: [] --- -To perform the steps in the guide, you need to have a running MongoDB database as well as the [MongoDB Shell](/cloud/guides/mongodb-community-shell-installation/) installed (either locally or on your remote instance). To deploy MongoDB, follow the instructions on [MongoDB's documentation site](https://www.mongodb.com/docs/manual/administration/install-on-linux/) or use one of the following Linode guides: +To perform the steps in the guide, you need to have a running MongoDB database as well as the [MongoDB Shell](/cloud/guides/mongodb-community-shell-installation) installed (either locally or on your remote instance). To deploy MongoDB, follow the instructions on [MongoDB's documentation site](https://www.mongodb.com/docs/manual/administration/install-on-linux/) or use one of the following Linode guides: - - [Installing MongoDB on Ubuntu 20.04](/cloud/guides/install-mongodb-on-ubuntu-20-04/) - - [Installing MongoDB on CentOS 7](/cloud/guides/install-mongodb-on-centos-7/) \ No newline at end of file + - [Installing MongoDB on Ubuntu 20.04](/cloud/guides/install-mongodb-on-ubuntu-20-04) + - [Installing MongoDB on CentOS 7](/cloud/guides/install-mongodb-on-centos-7) \ No newline at end of file diff --git a/docs/guides/databases/mongodb/_shortguides/mongodb-shell-shortguide/index.md b/docs/guides/databases/mongodb/_shortguides/mongodb-shell-shortguide/index.md index 8df512c2e8e..eb935b3015f 100644 --- a/docs/guides/databases/mongodb/_shortguides/mongodb-shell-shortguide/index.md +++ b/docs/guides/databases/mongodb/_shortguides/mongodb-shell-shortguide/index.md @@ -13,5 +13,5 @@ aliases: [] --- {{< note >}} -To connect to your MongoDB instance, use the [MongoDB Shell](https://www.mongodb.com/products/shell) (`mongosh`). MongoDB Shell provides a command line interface you can use to interact with your MongoDB instances. For help using this tool to connect to your database, see the [Install and Use the MongoDB Shell](/cloud/guides/mongodb-community-shell-installation/) guide. +To connect to your MongoDB instance, use the [MongoDB Shell](https://www.mongodb.com/products/shell) (`mongosh`). MongoDB Shell provides a command line interface you can use to interact with your MongoDB instances. For help using this tool to connect to your database, see the [Install and Use the MongoDB Shell](/cloud/guides/mongodb-community-shell-installation) guide. {{< /note >}} \ No newline at end of file diff --git a/docs/guides/databases/mongodb/a-shell-script-to-automatically-backup-mongodb-databases/index.md b/docs/guides/databases/mongodb/a-shell-script-to-automatically-backup-mongodb-databases/index.md index 462b4b1422d..91eedf5f5ae 100644 --- a/docs/guides/databases/mongodb/a-shell-script-to-automatically-backup-mongodb-databases/index.md +++ b/docs/guides/databases/mongodb/a-shell-script-to-automatically-backup-mongodb-databases/index.md @@ -25,10 +25,10 @@ Backing up the data stored in a MongoDB database is an important step to maintai 1. Create a pair of [Access Keys](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys) for your Linode Object Storage bucket. -1. Install [MongoDB](/cloud/guides/install-mongodb-on-ubuntu-16-04/) on your Linux system. +1. Install [MongoDB](/cloud/guides/install-mongodb-on-ubuntu-16-04) on your Linux system. {{< note >}} -The steps in this guide are written for a non-root user account. For any commands that require elevated privileges, `sudo` is prefixed at the start of the command syntax. If you’re unfamiliar with the `sudo` command workflow, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user account. For any commands that require elevated privileges, `sudo` is prefixed at the start of the command syntax. If you’re unfamiliar with the `sudo` command workflow, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Cyberduck CLI @@ -117,7 +117,7 @@ Refer to the comments in the code to learn what each line in the code does. ## Run the Bash Script -Before setting the above script to run automatically, execute the script to configure your Linode bucket's access key pair. You need to set the appropriate permissions for this script to be executed. For more information on Linux file permissions, review our guide on [Modifying File Permissions with chmod](/cloud/guides/modify-file-permissions-with-chmod/). +Before setting the above script to run automatically, execute the script to configure your Linode bucket's access key pair. You need to set the appropriate permissions for this script to be executed. For more information on Linux file permissions, review our guide on [Modifying File Permissions with chmod](/cloud/guides/modify-file-permissions-with-chmod). Modify the script's permissions, then execute the script with the following commands: diff --git a/docs/guides/databases/mongodb/build-database-clusters-with-mongodb/index.md b/docs/guides/databases/mongodb/build-database-clusters-with-mongodb/index.md index 7339f83264c..d3e1ca629c4 100644 --- a/docs/guides/databases/mongodb/build-database-clusters-with-mongodb/index.md +++ b/docs/guides/databases/mongodb/build-database-clusters-with-mongodb/index.md @@ -32,10 +32,10 @@ The commands and filepaths in this guide are based on those used in Ubuntu 16.04 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. We recommend choosing hostnames that correspond with each Linode's role in the cluster, explained in the next section. -1. Follow our guides to [install MongoDB](/cloud/guides/databases/mongodb/) on each Linode you want to use in your cluster. +1. Follow our guides to [install MongoDB](/cloud/guides/databases/mongodb) on each Linode you want to use in your cluster. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Cluster Architecture @@ -48,7 +48,7 @@ Before we get started, let's review the components of the setup we'll be creatin !["A sharded MongoDB cluster"](mongodb-cluster-diagram.png "A sharded MongoDB cluster") -The problem in this configuration is that if one of the shard servers experiences downtime, a portion of your data will become unavailable. To avoid this, you can use [replica sets](https://docs.mongodb.com/manual/reference/replica-configuration/) for each shard to ensure high availability. For more information, refer to our guide on [creating MongoDB replica sets](/cloud/guides/create-a-mongodb-replica-set/). +The problem in this configuration is that if one of the shard servers experiences downtime, a portion of your data will become unavailable. To avoid this, you can use [replica sets](https://docs.mongodb.com/manual/reference/replica-configuration/) for each shard to ensure high availability. For more information, refer to our guide on [creating MongoDB replica sets](/cloud/guides/create-a-mongodb-replica-set). ## Configure Hosts File @@ -127,7 +127,7 @@ In this section you'll create a key file that will be used to secure authenticat sudo systemctl restart mongod - You can skip this step on your query router, since you'll create a separate configuration file for it later in this guide. Note that key file authentication automatically enables [role-based access control](https://docs.mongodb.com/manual/core/authorization/), so you will need to [create users](/cloud/guides/install-mongodb-on-ubuntu-16-04/#create-database-users) and assign them the necessary privileges to access databases. + You can skip this step on your query router, since you'll create a separate configuration file for it later in this guide. Note that key file authentication automatically enables [role-based access control](https://docs.mongodb.com/manual/core/authorization/), so you will need to [create users](/cloud/guides/install-mongodb-on-ubuntu-16-04#create-database-users) and assign them the necessary privileges to access databases. ## Initialize Config Servers @@ -375,7 +375,7 @@ bindIp: 192.0.2.5 These steps can all be done from a single `mongos` connection; you don't need to log into each shard individually and make the connection to add a new shard. If you're using more than two shards, you can use this format to add more shards as well. Be sure to modify the hostnames in the above command if appropriate. -4. Optionally, if you configured [replica sets](/cloud/guides/create-a-mongodb-replica-set/) for each shard instead of single servers, you can add them at this stage with a similar command: +4. Optionally, if you configured [replica sets](/cloud/guides/create-a-mongodb-replica-set) for each shard instead of single servers, you can add them at this stage with a similar command: sh.addShard( "rs0/mongo-repl-1:27017,mongo-repl-2:27017,mongo-repl-3:27017" ) @@ -504,6 +504,6 @@ This section is optional. To ensure your data is being distributed evenly in the ## Next Steps -Before using your cluster in a production environment, it's important to configure a firewall to limit ports 27017 and 27019 to only accept traffic between hosts within your cluster. Additional firewall configuration will likely be needed depending on the other services you're running. For more information, consult our [firewall guides](/cloud/guides/security/firewalls/). +Before using your cluster in a production environment, it's important to configure a firewall to limit ports 27017 and 27019 to only accept traffic between hosts within your cluster. Additional firewall configuration will likely be needed depending on the other services you're running. For more information, consult our [firewall guides](/cloud/guides/security/firewalls). You may also want to create a master disk image consisting of a full MongoDB installation and whatever configuration settings your application requires. By doing so, you can use the Linode Manager to dynamically scale your cluster as your data storage needs grow. You may also do this from the [Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli) if you'd like to automate the process. For more information, see our guide on [Linode Images](https://techdocs.akamai.com/cloud-computing/docs/images). diff --git a/docs/guides/databases/mongodb/create-a-mongodb-replica-set/index.md b/docs/guides/databases/mongodb/create-a-mongodb-replica-set/index.md index 0f21933a212..d625695480c 100644 --- a/docs/guides/databases/mongodb/create-a-mongodb-replica-set/index.md +++ b/docs/guides/databases/mongodb/create-a-mongodb-replica-set/index.md @@ -28,10 +28,10 @@ This guide has been tested with Ubuntu 16.04 and CentOS 7. Because most of the c 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Follow the guide on how to install MongoDB for your distribution. See [MongoDB guides](/cloud/guides/databases/mongodb/) +1. Follow the guide on how to install MongoDB for your distribution. See [MongoDB guides](/cloud/guides/databases/mongodb) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Configure Networking @@ -46,7 +46,7 @@ The first method is to use [private IP addresses](https://techdocs.akamai.com/cl The second method is to simply use the public IP address assigned to each Linode. You'll need to use this method if your Linodes are located in different data centers, although this is not recommended because network latency will have a negative impact on replication. If you must use public IP addresses, you should [configure SSL/TLS encryption](https://docs.mongodb.com/manual/tutorial/configure-ssl/) for data sent between your hosts, or configure them to communicate over a VPN. -Whether you're using public or private IP addresses to send data, you'll need to secure each Linode with a [firewall](/cloud/guides/security/firewalls/) before deploying your replica set into production. +Whether you're using public or private IP addresses to send data, you'll need to secure each Linode with a [firewall](/cloud/guides/security/firewalls) before deploying your replica set into production. ### Configure Hosts Files @@ -132,7 +132,7 @@ replication: The `port` value of 27017 is the default. If you have reason to use a different port you may do so, but the rest of this guide will use the default. The `bindIp` directive specifies the IP address on which the MongoDB daemon will listen, and since we're connecting several hosts, this should be the IP address that corresponds with the Linode on which you're configuring it (the same address added to the hosts files in the previous section). Leaving the default of `127.0.0.1` allows you to connect locally as well, which may be useful for testing replication. -Uncomment the `security` section, and use the `keyFile` option to direct MongoDB to the key you created previously. Enabling `keyFile` authentication automatically enables [role-based access control](https://docs.mongodb.com/manual/core/authorization/) as well, so you will need to [create users](/cloud/guides/install-mongodb-on-ubuntu-16-04/#create-database-users) and assign them privileges to access specific databases. +Uncomment the `security` section, and use the `keyFile` option to direct MongoDB to the key you created previously. Enabling `keyFile` authentication automatically enables [role-based access control](https://docs.mongodb.com/manual/core/authorization/) as well, so you will need to [create users](/cloud/guides/install-mongodb-on-ubuntu-16-04#create-database-users) and assign them privileges to access specific databases. The `replication` section needs to be uncommented to be enabled. Directives in this section are what directly affect the configuration of your replica set. The value `rs0` is the name we're using for our replica set; you can use a different naming convention if you like, but we'll be using `rs0` throughout this guide. @@ -222,4 +222,4 @@ At this stage, your replica set is fully functional and ready to use. The steps ## Next Steps -Replica sets can be used as standalone components of a high availability system, or as part of a [sharded database cluster](https://docs.mongodb.com/manual/core/sharded-cluster-shards/). For larger datasets, a cluster allows you to distribute data across many database servers or replica sets and route queries to them based on criteria you specify. For more information on how to create a sharded cluster, see our guide on [building database clusters with MongoDB](/cloud/guides/build-database-clusters-with-mongodb/). +Replica sets can be used as standalone components of a high availability system, or as part of a [sharded database cluster](https://docs.mongodb.com/manual/core/sharded-cluster-shards/). For larger datasets, a cluster allows you to distribute data across many database servers or replica sets and route queries to them based on criteria you specify. For more information on how to create a sharded cluster, see our guide on [building database clusters with MongoDB](/cloud/guides/build-database-clusters-with-mongodb). diff --git a/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-centos-6-4/index.md b/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-centos-6-4/index.md index 7fc8d4a05ff..d426dc51466 100644 --- a/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-centos-6-4/index.md +++ b/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-centos-6-4/index.md @@ -26,9 +26,9 @@ deprecated_link: 'guides/create-a-mongodb-replica-set/' MongoDB is an open-source non-SQL database engine. MongoDB is scalable and an alternative to the standard relational database management system (RDBMS). A replication set is used for redundancy and to provide access to your data in the event of a node failure. -Before installing MongoDB, it is assumed that you have followed our getting started guide. If you are new to Linux server administration, you may want to consult our using Linux document series including the [Introduction to Linux Concepts guide](/cloud/guides/introduction-to-linux-concepts/) and [Administration Basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assumed that you have followed our getting started guide. If you are new to Linux server administration, you may want to consult our using Linux document series including the [Introduction to Linux Concepts guide](/cloud/guides/introduction-to-linux-concepts) and [Administration Basics guide](/cloud/guides/linux-system-administration-basics). -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can review our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can review our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. ## Installing MongoDB diff --git a/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-debian-7-wheezy/index.md b/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-debian-7-wheezy/index.md index 1a6b8783b2c..61600c59d54 100644 --- a/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-debian-7-wheezy/index.md +++ b/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-debian-7-wheezy/index.md @@ -26,9 +26,9 @@ deprecated_link: 'guides/create-a-mongodb-replica-set/' MongoDB is an open-source, non-SQL database engine. MongoDB is scalable and an alternative to the standard relational database management system (RDBMS). A replication set is used for redundancy and to provide access to your data in the event of a node failure. -Before installing MongoDB, it is assumed that you have followed our getting started guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assumed that you have followed our getting started guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo command`, you can review our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo command`, you can review our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. ## Installing MongoDB diff --git a/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-ubuntu-12-04-precise/index.md b/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-ubuntu-12-04-precise/index.md index f7cdf4a4d22..bba67d2a943 100644 --- a/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-ubuntu-12-04-precise/index.md +++ b/docs/guides/databases/mongodb/creating-a-mongodb-replication-set-on-ubuntu-12-04-precise/index.md @@ -26,9 +26,9 @@ deprecated_link: 'guides/create-a-mongodb-replica-set/' MongoDB is an open-source, non-SQL database engine. MongoDB is scalable and an alternative to the standard relational database management system (RDBMS). A replication set is used for redundancy and to provide access to your data in the event of a node failure. -Before installing MongoDB, it is assumed that you have followed our getting started guide. If you are new to Linux server administration, you may want to consult our Using Linux document series including the [Introduction to Linux Concepts guide](/cloud/guides/introduction-to-linux-concepts/) and [Administration Basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assumed that you have followed our getting started guide. If you are new to Linux server administration, you may want to consult our Using Linux document series including the [Introduction to Linux Concepts guide](/cloud/guides/introduction-to-linux-concepts) and [Administration Basics guide](/cloud/guides/linux-system-administration-basics). -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo command`, you can review our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo command`, you can review our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. ## Installing MongoDB diff --git a/docs/guides/databases/mongodb/getting-started-with-mongodb/index.md b/docs/guides/databases/mongodb/getting-started-with-mongodb/index.md index 718a27d4676..cb0f0c2cc70 100644 --- a/docs/guides/databases/mongodb/getting-started-with-mongodb/index.md +++ b/docs/guides/databases/mongodb/getting-started-with-mongodb/index.md @@ -17,7 +17,7 @@ external_resources: [MongoDB](https://www.mongodb.com/) is a NoSQL database, that provides more flexible and less rigidly structured data storage than traditional relational databases. This MongoDB guide introduces you to all the basic MongoDB operations you need to get started, including commands for operations like queries, inserts, updates, and deletions. It sets you up to begin effectively populating and using your MongoDB instance. {{< note >}} -To learn all about what MongoDB is and how it works, see out [Introduction to MongoDB and its Use Cases](/cloud/guides/mongodb-introduction/) guide. +To learn all about what MongoDB is and how it works, see out [Introduction to MongoDB and its Use Cases](/cloud/guides/mongodb-introduction) guide. {{< /note >}} ## Before You Begin @@ -351,7 +351,7 @@ For demonstration, the following are some of the useful operators for filtering { "_id" : ObjectId("62757b4298fcda5eac416191"), "id" : 4, "name" : "Another Entry for Testing" } ``` -Learn more about comparison and logical query operations in our guide on [How to Navigate Your Data in MongoDB Databases](/cloud/guides/navigate-mongodb-databases/). +Learn more about comparison and logical query operations in our guide on [How to Navigate Your Data in MongoDB Databases](/cloud/guides/navigate-mongodb-databases). ### Updating Documents @@ -453,4 +453,4 @@ true This tutorial has laid out the basics of MongoDB you need for getting started. From how to work with databases and collections, to inserting and modifying documents, this guide gives you the tools you need. -Looking to dive deeper into MongoDB? Be sure to peruse our other [MongoDB guides](/cloud/guides/databases/mongodb/) for more on setting up and getting the most out of MongoDB. And take a look at our [How to Navigate Your Data in MongoDB Databases](/cloud/guides/navigate-mongodb-databases/) for more on querying and text searches. \ No newline at end of file +Looking to dive deeper into MongoDB? Be sure to peruse our other [MongoDB guides](/cloud/guides/databases/mongodb) for more on setting up and getting the most out of MongoDB. And take a look at our [How to Navigate Your Data in MongoDB Databases](/cloud/guides/navigate-mongodb-databases) for more on querying and text searches. \ No newline at end of file diff --git a/docs/guides/databases/mongodb/indexing-mongodb/index.md b/docs/guides/databases/mongodb/indexing-mongodb/index.md index cbd42ceede8..da70e76feb6 100644 --- a/docs/guides/databases/mongodb/indexing-mongodb/index.md +++ b/docs/guides/databases/mongodb/indexing-mongodb/index.md @@ -15,7 +15,7 @@ external_resources: - '[MongoDB: Performance Best Practices — Indexing](https://www.mongodb.com/blog/post/performance-best-practices-indexing)' --- -[MongoDB](https://www.mongodb.com/) is a NoSQL database, an alternative to relational SQL databases that uses JSON-like documents to store data. To learn about what MongoDB is and how it works, review our [Introduction to MongoDB and its Use Cases](/cloud/guides/mongodb-introduction/) guide. Know more about the basics of using MongoDB in our [Getting Started with MongoDB](/cloud/guides/getting-started-with-mongodb/) guide. +[MongoDB](https://www.mongodb.com/) is a NoSQL database, an alternative to relational SQL databases that uses JSON-like documents to store data. To learn about what MongoDB is and how it works, review our [Introduction to MongoDB and its Use Cases](/cloud/guides/mongodb-introduction) guide. Know more about the basics of using MongoDB in our [Getting Started with MongoDB](/cloud/guides/getting-started-with-mongodb) guide. To have efficient performance on queries, your MongoDB database should make use of indices. An index prevents a query from having to scan every document in a collection, instead letting the query focus on just the relevant documents. @@ -283,4 +283,4 @@ The list that follows is not comprehensive, but it includes key principles for m ## Conclusion -In this guide, you have learned major MongoDB indexing strategies and options for getting the most out of indices. With performance best practices and concrete examples, this guide can be a useful reference when working on making your MongoDB databases more efficient. Looking to dive deeper into MongoDB? Be sure to peruse our other [MongoDB guides](/cloud/guides/databases/mongodb/) for more on setting up and getting the most out of MongoDB. \ No newline at end of file +In this guide, you have learned major MongoDB indexing strategies and options for getting the most out of indices. With performance best practices and concrete examples, this guide can be a useful reference when working on making your MongoDB databases more efficient. Looking to dive deeper into MongoDB? Be sure to peruse our other [MongoDB guides](/cloud/guides/databases/mongodb) for more on setting up and getting the most out of MongoDB. \ No newline at end of file diff --git a/docs/guides/databases/mongodb/install-mongodb-on-centos-7/index.md b/docs/guides/databases/mongodb/install-mongodb-on-centos-7/index.md index ef0df6ba4ff..f641e846d0f 100644 --- a/docs/guides/databases/mongodb/install-mongodb-on-centos-7/index.md +++ b/docs/guides/databases/mongodb/install-mongodb-on-centos-7/index.md @@ -42,7 +42,7 @@ Since MongoDB can require a significant amount of RAM, we recommend using a [hig sudo yum update {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Add the MongoDB Repository diff --git a/docs/guides/databases/mongodb/install-mongodb-on-ubuntu-16-04/index.md b/docs/guides/databases/mongodb/install-mongodb-on-ubuntu-16-04/index.md index 1b2a24e3c2d..eb1d22368c1 100644 --- a/docs/guides/databases/mongodb/install-mongodb-on-ubuntu-16-04/index.md +++ b/docs/guides/databases/mongodb/install-mongodb-on-ubuntu-16-04/index.md @@ -43,7 +43,7 @@ Since MongoDB can require a significant amount of RAM, we recommend using a [Hig sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Add the MongoDB Repository diff --git a/docs/guides/databases/mongodb/install-mongodb-on-ubuntu-20-04/index.md b/docs/guides/databases/mongodb/install-mongodb-on-ubuntu-20-04/index.md index 2a0de37d903..42703de55d7 100644 --- a/docs/guides/databases/mongodb/install-mongodb-on-ubuntu-20-04/index.md +++ b/docs/guides/databases/mongodb/install-mongodb-on-ubuntu-20-04/index.md @@ -34,7 +34,7 @@ The format of MongoDB documents is relatively unstructured, so each document can The MongoDB Community Edition, which is designed for individuals or small businesses, is free to use. The application can be used under the *Server Side Public License* (SSPL), and the source code is freely available. However, the SSPL differs from standard open source licenses and is somewhat more restrictive. Users are advised to thoroughly understand the license before developing any software around it. MongoDB is available for most Linux distributions along with Windows and macOS. -For a more in-depth introduction to MongoDB, including a comparison between MongoDB and SQL, see the Linode [Introduction to MongoDB guide](/cloud/guides/mongodb-introduction/). +For a more in-depth introduction to MongoDB, including a comparison between MongoDB and SQL, see the Linode [Introduction to MongoDB guide](/cloud/guides/mongodb-introduction). ## Before You Begin @@ -43,7 +43,7 @@ For a more in-depth introduction to MongoDB, including a comparison between Mong 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install MongoDB diff --git a/docs/guides/databases/mongodb/mongodb-introduction/index.md b/docs/guides/databases/mongodb/mongodb-introduction/index.md index 7baa5098eb9..8c143ccbd68 100644 --- a/docs/guides/databases/mongodb/mongodb-introduction/index.md +++ b/docs/guides/databases/mongodb/mongodb-introduction/index.md @@ -33,7 +33,7 @@ MongoDB does not use the *Structured Query Language* (SQL) for queries. It inste MongoDB has some other distinctive characteristics. It is designed as a distributed database, which allows it to scale and store large amounts of data and achieve high availability. MongoDB also supports ad hoc queries based on regular expressions or JavaScript functions. MongoDB provides support for real-time aggregation as a way to sort and organize the queries. -For information on how to install MongoDB on a Linode, see our guide on [How To Install MongoDB on CentOS 7](/cloud/guides/install-mongodb-on-centos-7/), or the guide on [How To Install MongoDB on Ubuntu 16.04](/cloud/guides/install-mongodb-on-ubuntu-16-04/). +For information on how to install MongoDB on a Linode, see our guide on [How To Install MongoDB on CentOS 7](/cloud/guides/install-mongodb-on-centos-7), or the guide on [How To Install MongoDB on Ubuntu 16.04](/cloud/guides/install-mongodb-on-ubuntu-16-04). {{< note >}} Earlier releases of MongoDB had some problems with security issues and some significant bugs. These have been fixed in recent releases and application security is now comparable to other databases. diff --git a/docs/guides/databases/mongodb/navigate-mongodb-databases/index.md b/docs/guides/databases/mongodb/navigate-mongodb-databases/index.md index 687b33188db..7773eceed91 100644 --- a/docs/guides/databases/mongodb/navigate-mongodb-databases/index.md +++ b/docs/guides/databases/mongodb/navigate-mongodb-databases/index.md @@ -16,7 +16,7 @@ external_resources: [MongoDB](https://www.mongodb.com/) is a flexible, NoSQL database solution which stores data as JSON-like documents. Compared to other database systems, MongoDB has much more to offer for effectively working with data. For those familiar with SQL, it may take some time and experience before feeling confident using MongoDB. This MongoDB tutorial shows you how to make more advanced queries. From querying arrays and nested objects to using comparative and logical operations, learn it all in this guide with practical examples. {{< note >}} -Learn all about what MongoDB is and how it works in our [Introduction to MongoDB and its Use Cases](/cloud/guides/mongodb-introduction/) guide. Then, find out about the basics of using MongoDB in our [Getting Started with MongoDB](/cloud/guides/getting-started-with-mongodb/) guide. +Learn all about what MongoDB is and how it works in our [Introduction to MongoDB and its Use Cases](/cloud/guides/mongodb-introduction) guide. Then, find out about the basics of using MongoDB in our [Getting Started with MongoDB](/cloud/guides/getting-started-with-mongodb) guide. {{< /note >}} ## Before You Begin @@ -1028,4 +1028,4 @@ However, keep in mind that regex queries tend to take more processing power and This guide gives you everything you need to start making more of your MongoDB database and its querying capabilities. You can use it as a sort of cheat sheet for you when it comes to navigating MongoDB databases. -Looking to dive deeper into MongoDB? Be sure to peruse our other [MongoDB guides](/cloud/guides/databases/mongodb/) for more on setting up and getting the most out of MongoDB. \ No newline at end of file +Looking to dive deeper into MongoDB? Be sure to peruse our other [MongoDB guides](/cloud/guides/databases/mongodb) for more on setting up and getting the most out of MongoDB. \ No newline at end of file diff --git a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-centos-5/index.md b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-centos-5/index.md index 08c91f8e5f1..e149fdc041a 100644 --- a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-centos-5/index.md +++ b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-centos-5/index.md @@ -20,7 +20,7 @@ deprecated: true MongoDB is a database engine that provides access to non-relational key-value databases. It is part of the growing NoSQL movement, which seeks to provide an alternative to traditional relational database management systems (RDBMS). In addition to its schema-free design and scalable architecture, MongoDB provides a JSON-based output format and specialized language specific bindings that make it particularly attractive for use in custom application development. Although MongoDB is a relatively new project and has not yet been packaged by most major operating system distributions, the software has been used in a number of large scale [production deployments](http://www.mongodb.org/display/DOCS/Production+Deployments) such as "GitHub", "SourceForge", and "DISQUS". -Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing MongoDB diff --git a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-debian-5-lenny/index.md b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-debian-5-lenny/index.md index 4350676a516..dbad3aa133f 100644 --- a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-debian-5-lenny/index.md +++ b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true MongoDB is a database engine that provides access to non-relational key-value databases. It is part of the growing NoSQL movement, which seeks to provide an alternative to traditional relational database management systems (RDBMS). In addition to its schema-free design and scalable architecture, MongoDB provides a JSON-based output format and specialized language specific bindings that make it particularly attractive for use in custom application development. Although MongoDB is a relatively new project and has not yet been packaged by most major operating system distributions, the software has been used in a number of large scale [production deployments](http://www.mongodb.org/display/DOCS/Production+Deployments) such as "GitHub", "SourceForge", and "DISQUS". -Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing MongoDB diff --git a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-12/index.md b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-12/index.md index 42949c17fdc..6e965c8f652 100644 --- a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-12/index.md +++ b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-12/index.md @@ -20,7 +20,7 @@ deprecated: true MongoDB is a database engine that provides access to non-relational key-value databases. It is part of the growing NoSQL movement, which seeks to provide an alternative to traditional relational database management systems (RDBMS). In addition to its schema-free design and scalable architecture, MongoDB provides a JSON-based output format and specialized language specific bindings that make it particularly attractive for use in custom application development. Although MongoDB is a relatively new project and has not yet been packaged by most major operating system distributions, the software has been used in a number of large scale [production deployments](http://www.mongodb.org/display/DOCS/Production+Deployments) such as "GitHub", "SourceForge", and "DISQUS". -Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing MongoDB diff --git a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-13/index.md b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-13/index.md index 08cfac2e0bb..9b316596f32 100644 --- a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-13/index.md +++ b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true MongoDB is a database engine that provides access to non-relational key-value databases. It is part of the growing NoSQL movement, which seeks to provide an alternative to traditional relational database management systems (RDBMS). In addition to its schema-free design and scalable architecture, MongoDB provides a JSON-based output format and specialized language specific bindings that make it particularly attractive for use in custom application development. Although MongoDB is a relatively new project and has not yet been packaged by most major operating system distributions, the software has been used in a number of large scale [production deployments](http://www.mongodb.org/display/DOCS/Production+Deployments) such as "GitHub", "SourceForge", and "DISQUS". -Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing MongoDB diff --git a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-14/index.md b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-14/index.md index fb647e4026f..42c9d7f3da7 100644 --- a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-14/index.md +++ b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-14/index.md @@ -20,7 +20,7 @@ deprecated: true MongoDB is a database engine that provides access to non-relational key-value databases. It is part of the growing NoSQL movement, which seeks to provide an alternative to traditional relational database management systems (RDBMS). In addition to its schema-free design and scalable architecture, MongoDB provides a JSON-based output format and specialized language specific bindings that make it particularly attractive for use in custom application development. Although MongoDB is a relatively new project and has not yet been packaged by most major operating system distributions, the software has been used in a number of large scale [production deployments](http://www.mongodb.org/display/DOCS/Production+Deployments) such as "GitHub", "SourceForge", and "DISQUS". -Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing MongoDB diff --git a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-04-lucid/index.md b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-04-lucid/index.md index 79aed96781b..bf6a1312810 100644 --- a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true MongoDB is a database engine that provides access to non-relational key-value databases. It is part of the growing NoSQL movement, which seeks to provide an alternative to traditional relational database management systems (RDBMS). In addition to its schema-free design and scalable architecture, MongoDB provides a JSON-based output format and specialized language specific bindings that make it particularly attractive for use in custom application development. Although MongoDB is a relatively new project and has not yet been packaged by most major operating system distributions, the software has been used in a number of large scale [production deployments](http://www.mongodb.org/display/DOCS/Production+Deployments) such as "GitHub", "SourceForge", and "DISQUS". -Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing MongoDB diff --git a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-10-maverick/index.md b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-10-maverick/index.md index e6b05f38913..4496a3ef86d 100644 --- a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true MongoDB is a database engine that provides access to non-relational key-value databases. It is part of the growing NoSQL movement, which seeks to provide an alternative to traditional relational database management systems (RDBMS). In addition to its schema-free design and scalable architecture, MongoDB provides a JSON-based output format and specialized language specific bindings that make it particularly attractive for use in custom application development. Although MongoDB is a relatively new project and has not yet been packaged by most major operating system distributions, the software has been used in a number of large scale [production deployments](http://www.mongodb.org/display/DOCS/Production+Deployments) such as "GitHub", "SourceForge", and "DISQUS". -Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing MongoDB diff --git a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-12-04-precise/index.md b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-12-04-precise/index.md index 8d1371ff304..11bcde23e9b 100644 --- a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-12-04-precise/index.md +++ b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-12-04-precise/index.md @@ -19,7 +19,7 @@ deprecated: true MongoDB is a database engine that provides access to non-relational key-value databases. It is part of the growing NoSQL movement, which seeks to provide an alternative to traditional relational database management systems (RDBMS). In addition to its schema-free design and scalable architecture, MongoDB provides a JSON-based output format and specialized language specific bindings that make it particularly attractive for use in custom application development. Although MongoDB is a relatively new project, the software has been used in a number of large scale [production deployments](http://www.mongodb.org/display/DOCS/Production+Deployments). -Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing MongoDB diff --git a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-9-10-karmic/index.md b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-9-10-karmic/index.md index 60bfccd7a04..92a09cc7400 100644 --- a/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true MongoDB is a database engine that provides access to non-relational key-value databases. It is part of the growing NoSQL movement, which seeks to provide an alternative to traditional relational database management systems (RDBMS). In addition to its schema-free design and scalable architecture, MongoDB provides a JSON-based output format and specialized language specific bindings that make it particularly attractive for use in custom application development. Although MongoDB is a relatively new project and has not yet been packaged by most major operating system distributions, the software has been used in a number of large scale [production deployments](http://www.mongodb.org/display/DOCS/Production+Deployments) such as "GitHub", "SourceForge", and "DISQUS". -Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing MongoDB, it is assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing MongoDB diff --git a/docs/guides/databases/mysql/an-overview-of-mysql/index.md b/docs/guides/databases/mysql/an-overview-of-mysql/index.md index c5d007b8cbd..676732150c0 100644 --- a/docs/guides/databases/mysql/an-overview-of-mysql/index.md +++ b/docs/guides/databases/mysql/an-overview-of-mysql/index.md @@ -16,9 +16,9 @@ external_resources: ## What is the MySQL Database? -MySQL is an [relational database management system (RDBMS)](/cloud/guides/relational-database-overview/) that implements SQL. It was originally designed for use with small-to-medium-sized databases, but it can now handle even very large amounts of stored data. MySQL is written in C/C++ and is mostly compliant with the SQL standard. However, it adds many extensions and emphasizes speed and reliability over perfect compliance. A more detailed discussion about MySQL and SQL compliance can be found in the [MySQL documentation on Compliance Standards](https://dev.mysql.com/doc/refman/8.0/en/compatibility.html). +MySQL is an [relational database management system (RDBMS)](/cloud/guides/relational-database-overview) that implements SQL. It was originally designed for use with small-to-medium-sized databases, but it can now handle even very large amounts of stored data. MySQL is written in C/C++ and is mostly compliant with the SQL standard. However, it adds many extensions and emphasizes speed and reliability over perfect compliance. A more detailed discussion about MySQL and SQL compliance can be found in the [MySQL documentation on Compliance Standards](https://dev.mysql.com/doc/refman/8.0/en/compatibility.html). -The basic version of MySQL is distributed by the Oracle Corporation and is available for free under an open-source license. The current release of MySQL is 8.0. MySQL can be used on any Linux distribution and on most other platforms. It is an important component of the open-source [*LAMP stack*](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/), along with Linux, Apache, and the PHP programming language. The LAMP stack is the cornerstone of open-source web application development on Linux. MySQL can be used as part of a client/server system or as part of an embedded system. +The basic version of MySQL is distributed by the Oracle Corporation and is available for free under an open-source license. The current release of MySQL is 8.0. MySQL can be used on any Linux distribution and on most other platforms. It is an important component of the open-source [*LAMP stack*](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04), along with Linux, Apache, and the PHP programming language. The LAMP stack is the cornerstone of open-source web application development on Linux. MySQL can be used as part of a client/server system or as part of an embedded system. Like all RDBMS applications, MySQL is a relational database. Administrators and users define relationships within and between the tables in the database. Different columns can be marked as either required or optional and can serve as a primary key or as a pointer to another table. MySQL is stable, reliable, and easy to use. Here are some specific advantages of MySQL: @@ -35,7 +35,7 @@ Like all RDBMS applications, MySQL is a relational database. Administrators and - MySQL is packaged with several convenient client utilities, including `mysqldump` and `mysqladmin`. Users can verify, optimize, and repair tables using the `mysqlcheck` program. - The MySQL open source license allows developers to customize MySQL and modify the source code to meet their requirements. -MySQL is also available in a more fully-featured Enterprise Edition, with full customer support. For information on installing MySQL on Ubuntu or other Linux platforms, consult the Linode guide on [Installing and Configuring MySQL on Ubuntu 20.04](/cloud/guides/installing-and-configuring-mysql-on-ubuntu-2004/). +MySQL is also available in a more fully-featured Enterprise Edition, with full customer support. For information on installing MySQL on Ubuntu or other Linux platforms, consult the Linode guide on [Installing and Configuring MySQL on Ubuntu 20.04](/cloud/guides/installing-and-configuring-mysql-on-ubuntu-2004). ## What are the MySQL Client and Server? @@ -45,13 +45,13 @@ The MySQL client enables users to connect with a MySQL server, either on the sam The standard MySQL command line client utility is named `mysql`. It can be installed without the server component using the command `yum install mysql` or `apt-get install mysql-client`. To access the MySQL client, use the command `mysql `. The username, password, and server IP address can be specified using additional parameters. -When the user successfully logs in, the client displays the MySQL prompt `mysql>`. The user can then run SQL commands. For more information about installing and using MySQL, consult the Linode guide on [How to Connect to a MySQL or MariaDB Database](/cloud/guides/mysql-command-line-client/). +When the user successfully logs in, the client displays the MySQL prompt `mysql>`. The user can then run SQL commands. For more information about installing and using MySQL, consult the Linode guide on [How to Connect to a MySQL or MariaDB Database](/cloud/guides/mysql-command-line-client). ## What is MySQL Used For? MySQL is a versatile RDBMS for use with a data set of any size. It can be considered any time an application must store and retrieve data. MySQL was originally developed for small to medium-size single-server configurations. But with recent performance and scalability improvements, it can be used virtually anywhere in an application of any size. Even large companies including Uber, Airbnb, and Shopify use MySQL. -Users must install MySQL to configure WordPress. WordPress uses MySQL to store all its data and configuration files, and dynamically interacts with MySQL to display and create web pages. Users do not necessarily have to understand SQL to use WordPress. However, it can come in handy when performing advanced customizations. On Linux, WordPress is often installed as a package along with MySQL and the rest of the LAMP stack. For more information on how to configure MySQL and WordPress, see the Linode guide on [Installing WordPress on Ubuntu 20.04](/cloud/guides/how-to-install-wordpress-ubuntu-2004/). +Users must install MySQL to configure WordPress. WordPress uses MySQL to store all its data and configuration files, and dynamically interacts with MySQL to display and create web pages. Users do not necessarily have to understand SQL to use WordPress. However, it can come in handy when performing advanced customizations. On Linux, WordPress is often installed as a package along with MySQL and the rest of the LAMP stack. For more information on how to configure MySQL and WordPress, see the Linode guide on [Installing WordPress on Ubuntu 20.04](/cloud/guides/how-to-install-wordpress-ubuntu-2004). Other common applications for MySQL include data warehousing, transaction processing, reservation systems, e-commerce, and web databases. For example, a MySQL database can maintain the product list and inventory for an online store. @@ -59,4 +59,4 @@ Other common applications for MySQL include data warehousing, transaction proces This guide answers the commonly-asked question, "What is a MySQL database?" MySQL is a relational database that organizes data based on the relationships between tables and fields. It is a type of Relational DataBase Management System (RDBMS), which stores entries as rows within tables. Each row consists of a number of columns, which represent the different attributes of the data record. The database-specific SQL programming language is used to store and retrieve data from MySQL. SQL uses a series of discrete statements and is intended to work with RDBMS systems. -MySQL is known for its ability to store large tables and vast amounts of data, as well as for its speed and reliability. It provides APIs for many common programming languages and is packaged with several useful utilities. The MySQL server stores data and response to requests from MySQL clients. The client is always packaged with the server, but it can be used as a stand-alone application to communicate with remote databases. MySQL is used in many widely-known companies and is essential for those who want to use WordPress. However, it is also used in web databases and data warehousing. For more information on MySQL, see the [MySQL documentation](https://dev.mysql.com/doc/). If you are writing your first MySQL-based application, review our guide [SQL Injection Attack: What It Is and How to Prevent It](/cloud/guides/sql-injection-attack/) to learn more about this security vulnerability. +MySQL is known for its ability to store large tables and vast amounts of data, as well as for its speed and reliability. It provides APIs for many common programming languages and is packaged with several useful utilities. The MySQL server stores data and response to requests from MySQL clients. The client is always packaged with the server, but it can be used as a stand-alone application to communicate with remote databases. MySQL is used in many widely-known companies and is essential for those who want to use WordPress. However, it is also used in web databases and data warehousing. For more information on MySQL, see the [MySQL documentation](https://dev.mysql.com/doc/). If you are writing your first MySQL-based application, review our guide [SQL Injection Attack: What It Is and How to Prevent It](/cloud/guides/sql-injection-attack) to learn more about this security vulnerability. diff --git a/docs/guides/databases/mysql/back-up-your-mysql-databases/index.md b/docs/guides/databases/mysql/back-up-your-mysql-databases/index.md index b1615f916cd..07c3e5d497b 100644 --- a/docs/guides/databases/mysql/back-up-your-mysql-databases/index.md +++ b/docs/guides/databases/mysql/back-up-your-mysql-databases/index.md @@ -12,18 +12,18 @@ external_resources: - '[The Official MySQL Web Site](http://www.mysql.com/)' - '[MySQL Database Backup Methods page](http://dev.mysql.com/doc/refman/5.1/en/backup-methods.html)' - '[mysqldump Manual Page](http://linuxcommand.org/man_pages/mysqldump1.html)' - - '[Schedule Tasks With Cron](/cloud/guides/schedule-tasks-with-cron/)' + - '[Schedule Tasks With Cron](/cloud/guides/schedule-tasks-with-cron)' - '[MySQL''s Grant Statement, Official Documentation](http://dev.mysql.com/doc/refman/5.1/en/grant.html)' tags: ["database","mysql"] deprecated: true deprecated_link: "guides/use-mysqldump-to-back-up-mysql-or-mariadb/" --- -MySQL is an open source relational database management system (DBMS) which is frequently deployed in a wide assortment of contexts. Most frequently it is deployed as part of the [LAMP Stack](/cloud/guides/web-servers/lamp/). The database system is also easy to use and highly portable and is, in the context of many applications, extremely efficient. As MySQL is often a centralized data store for large amounts of mission critical data, making regular backups of your MySQL database is one of the most important disaster recovery tasks a system administrator can perform. This guide addresses a number of distinct methods for creating back ups of your database as well as restoring databases from backups. +MySQL is an open source relational database management system (DBMS) which is frequently deployed in a wide assortment of contexts. Most frequently it is deployed as part of the [LAMP Stack](/cloud/guides/web-servers/lamp). The database system is also easy to use and highly portable and is, in the context of many applications, extremely efficient. As MySQL is often a centralized data store for large amounts of mission critical data, making regular backups of your MySQL database is one of the most important disaster recovery tasks a system administrator can perform. This guide addresses a number of distinct methods for creating back ups of your database as well as restoring databases from backups. ![Back Up Your MySQL Databases](back_up_your_mysql-databases.png "Back Up Your MySQL Databases") -Before beginning the installation process, we assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will need to install the [MySQL Database](/cloud/guides/databases/mysql/). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/linux-users-and-groups/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before beginning the installation process, we assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will need to install the [MySQL Database](/cloud/guides/databases/mysql). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/linux-users-and-groups), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Backup Methodology @@ -81,7 +81,7 @@ These commands begin by stopping the MySQL server daemon, then creating a direct cd /opt/database/backup-1266872202 tar -czfv * > /opt/mysqlBackup-1266872202.tar.gz -Once the tarball is created, you can easily [transfer the file](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server) in the manner that is most convenient for you. Don't forget to restart the MySQL server daemon again if needed: +Once the tarball is created, you can easily [transfer the file](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server) in the manner that is most convenient for you. Don't forget to restart the MySQL server daemon again if needed: /etc/init.d/mysql start @@ -181,7 +181,7 @@ You can continue using your database as normal from this point. ## Considerations for an Effective Backup Strategy -Creating backups of your MySQL database should be a regular and scheduled task. You might like to consider scheduling periodic backups using `cron`, `mysqldump` and/or `mail`. Consider our documentation for more information regarding [cron](/cloud/guides/schedule-tasks-with-cron/). Implementing an automated backup solution may help minimize down time in a disaster recovery situation. +Creating backups of your MySQL database should be a regular and scheduled task. You might like to consider scheduling periodic backups using `cron`, `mysqldump` and/or `mail`. Consider our documentation for more information regarding [cron](/cloud/guides/schedule-tasks-with-cron). Implementing an automated backup solution may help minimize down time in a disaster recovery situation. You do not need to log in as root when backing up databases. A MySQL user with read (e.g. `SELECT`) permission is able to use both the `mysqldump` and `mysql` (e.g. the MySQL client) tools to take backups, as described below. As a matter of common practice, we recommend that you not use the MySQL `root` user whenever possible to minimize security risks. diff --git a/docs/guides/databases/mysql/configure-master-master-mysql-database-replication/index.md b/docs/guides/databases/mysql/configure-master-master-mysql-database-replication/index.md index c4c543aece3..f4c681cbbaf 100644 --- a/docs/guides/databases/mysql/configure-master-master-mysql-database-replication/index.md +++ b/docs/guides/databases/mysql/configure-master-master-mysql-database-replication/index.md @@ -21,7 +21,7 @@ image: mysql-master-master-replication-title.jpg MySQL Master-Master replication adds speed and redundancy for active websites. With replication, two separate MySQL servers act as a cluster. Database clustering is particularly useful for high availability website configurations. Use two separate Linodes to configure database replication, each with private IPv4 addresses. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. This guide is written for Ubuntu 18.04 and 20.04. diff --git a/docs/guides/databases/mysql/configure-source-replica-replication-in-mysql/index.md b/docs/guides/databases/mysql/configure-source-replica-replication-in-mysql/index.md index 0b9da439611..6b0d90dfc56 100644 --- a/docs/guides/databases/mysql/configure-source-replica-replication-in-mysql/index.md +++ b/docs/guides/databases/mysql/configure-source-replica-replication-in-mysql/index.md @@ -51,7 +51,7 @@ Enabling source-replica replication offers many significant advantages over a no 1. You must have at least two separate Linodes to configure MySQL source-replica replication. One Linode hosts the source database, while another node is necessary for the replica server. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Configure Source-Replica Replication in MySQL diff --git a/docs/guides/databases/mysql/create-an-ssh-tunnel-for-mysql-remote-access/index.md b/docs/guides/databases/mysql/create-an-ssh-tunnel-for-mysql-remote-access/index.md index 4f4478a1d90..a2b2ecccafd 100644 --- a/docs/guides/databases/mysql/create-an-ssh-tunnel-for-mysql-remote-access/index.md +++ b/docs/guides/databases/mysql/create-an-ssh-tunnel-for-mysql-remote-access/index.md @@ -10,7 +10,7 @@ keywords: ["MySQL tunnel", "MySQL over SSH", "SSH tunnel", "MySQL client"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/)' + - '[Using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty)' - '[MySQL Documentation](http://dev.mysql.com/doc/)' - '[MariaDB Documentation](https://mariadb.com/kb/en/mariadb/documentation/)' - '[autossh](http://www.harding.motd.ca/autossh/)' @@ -30,7 +30,7 @@ After following these instructions, you'll be able to connect to `localhost` on ## Prerequisites -- [MySQL](/cloud/guides/hosting-a-website-ubuntu-18-04/#install-mysql) is installed. +- [MySQL](/cloud/guides/hosting-a-website-ubuntu-18-04#install-mysql) is installed. - MySQL is configured to listen on `localhost` (127.0.0.1). This is enabled by default. ## How to Access MySQL Remotely by Creating an SSH Tunnel with PuTTY diff --git a/docs/guides/databases/mysql/create-physical-backups-of-your-mariadb-or-mysql-databases/index.md b/docs/guides/databases/mysql/create-physical-backups-of-your-mariadb-or-mysql-databases/index.md index 54068b9d58f..60c3b93e9f2 100644 --- a/docs/guides/databases/mysql/create-physical-backups-of-your-mariadb-or-mysql-databases/index.md +++ b/docs/guides/databases/mysql/create-physical-backups-of-your-mariadb-or-mysql-databases/index.md @@ -16,7 +16,7 @@ aliases: [] While the `mysqldump` tool is the preferred backup method for a MariaDB or MySQL database or database system it only works when the database server is accessible and running. If the database cannot be started or the host system is inaccessible, the database can still be copied directly. -A *physical backup* is often necessary in situations when you only have access to a recovery environment (such as [Finnix](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild)) where you mount your system's disks as external storage devices. If you want to read about *logical backups* using `mysqldump`, [see our guide](/cloud/guides/mysqldump-backups/) on the topic. +A *physical backup* is often necessary in situations when you only have access to a recovery environment (such as [Finnix](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild)) where you mount your system's disks as external storage devices. If you want to read about *logical backups* using `mysqldump`, [see our guide](/cloud/guides/mysqldump-backups) on the topic. For simplification, the name MySQL will be used throughout this guide but the instructions will work for both MySQL and MariaDB. diff --git a/docs/guides/databases/mysql/deploy-mysql-relational-databases-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/databases/mysql/deploy-mysql-relational-databases-on-ubuntu-12-04-precise-pangolin/index.md index 18dc9dd3fc1..17034dc4e8e 100644 --- a/docs/guides/databases/mysql/deploy-mysql-relational-databases-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/databases/mysql/deploy-mysql-relational-databases-on-ubuntu-12-04-precise-pangolin/index.md @@ -21,7 +21,7 @@ deprecated: true MySQL is a popular database management system used for web and server applications. This guide will introduce how to install, configure and manage MySQL on a Linode running Ubuntu 12.04 LTS (Precise Pangolin). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites @@ -45,7 +45,7 @@ During the installation process, you will be prompted to set a password for the ![Setting the MySQL root password in Ubuntu 14.04 LTS (Trusty Tahr).](mysql-root-pw.png) -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases using an SSH tunnel. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases using an SSH tunnel. {{< note >}} Allowing unrestricted access to MySQL on a public IP not advised, but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/my.cnf`. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mysql/deploy-mysql-workbench-for-database-administration/index.md b/docs/guides/databases/mysql/deploy-mysql-workbench-for-database-administration/index.md index 3a05bb4c19a..d326debfd9d 100644 --- a/docs/guides/databases/mysql/deploy-mysql-workbench-for-database-administration/index.md +++ b/docs/guides/databases/mysql/deploy-mysql-workbench-for-database-administration/index.md @@ -24,7 +24,7 @@ MySQL Workbench is a very handy tool for database administration. This guide is ## Before You Begin -1. You will need MySQL installed on your Linode. You can find instructions for this and the recommended prerequisites for your particular Linux distribution in the [MySQL index](/cloud/guides/databases/mysql/) of our Guides and Tutorials pages. +1. You will need MySQL installed on your Linode. You can find instructions for this and the recommended prerequisites for your particular Linux distribution in the [MySQL index](/cloud/guides/databases/mysql) of our Guides and Tutorials pages. ## Install and Configure MySQL Workbench diff --git a/docs/guides/databases/mysql/how-to-create-and-use-mysql-stored-procedures/index.md b/docs/guides/databases/mysql/how-to-create-and-use-mysql-stored-procedures/index.md index 03eb34dc732..530f1f2fa30 100644 --- a/docs/guides/databases/mysql/how-to-create-and-use-mysql-stored-procedures/index.md +++ b/docs/guides/databases/mysql/how-to-create-and-use-mysql-stored-procedures/index.md @@ -37,7 +37,7 @@ Make sure you have the following: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. A MySQL server and client installed on the Linode server. Installation guides for MySQL are available for different distributions in our [MySQL section](/cloud/guides/databases/mysql/). +1. A MySQL server and client installed on the Linode server. Installation guides for MySQL are available for different distributions in our [MySQL section](/cloud/guides/databases/mysql). ## Prepare the Database diff --git a/docs/guides/databases/mysql/how-to-create-and-use-mysql-views/index.md b/docs/guides/databases/mysql/how-to-create-and-use-mysql-views/index.md index 33489ac1215..a9ca537901d 100644 --- a/docs/guides/databases/mysql/how-to-create-and-use-mysql-views/index.md +++ b/docs/guides/databases/mysql/how-to-create-and-use-mysql-views/index.md @@ -31,7 +31,7 @@ To follow along with this guide, make sure you have the following: 1. A Linode, which you run the MySQL software on. You can follow the [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide to provision a Linode. -1. The MySQL server software (or MariaDB) installed on your Linode. Please refer to the [MySQL section](/cloud/guides/databases/mysql/), which contains guides that describe how to install MySQL on several Linux distributions. +1. The MySQL server software (or MariaDB) installed on your Linode. Please refer to the [MySQL section](/cloud/guides/databases/mysql), which contains guides that describe how to install MySQL on several Linux distributions. ## Preparing the Database diff --git a/docs/guides/databases/mysql/how-to-install-mysql-on-centos-6/index.md b/docs/guides/databases/mysql/how-to-install-mysql-on-centos-6/index.md index 5676316e99c..478fd7d94ca 100644 --- a/docs/guides/databases/mysql/how-to-install-mysql-on-centos-6/index.md +++ b/docs/guides/databases/mysql/how-to-install-mysql-on-centos-6/index.md @@ -29,7 +29,7 @@ deprecated: true MySQL is a popular database management system used for web and server applications. This guide will introduce how to install, configure and manage MySQL on a Linode running CentOS 6. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -58,7 +58,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo service mysqld start - MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases using SSH. + MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases using SSH. {{< note >}} Allowing unrestricted access to MySQL on a public IP not advised, but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/my.cnf`. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mysql/how-to-install-mysql-on-centos-7/index.md b/docs/guides/databases/mysql/how-to-install-mysql-on-centos-7/index.md index f0d720a15af..30673a36248 100644 --- a/docs/guides/databases/mysql/how-to-install-mysql-on-centos-7/index.md +++ b/docs/guides/databases/mysql/how-to-install-mysql-on-centos-7/index.md @@ -25,14 +25,14 @@ aliases: [] image: how-to-install-mysql-on-centos-7.png --- -MySQL is a popular database management system used for web and server applications. However, MySQL is no longer in CentOS's repositories and MariaDB has become the default database system offered. MariaDB is considered a [drop-in replacement ](https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/) for MySQL and would be sufficient if you just need a database system in general. See our [MariaDB in CentOS 7](/cloud/guides/how-to-install-mariadb-on-centos-7/) guide for installation instructions. +MySQL is a popular database management system used for web and server applications. However, MySQL is no longer in CentOS's repositories and MariaDB has become the default database system offered. MariaDB is considered a [drop-in replacement ](https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/) for MySQL and would be sufficient if you just need a database system in general. See our [MariaDB in CentOS 7](/cloud/guides/how-to-install-mariadb-on-centos-7) guide for installation instructions. If you nonetheless prefer MySQL, this guide will introduce how to install, configure and manage it on a Linode running CentOS 7. Large MySQL databases can require a considerable amount of memory. For this reason, we recommend using a [High Memory Linode](https://www.linode.com/pricing/) for such setups. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -69,7 +69,7 @@ MySQL must be installed from the [community repository](https://dev.mysql.com/do sudo yum install mysql-server sudo systemctl start mysqld -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases using SSH. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases using SSH. {{< note >}} Allowing unrestricted access to MySQL on a public IP not advised but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/my.cnf`. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mysql/how-to-install-mysql-on-centos8/index.md b/docs/guides/databases/mysql/how-to-install-mysql-on-centos8/index.md index 380212572e6..837f146c3b7 100644 --- a/docs/guides/databases/mysql/how-to-install-mysql-on-centos8/index.md +++ b/docs/guides/databases/mysql/how-to-install-mysql-on-centos8/index.md @@ -236,4 +236,4 @@ Don’t forget the semicolon at the end of the command. ## Conclusion -One of the biggest takeaways is that both MySQL and MariaDB provide enterprise-level database functionality. Each has its specialization. Installing either product is relatively easy using the Package Manager. When installing MySQL, take additional steps when working with the [MySQL installation script](/cloud/guides/how-to-install-mysql-on-centos8/#configure-mysql-using-mysql-installation-script). Remote access to MySQL setup requires that you configure MySQL to allow remote login and then set up UFW as well. +One of the biggest takeaways is that both MySQL and MariaDB provide enterprise-level database functionality. Each has its specialization. Installing either product is relatively easy using the Package Manager. When installing MySQL, take additional steps when working with the [MySQL installation script](/cloud/guides/how-to-install-mysql-on-centos8#configure-mysql-using-mysql-installation-script). Remote access to MySQL setup requires that you configure MySQL to allow remote login and then set up UFW as well. diff --git a/docs/guides/databases/mysql/how-to-install-mysql-on-debian-7/index.md b/docs/guides/databases/mysql/how-to-install-mysql-on-debian-7/index.md index 363d66e65c9..ff3af25dd89 100644 --- a/docs/guides/databases/mysql/how-to-install-mysql-on-debian-7/index.md +++ b/docs/guides/databases/mysql/how-to-install-mysql-on-debian-7/index.md @@ -31,7 +31,7 @@ MySQL is a popular database management system used for web and server applicatio Large MySQL databases can require a considerable amount of memory. For this reason, we recommend using a [High Memory Linode](https://www.linode.com/pricing/) for such setups. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -59,7 +59,7 @@ During the installation process, you will be prompted to set a password for the ![Setting the MySQL root password in Debian 7.](mysql-rootpw-debian.png) -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases with local clients. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases with local clients. {{< note >}} Allowing unrestricted access to MySQL on a public IP not advised, but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/my.cnf`. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mysql/how-to-install-mysql-on-debian-8/index.md b/docs/guides/databases/mysql/how-to-install-mysql-on-debian-8/index.md index 249409f6f83..a32f486b366 100644 --- a/docs/guides/databases/mysql/how-to-install-mysql-on-debian-8/index.md +++ b/docs/guides/databases/mysql/how-to-install-mysql-on-debian-8/index.md @@ -31,7 +31,7 @@ MySQL is a popular database management system used for web and server applicatio Large MySQL databases can require a considerable amount of memory. For this reason, we recommend using a [High Memory Linode](https://www.linode.com/pricing/) for such setups. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -63,7 +63,7 @@ During the installation process, you will be prompted to set a password for the ![Setting the MySQL root password in Debian.](mysql-rootpw-debian.png) -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases using SSH. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases using SSH. {{< note >}} Allowing unrestricted access to MySQL on a public IP not advised, but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/my.cnf`. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mysql/how-to-optimize-mysql-performance-using-mysqltuner/index.md b/docs/guides/databases/mysql/how-to-optimize-mysql-performance-using-mysqltuner/index.md index 0aec776c449..b9b72404458 100644 --- a/docs/guides/databases/mysql/how-to-optimize-mysql-performance-using-mysqltuner/index.md +++ b/docs/guides/databases/mysql/how-to-optimize-mysql-performance-using-mysqltuner/index.md @@ -17,19 +17,19 @@ dedicated_cpu_link: true tags: ["database","mysql"] --- -Running MySQL at optimal settings for specific resources helps handle larger server loads and prevents server slowdown. Generally, after [tuning Apache](/cloud/guides/tuning-your-apache-server/) to handle larger loads, it is beneficial to tune MySQL to additional connections. +Running MySQL at optimal settings for specific resources helps handle larger server loads and prevents server slowdown. Generally, after [tuning Apache](/cloud/guides/tuning-your-apache-server) to handle larger loads, it is beneficial to tune MySQL to additional connections. ![Optimize MySQL Performance Using MySQLTuner](optimize_mysql_using_mysql_tuner_title_graphic.png) Database tuning is an expansive topic, and this guide covers only the basics of editing your MySQL configuration. Large MySQL databases can require a considerable amount of memory. For this reason, we recommend using a [High Memory Linode](https://www.linode.com/pricing/) for such setups. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Tools That Can Help Optimize MySQL -In order to determine if your MySQL database needs to be reconfigured, it is best to look at how your resources are performing now. This can be done with the [top command](/cloud/guides/top-htop-iotop/) or with the Linode [Longview](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-longview) service. At the very least, you should familiarize yourself with the RAM and CPU usage of your server, which can be discovered with these commands: +In order to determine if your MySQL database needs to be reconfigured, it is best to look at how your resources are performing now. This can be done with the [top command](/cloud/guides/top-htop-iotop) or with the Linode [Longview](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-longview) service. At the very least, you should familiarize yourself with the RAM and CPU usage of your server, which can be discovered with these commands: echo [PID] [MEM] [PATH] && ps aux | awk '{print $2, $4, $11}' | sort -k2rn | head -n 20 ps -eo pcpu,pid,user,args | sort -k 1 -r | head -20 diff --git a/docs/guides/databases/mysql/how-to-work-with-mysql-subqueries/index.md b/docs/guides/databases/mysql/how-to-work-with-mysql-subqueries/index.md index d2ef266106e..b44e8ba502b 100644 --- a/docs/guides/databases/mysql/how-to-work-with-mysql-subqueries/index.md +++ b/docs/guides/databases/mysql/how-to-work-with-mysql-subqueries/index.md @@ -35,7 +35,7 @@ To follow along with this guide, make sure you have the following: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. The MySQL server software (or MariaDB) installed on your Linode. Please refer to the [MySQL section](/cloud/guides/databases/mysql/), which contains guides that describe how to install MySQL on several Linux distributions. +1. The MySQL server software (or MariaDB) installed on your Linode. Please refer to the [MySQL section](/cloud/guides/databases/mysql), which contains guides that describe how to install MySQL on several Linux distributions. ## Setting up the Database diff --git a/docs/guides/databases/mysql/how-to-work-with-triggers-in-mysql-database/index.md b/docs/guides/databases/mysql/how-to-work-with-triggers-in-mysql-database/index.md index 398a3a51f4c..637f7762920 100644 --- a/docs/guides/databases/mysql/how-to-work-with-triggers-in-mysql-database/index.md +++ b/docs/guides/databases/mysql/how-to-work-with-triggers-in-mysql-database/index.md @@ -43,7 +43,7 @@ In this guide, you will learn: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. A MySQL server and client installed on the Linode server. Installation guides for MySQL are available for different distributions in our [MySQL section](/cloud/guides/databases/mysql/). +1. A MySQL server and client installed on the Linode server. Installation guides for MySQL are available for different distributions in our [MySQL section](/cloud/guides/databases/mysql). ## Prepare the Database diff --git a/docs/guides/databases/mysql/install-and-configure-mysql-on-ubuntu-22-04/index.md b/docs/guides/databases/mysql/install-and-configure-mysql-on-ubuntu-22-04/index.md index 690a972a90b..fc441c178d0 100644 --- a/docs/guides/databases/mysql/install-and-configure-mysql-on-ubuntu-22-04/index.md +++ b/docs/guides/databases/mysql/install-and-configure-mysql-on-ubuntu-22-04/index.md @@ -276,4 +276,4 @@ Normally, MySQL doesn’t allow remote connections. By default, MySql can only b ## Conclusion -One of the biggest takeaways, from this guide, is that both MySQL, and MariaDB provide enterprise-level database functionality. Each has its specialization. Installing either product is relatively easy using the Package Manager. When installing MySQL, take additional steps when working with the [MySQL Installation Script](/cloud/guides/install-and-configure-mysql-on-ubuntu-22-04/#configure-mysql-using-mysql-installation-script) script. If the script fails recursively, then you are required to end your terminal session and log back in. Making the required alterations to the MySQL setup (as shown in this guide) gets the script working again and you can complete it. Remote access to MySQL setup requires that you configure MySQL to allow remote login and then set up UFW as well. +One of the biggest takeaways, from this guide, is that both MySQL, and MariaDB provide enterprise-level database functionality. Each has its specialization. Installing either product is relatively easy using the Package Manager. When installing MySQL, take additional steps when working with the [MySQL Installation Script](/cloud/guides/install-and-configure-mysql-on-ubuntu-22-04#configure-mysql-using-mysql-installation-script) script. If the script fails recursively, then you are required to end your terminal session and log back in. Making the required alterations to the MySQL setup (as shown in this guide) gets the script working again and you can complete it. Remote access to MySQL setup requires that you configure MySQL to allow remote login and then set up UFW as well. diff --git a/docs/guides/databases/mysql/install-and-configure-mysql-workbench-on-ubuntu/index.md b/docs/guides/databases/mysql/install-and-configure-mysql-workbench-on-ubuntu/index.md index 37028a02a2e..558a56e52ce 100644 --- a/docs/guides/databases/mysql/install-and-configure-mysql-workbench-on-ubuntu/index.md +++ b/docs/guides/databases/mysql/install-and-configure-mysql-workbench-on-ubuntu/index.md @@ -10,7 +10,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[MySQL Workbench Manual](https://dev.mysql.com/doc/workbench/en/)' - - '[Deploy MySQL Workbench for Database Administration](/cloud/guides/deploy-mysql-workbench-for-database-administration/)' + - '[Deploy MySQL Workbench for Database Administration](/cloud/guides/deploy-mysql-workbench-for-database-administration)' tags: ["ubuntu","database","mysql"] deprecated: true --- @@ -25,7 +25,7 @@ MySQL Workbench is a feature-rich graphical tool used to model data, build SQL q 2. This guide will use `sudo` wherever possible. Complete the sections of our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to create a standard user account, harden SSH access and remove unnecessary network services. -3. [Install VNC on Ubuntu](/cloud/guides/install-vnc-on-ubuntu-18-04/) and connect to VNC from your desktop. +3. [Install VNC on Ubuntu](/cloud/guides/install-vnc-on-ubuntu-18-04) and connect to VNC from your desktop. 4. Update your system: @@ -62,7 +62,7 @@ To open the preferences, click on `Edit`, then `Preferences` in the main menu: ## Optional: Load a Sample Database into MySQL Server -See the guide on how to [Install a MySQL server on Ubuntu 14.04](/cloud/guides/install-mysql-on-ubuntu-14-04/) or [Debian 8](/cloud/guides/how-to-install-mysql-on-debian-8/) for more information on creating or logging into a MySQL server. +See the guide on how to [Install a MySQL server on Ubuntu 14.04](/cloud/guides/install-mysql-on-ubuntu-14-04) or [Debian 8](/cloud/guides/how-to-install-mysql-on-debian-8) for more information on creating or logging into a MySQL server. 1. Access the MySQL server on your Linode [via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) and download the sample [Sakila database provided in the MySQL documentation](http://downloads.mysql.com/docs/sakila-db.tar.gz): @@ -81,7 +81,7 @@ See the guide on how to [Install a MySQL server on Ubuntu 14.04](/cloud/guides/i ![MySQL Workbench Connection](mysql-workbench-connection.png "MySQL Workbench Connection") {{< note respectIndent=false >}} -The MySQL server default port should be `3306` on `l27.0.0.1`. If you wish to connect to another server with a different port, update the inputs accordingly. See [Deploy MySQL Workbench for Database Administration](/cloud/guides/deploy-mysql-workbench-for-database-administration/) for more information. +The MySQL server default port should be `3306` on `l27.0.0.1`. If you wish to connect to another server with a different port, update the inputs accordingly. See [Deploy MySQL Workbench for Database Administration](/cloud/guides/deploy-mysql-workbench-for-database-administration) for more information. {{< /note >}} 5. Under **File**, select **Run SQL Script...**. Select `sakila-schema.sql` then click **Run**: diff --git a/docs/guides/databases/mysql/install-and-configure-phpmyadmin-on-debian-8/index.md b/docs/guides/databases/mysql/install-and-configure-phpmyadmin-on-debian-8/index.md index 86776a49255..44a3f6d9f0c 100644 --- a/docs/guides/databases/mysql/install-and-configure-phpmyadmin-on-debian-8/index.md +++ b/docs/guides/databases/mysql/install-and-configure-phpmyadmin-on-debian-8/index.md @@ -23,7 +23,7 @@ phpMyAdmin is a web application that provides a GUI to aid in MySQL database adm ![Install and Configure phpMyAdmin on Debian 8](how-to-install-and-configure-phpmyadmin-on-debian-8.png) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -41,13 +41,13 @@ This guide is written for a non-root user. Commands that require elevated privil sudo apt-get update && sudo apt-get upgrade -y -3. Set up a working LAMP stack. Please see the [LAMP on Debian 8](/cloud/guides/lamp-on-debian-8-jessie/) guide if needed. +3. Set up a working LAMP stack. Please see the [LAMP on Debian 8](/cloud/guides/lamp-on-debian-8-jessie) guide if needed. {{< note respectIndent=false >}} If you have installed the `php-suhosin` package, there are some known issues when using phpMyAdmin. Please visit the [Suhosin phpMyAdmin Compatibility Issues page](http://www.hardened-php.net/hphp/troubleshooting.html) for more information about tuning and workarounds. {{< /note >}} -4. Set up Apache with SSL, so your passwords will not be sent over plain text. To do so, go through the [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/) guide. +4. Set up Apache with SSL, so your passwords will not be sent over plain text. To do so, go through the [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu) guide. 5. Install the `mcrypt` PHP module: diff --git a/docs/guides/databases/mysql/install-mysql-on-ubuntu-14-04/index.md b/docs/guides/databases/mysql/install-mysql-on-ubuntu-14-04/index.md index b2673e643db..445f0110f21 100644 --- a/docs/guides/databases/mysql/install-mysql-on-ubuntu-14-04/index.md +++ b/docs/guides/databases/mysql/install-mysql-on-ubuntu-14-04/index.md @@ -30,7 +30,7 @@ MySQL is a popular database management system used for web and server applicatio We recommend using a [High Memory Linode](https://www.linode.com/pricing/) with this guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -54,7 +54,7 @@ During the installation process, you will be prompted to set a password for the ![Setting the MySQL root password in Ubuntu 14.04 LTS (Trusty Tahr).](mysql-root-pw.png) -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases using SSH. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases using SSH. {{< note >}} Allowing unrestricted access to MySQL on a public IP is not advised, but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/my.cnf`. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mysql/install-mysql-phpmyadmin-debian-7/index.md b/docs/guides/databases/mysql/install-mysql-phpmyadmin-debian-7/index.md index 05c455e0507..d74ffdb68d9 100644 --- a/docs/guides/databases/mysql/install-mysql-phpmyadmin-debian-7/index.md +++ b/docs/guides/databases/mysql/install-mysql-phpmyadmin-debian-7/index.md @@ -26,7 +26,7 @@ deprecated: true phpMyAdmin is a web application that provides a GUI to aid in MySQL database administration. It supports multiple MySQL servers and is a robust and easy alternative to using the MySQL command line client. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -44,13 +44,13 @@ This guide is written for a non-root user. Commands that require elevated privil sudo apt-get update && sudo apt-get upgrade -y -3. Set up a working LAMP stack. Please see the [LAMP on Debian 7](/cloud/guides/lamp-server-on-debian-7-wheezy/) guide if needed. +3. Set up a working LAMP stack. Please see the [LAMP on Debian 7](/cloud/guides/lamp-server-on-debian-7-wheezy) guide if needed. {{< note respectIndent=false >}} If you have installed the `php-suhosin` package, there are some known issues when using phpMyAdmin. Please visit the [Suhosin phpMyAdmin Compatibility Issues page](http://www.hardened-php.net/hphp/troubleshooting.html) for more information about tuning and workarounds. {{< /note >}} -4. Set up Apache with SSL, so your passwords will not be sent over plain text. To do so, go through the [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/) guide. +4. Set up Apache with SSL, so your passwords will not be sent over plain text. To do so, go through the [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu) guide. 5. Install the `mcrypt` PHP module: diff --git a/docs/guides/databases/mysql/install-mysql-phpmyadmin-on-ubuntu-12-04/index.md b/docs/guides/databases/mysql/install-mysql-phpmyadmin-on-ubuntu-12-04/index.md index 5b07365f96b..cc3e385c019 100644 --- a/docs/guides/databases/mysql/install-mysql-phpmyadmin-on-ubuntu-12-04/index.md +++ b/docs/guides/databases/mysql/install-mysql-phpmyadmin-on-ubuntu-12-04/index.md @@ -24,7 +24,7 @@ deprecated: true phpMyAdmin is a web application that provides a GUI to aid in MySQL database administration. It supports multiple MySQL servers and is a robust and easy alternative to using the MySQL command line client. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -40,13 +40,13 @@ This guide is written for a non-root user. Commands that require elevated privil The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN) if you have one assigned. -1. Set up a working LAMP stack. Please see the [LAMP on Ubuntu 12.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide if needed. +1. Set up a working LAMP stack. Please see the [LAMP on Ubuntu 12.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) guide if needed. {{< note respectIndent=false >}} If you have installed the `php-suhosin` package, there are some known issues when using phpMyAdmin. Please visit the [Suhosin phpMyAdmin Compatibility Issues page](http://www.hardened-php.net/hphp/troubleshooting.html) for more information about tuning and workarounds. {{< /note >}} -1. Set up Apache with SSL, so your passwords will not be sent over plain text. To do so, go trough the [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/) guide. +1. Set up Apache with SSL, so your passwords will not be sent over plain text. To do so, go trough the [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu) guide. 1. Install the `mcrypt` PHP module: diff --git a/docs/guides/databases/mysql/install-mysql-phpmyadmin-ubuntu-14-04/index.md b/docs/guides/databases/mysql/install-mysql-phpmyadmin-ubuntu-14-04/index.md index d00d59876e3..aa6569dbcf2 100644 --- a/docs/guides/databases/mysql/install-mysql-phpmyadmin-ubuntu-14-04/index.md +++ b/docs/guides/databases/mysql/install-mysql-phpmyadmin-ubuntu-14-04/index.md @@ -26,7 +26,7 @@ deprecated: true phpMyAdmin is a web application that provides a GUI to aid in MySQL database administration. It supports multiple MySQL servers and is a robust and easy alternative to using the MySQL command line client. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -42,13 +42,13 @@ This guide is written for a non-root user. Commands that require elevated privil The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN) if you have one assigned. -3. Set up a working LAMP stack. Please see the [LAMP on Ubuntu 14.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide if needed. +3. Set up a working LAMP stack. Please see the [LAMP on Ubuntu 14.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) guide if needed. {{< note respectIndent=false >}} If you have installed the `php-suhosin` package, there are some known issues when using phpMyAdmin. Please visit the [Suhosin phpMyAdmin Compatibility Issues page](http://www.hardened-php.net/hphp/troubleshooting.html) for more information about tuning and workarounds. {{< /note >}} -4. Set up Apache with SSL, so your passwords will not be sent over plain text. To do so, go trough the [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/) guide. +4. Set up Apache with SSL, so your passwords will not be sent over plain text. To do so, go trough the [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu) guide. 5. Install the `mcrypt` PHP module: diff --git a/docs/guides/databases/mysql/install-mysql/index.md b/docs/guides/databases/mysql/install-mysql/index.md index 93e4419e425..f0d20919930 100644 --- a/docs/guides/databases/mysql/install-mysql/index.md +++ b/docs/guides/databases/mysql/install-mysql/index.md @@ -13,7 +13,7 @@ external_resources: - '[Installing and Upgrading MySQL](https://dev.mysql.com/doc/refman/8.0/en/installing.html)' --- -[MySQL](/cloud/guides/an-overview-of-mysql/) is one of the most popular SQL-based relational databases. The Community Edition is available at no charge and is widely used across the industry. This guide walks you through installing and updating MySQL Community on Windows, macOS, and Linux (either through the native repositories or MySQL's own repositories). +[MySQL](/cloud/guides/an-overview-of-mysql) is one of the most popular SQL-based relational databases. The Community Edition is available at no charge and is widely used across the industry. This guide walks you through installing and updating MySQL Community on Windows, macOS, and Linux (either through the native repositories or MySQL's own repositories). - [Windows](#installing-mysql-on-windows) - [macOS](#installing-mysql-on-macos) @@ -45,7 +45,7 @@ For additional instructions on installing MySQL on any supported operating syste The above command should inform you which version you are using. If this command is not found, continue with the installation steps below. If the installed version differs from the release you want to use, consider first uninstalling it and then continuing with the instructions below. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing MySQL on Windows diff --git a/docs/guides/databases/mysql/installing-and-configuring-mysql-on-ubuntu-2004/index.md b/docs/guides/databases/mysql/installing-and-configuring-mysql-on-ubuntu-2004/index.md index 853f1ca11f4..05602f7dd94 100644 --- a/docs/guides/databases/mysql/installing-and-configuring-mysql-on-ubuntu-2004/index.md +++ b/docs/guides/databases/mysql/installing-and-configuring-mysql-on-ubuntu-2004/index.md @@ -45,7 +45,7 @@ To summarize, both systems are more than adequate for most users. MariaDB featur 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install MySQL Server diff --git a/docs/guides/databases/mysql/list-tables-in-mysql-and-mariadb/index.md b/docs/guides/databases/mysql/list-tables-in-mysql-and-mariadb/index.md index 4ac9905ce02..7cb95e592db 100644 --- a/docs/guides/databases/mysql/list-tables-in-mysql-and-mariadb/index.md +++ b/docs/guides/databases/mysql/list-tables-in-mysql-and-mariadb/index.md @@ -19,17 +19,17 @@ This guide provides the commands you can use to list tables in MySQL and MariaDB 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install MySQL or MariaDB on your server. You can follow our guide on [How to Install MySQL](/cloud/guides/how-to-install-mysql-on-debian-8/) or on [How to Install MariaDB](/cloud/guides/how-to-install-mariadb-on-debian-9/). Use the **Distribution** drop down at the top of each guide to select the Linux distribution you want to install on. +1. Install MySQL or MariaDB on your server. You can follow our guide on [How to Install MySQL](/cloud/guides/how-to-install-mysql-on-debian-8) or on [How to Install MariaDB](/cloud/guides/how-to-install-mariadb-on-debian-9). Use the **Distribution** drop down at the top of each guide to select the Linux distribution you want to install on. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Connect to a Remote Database - - Check out our guide [How to Connect to a MySQL or MariaDB Database](/cloud/guides/mysql-command-line-client/) for the steps to establish a remote connection to your database via the MySQL command line, or CLI tool. + - Check out our guide [How to Connect to a MySQL or MariaDB Database](/cloud/guides/mysql-command-line-client) for the steps to establish a remote connection to your database via the MySQL command line, or CLI tool. -- Refer to our [Install MySQL Workbench for Database Administration](/cloud/guides/deploy-mysql-workbench-for-database-administration/) guide for the steps to install MySQL Workbench and use it to connect to your remote database. +- Refer to our [Install MySQL Workbench for Database Administration](/cloud/guides/deploy-mysql-workbench-for-database-administration) guide for the steps to install MySQL Workbench and use it to connect to your remote database. ## How to List Tables in MySQL or MariaDB @@ -80,7 +80,7 @@ The example below connects to the database as `example_user` and uses the MySQL 1. Open the MySQL Workbench, and select the connection you set up for the database. - If you have not set up the database connection yet, follow the steps in the [How to Connect to a Remote Database](/cloud/guides/list-tables-in-mysql-and-mariadb/#how-to-connect-to-a-remote-database) guide first. + If you have not set up the database connection yet, follow the steps in the [How to Connect to a Remote Database](/cloud/guides/list-tables-in-mysql-and-mariadb#how-to-connect-to-a-remote-database) guide first. 1. In the query field, enter the following MySQL command: @@ -99,4 +99,4 @@ The example below connects to the database as `example_user` and uses the MySQL ## Conclusion -To learn more about working with MySQL/MariaDB, take a look through our extensive [list of MySQL guides](/cloud/guides/databases/mysql/). You can find plenty of resources there to solve common database related issues, sharpen your skills, and become more proficient with managing your database. +To learn more about working with MySQL/MariaDB, take a look through our extensive [list of MySQL guides](/cloud/guides/databases/mysql). You can find plenty of resources there to solve common database related issues, sharpen your skills, and become more proficient with managing your database. diff --git a/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-debian-5-lenny/index.md b/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-debian-5-lenny/index.md index c360f8c8c92..73b451f97e7 100644 --- a/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-debian-5-lenny/index.md +++ b/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-debian-5-lenny/index.md @@ -23,7 +23,7 @@ deprecated: true phpMyAdmin is an open source web application written in PHP that provides a GUI to aid in MySQL database administration. It supports multiple MySQL servers and is a robust and easy alternative to using the MySQL command line client. -We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We also assume that you have installed a working LAMP stack. For guides on installing a LAMP stack for your distribution, please visit the [LAMP guides](/cloud/guides/web-servers/lamp/) section of Linode Guides & Tutorials. +We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We also assume that you have installed a working LAMP stack. For guides on installing a LAMP stack for your distribution, please visit the [LAMP guides](/cloud/guides/web-servers/lamp) section of Linode Guides & Tutorials. Be aware, if you have opted to install the `php-suhosin` package, there are some known issues when using phpMyAdmin. Please visit the [Suhosin phpMyAdmin Compatibility Issues page](http://www.hardened-php.net/hphp/troubleshooting.html) for more information about tuning and workarounds. @@ -36,7 +36,7 @@ Make sure your package repositories and installed programs are up to date by iss In order to provide better security, this guide will install phpMyAdmin to an SSL secured apache virtual host. While you can use http to access your phpMyAdmin instance, it will send your passwords in plain text over the internet. Since you will most likely be logging in to phpMyAdmin using your MySQL root user, http is definitely not recommended. -If you need to set up SSL for your host, please refer to our [using Apache with SSL guide](/cloud/guides/ssl-certificates-with-apache-2-on-debian-5-lenny/). Please ensure SSL is enabled for your virtual host before proceeding. +If you need to set up SSL for your host, please refer to our [using Apache with SSL guide](/cloud/guides/ssl-certificates-with-apache-2-on-debian-5-lenny). Please ensure SSL is enabled for your virtual host before proceeding. phpMyAdmin requires the `mcrypt` PHP module. You can install it using the following command: @@ -80,7 +80,7 @@ allow from 12.34.56.78 ### Force SSL -Since you are required to enter your MySQL credentials when using phpMyAdmin, we recommend that you use SSL to secure HTTP traffic to your phpMyAdmin installation. For more information on using SSL with your websites, please consult the guides that address [SSL certificates](/cloud/guides/security/ssl/). +Since you are required to enter your MySQL credentials when using phpMyAdmin, we recommend that you use SSL to secure HTTP traffic to your phpMyAdmin installation. For more information on using SSL with your websites, please consult the guides that address [SSL certificates](/cloud/guides/security/ssl). You can force phpMyAdmin to use SSL in the phpMyAdmin configuration file `/etc/phpmyadmin/config.inc.php` by adding the following lines under the `Server(s) configuration` section: diff --git a/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-ubuntu-10-10-maverick/index.md b/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-ubuntu-10-10-maverick/index.md index 6494a1889e6..494f1268fb7 100644 --- a/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-ubuntu-10-10-maverick/index.md @@ -23,7 +23,7 @@ deprecated: true phpMyAdmin is an open source web application written in PHP that provides a GUI to aid in MySQL database administration. It supports multiple MySQL servers and is a robust and easy alternative to using the MySQL command line client. -We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We also assume that you have installed a working LAMP stack. For guides on installing a LAMP stack for your distribution, please visit the [LAMP guides](/cloud/guides/web-servers/lamp/) section of Linode Guides & Tutorials. +We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We also assume that you have installed a working LAMP stack. For guides on installing a LAMP stack for your distribution, please visit the [LAMP guides](/cloud/guides/web-servers/lamp) section of Linode Guides & Tutorials. Be aware, if you have opted to install the `php-suhosin` package, there are some known issues when using phpMyAdmin. Please visit the [Suhosin phpMyAdmin Compatibility Issues page](http://www.hardened-php.net/hphp/troubleshooting.html) for more information about tuning and workarounds. @@ -36,7 +36,7 @@ Make sure your package repositories and installed programs are up to date by iss In order to provide better security, this guide will install phpMyAdmin to an SSL secured apache virtual host. While you can use http to access your phpMyAdmin instance, it will send your passwords in plain text over the internet. Since you will most likely be logging in to phpMyAdmin using your MySQL root user, http is definitely not recommended. -If you need to set up SSL for your host, please refer to our [SSL section](/cloud/guides/security/ssl/). Please ensure SSL is enabled for your virtual host before proceeding. +If you need to set up SSL for your host, please refer to our [SSL section](/cloud/guides/security/ssl). Please ensure SSL is enabled for your virtual host before proceeding. phpMyAdmin requires the `mcrypt` PHP module. You can install it using the following command: @@ -80,7 +80,7 @@ allow from 12.34.56.78 ### Force SSL -Since you are required to enter your MySQL credentials when using phpMyAdmin, we recommend that you use SSL to secure HTTP traffic to your phpMyAdmin installation. For more information on using SSL with your websites, please consult the guides that address [SSL certificates](/cloud/guides/security/ssl/). +Since you are required to enter your MySQL credentials when using phpMyAdmin, we recommend that you use SSL to secure HTTP traffic to your phpMyAdmin installation. For more information on using SSL with your websites, please consult the guides that address [SSL certificates](/cloud/guides/security/ssl). You can force phpMyAdmin to use SSL in the phpMyAdmin configuration file `/etc/phpmyadmin/config.inc.php` by adding the following lines under the `Server(s) configuration` section: diff --git a/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-ubuntu-9-10-karmic/index.md b/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-ubuntu-9-10-karmic/index.md index 91126c49872..570f0d5eead 100644 --- a/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/databases/mysql/manage-mysql-with-phpmyadmin-on-ubuntu-9-10-karmic/index.md @@ -23,7 +23,7 @@ deprecated: true phpMyAdmin is an open source web application written in PHP that provides a GUI to aid in MySQL database administration. It supports multiple MySQL servers and is a robust and easy alternative to using the MySQL command line client. -We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We also assume that you have installed a working LAMP stack. For guides on installing a LAMP stack for your distribution, please visit the [LAMP guides](/cloud/guides/web-servers/lamp/) section of Linode Guides & Tutorials. +We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We also assume that you have installed a working LAMP stack. For guides on installing a LAMP stack for your distribution, please visit the [LAMP guides](/cloud/guides/web-servers/lamp) section of Linode Guides & Tutorials. Be aware, if you have opted to install the `php-suhosin` package, there are some known issues when using phpMyAdmin. Please visit the [Suhosin phpMyAdmin Compatibility Issues page](http://www.hardened-php.net/hphp/troubleshooting.html) for more information about tuning and workarounds. @@ -60,7 +60,7 @@ When you have saved this file, issue the following command to refresh your syste In order to provide better security, this guide will install phpMyAdmin to an SSL secured Apache `VirtualHost`. While you can use HTTP to access your phpMyAdmin instance, it will send your passwords in plain text over the internet. Since you will most likely be logging in to phpMyAdmin using your MySQL root user, HTTP is definitely not recommended. -If you need to set up SSL for your host, please refer to our [using Apache with SSL guide](/cloud/guides/ssl-certificates-with-apache-2-on-ubuntu-9-10-karmic/). Please ensure SSL is enabled for your virtual host before proceeding. +If you need to set up SSL for your host, please refer to our [using Apache with SSL guide](/cloud/guides/ssl-certificates-with-apache-2-on-ubuntu-9-10-karmic). Please ensure SSL is enabled for your virtual host before proceeding. phpMyAdmin requires the `mcrypt` PHP module. You can install it using the following command: @@ -107,7 +107,7 @@ Allow from 12.34.56.78 ### Force SSL -Since you are required to enter your MySQL credentials when using phpMyAdmin, we recommend that you use SSL to secure HTTP traffic to your phpMyAdmin installation. For more information on using SSL with your websites, please consult guides that address [SSL certificates](/cloud/guides/security/ssl/). +Since you are required to enter your MySQL credentials when using phpMyAdmin, we recommend that you use SSL to secure HTTP traffic to your phpMyAdmin installation. For more information on using SSL with your websites, please consult guides that address [SSL certificates](/cloud/guides/security/ssl). You can force phpMyAdmin to use SSL in the phpMyAdmin configuration file `/etc/phpmyadmin/config.inc.php` by adding the following lines under the `Server(s) configuration` section: diff --git a/docs/guides/databases/mysql/managing-mysql-with-phpmyadmin-on-centos-6-4/index.md b/docs/guides/databases/mysql/managing-mysql-with-phpmyadmin-on-centos-6-4/index.md index d71f8cb3f6b..185ae850742 100644 --- a/docs/guides/databases/mysql/managing-mysql-with-phpmyadmin-on-centos-6-4/index.md +++ b/docs/guides/databases/mysql/managing-mysql-with-phpmyadmin-on-centos-6-4/index.md @@ -26,7 +26,7 @@ deprecated: true phpMyAdmin is a web application that provides a GUI to aid in MySQL database administration. It supports multiple MySQL servers and is a robust and easy alternative to using the MySQL command line client. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -42,7 +42,7 @@ This guide is written for a non-root user. Commands that require elevated privil The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN) if you have one assigned. -1. Set up a working LAMP stack. Please see the [LAMP on CentOS 6](/cloud/guides/lamp-on-centos-6/) guide if needed. +1. Set up a working LAMP stack. Please see the [LAMP on CentOS 6](/cloud/guides/lamp-on-centos-6) guide if needed. {{< note respectIndent=false >}} If you have installed the `php-suhosin` package, there are some known issues when using phpMyAdmin. Please visit the [Suhosin phpMyAdmin Compatibility Issues page](http://www.hardened-php.net/hphp/troubleshooting.html) for more information about tuning and workarounds. @@ -54,7 +54,7 @@ If you have installed the `php-suhosin` package, there are some known issues whe wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm sudo rpm -ivh epel-release* -1. Set up Apache with SSL, so your passwords will not be sent over plain text. To do so, go through the [SSL Certificates with Apache on CentOS](/cloud/guides/ssl-apache2-centos/) guide. +1. Set up Apache with SSL, so your passwords will not be sent over plain text. To do so, go through the [SSL Certificates with Apache on CentOS](/cloud/guides/ssl-apache2-centos) guide. 1. Install the `mycrypt` PHP module: @@ -91,7 +91,7 @@ By default, phpMyAdmin is configured to only permit access from the localhost (1 ### Force SSL -Since you are required to enter your MySQL credentials when using phpMyAdmin, we recommend that you use SSL to secure HTTP traffic to your phpMyAdmin installation. For more information on using SSL with your websites, please consult the guides that address [SSL certificates](/cloud/guides/security/ssl/). +Since you are required to enter your MySQL credentials when using phpMyAdmin, we recommend that you use SSL to secure HTTP traffic to your phpMyAdmin installation. For more information on using SSL with your websites, please consult the guides that address [SSL certificates](/cloud/guides/security/ssl). 1. Force phpMyAdmin to use SSL in the phpMyAdmin configuration file `/etc/phpmyadmin/config.inc.php` by adding the following lines under the `Server(s) configuration` section: diff --git a/docs/guides/databases/mysql/mysql-command-line-client/index.md b/docs/guides/databases/mysql/mysql-command-line-client/index.md index 5d80bafaec6..4cfce60ebae 100644 --- a/docs/guides/databases/mysql/mysql-command-line-client/index.md +++ b/docs/guides/databases/mysql/mysql-command-line-client/index.md @@ -14,7 +14,7 @@ external_resources: - '[MySQL Command-Line Client documentation](https://dev.mysql.com/doc/refman/8.0/en/mysql.html)' --- -This guide shows you how to connect to a MySQL database using [mysql](https://dev.mysql.com/doc/refman/8.0/en/mysql.html), the MySQL command-line client. This opens up a simple SQL shell environment, allowing you to perform [SQL queries and commands](/cloud/guides/sql-commands/) on your database. If you require more advanced capabilities, consider using the [MySQL Shell](https://dev.mysql.com/doc/mysql-shell/8.0/en/). +This guide shows you how to connect to a MySQL database using [mysql](https://dev.mysql.com/doc/refman/8.0/en/mysql.html), the MySQL command-line client. This opens up a simple SQL shell environment, allowing you to perform [SQL queries and commands](/cloud/guides/sql-commands) on your database. If you require more advanced capabilities, consider using the [MySQL Shell](https://dev.mysql.com/doc/mysql-shell/8.0/en/). {{< note >}} If you wish to connect to a MySQL Managed Database, review the [Connect to a MySQL Managed Database](https://techdocs.akamai.com/cloud-computing/docs/connect-to-a-mysql-managed-database) guide instead. @@ -22,7 +22,7 @@ If you wish to connect to a MySQL Managed Database, review the [Connect to a MyS ## Before You Begin -- **Obtain the connection details for the MySQL instance you wish to use.** If you do not have a MySQL instance yet, you can [create a Managed Database](https://techdocs.akamai.com/cloud-computing/docs/managed-databases), [deploy the MySQL Quick Deploy App](https://www.linode.com/marketplace/apps/linode/mysql-mariadb/), or [install MySQL server (or MariaDB) on a Compute Instance](/cloud/guides/install-mysql/). **This instance must allow remote connections or you must run the mysql command from within same system.** +- **Obtain the connection details for the MySQL instance you wish to use.** If you do not have a MySQL instance yet, you can [create a Managed Database](https://techdocs.akamai.com/cloud-computing/docs/managed-databases), [deploy the MySQL Quick Deploy App](https://www.linode.com/marketplace/apps/linode/mysql-mariadb/), or [install MySQL server (or MariaDB) on a Compute Instance](/cloud/guides/install-mysql). **This instance must allow remote connections or you must run the mysql command from within same system.** {{% content "dbass-eos" %}} @@ -30,10 +30,10 @@ If you wish to connect to a MySQL Managed Database, review the [Connect to a MyS mysql --version - This should inform you which version you are using. If the command is not found or you are not on a compatible version, see the [Installing MySQL](/cloud/guides/install-mysql/) guide. + This should inform you which version you are using. If the command is not found or you are not on a compatible version, see the [Installing MySQL](/cloud/guides/install-mysql) guide. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## General mysql Syntax @@ -62,13 +62,13 @@ The following list is a collection of common options used with the mysqldump com - **SSL Settings** (`--ssl-mode`): This controls if the connection should be encrypted. This can be set to `DISABLED` (unencrypted - not recommended), `PREFERRED` (tries an encrypted connection first before falling back to unencrypted), or `REQUIRED` (fails if an encrypted connection can't be established. If omitted, this option is automatically set to `PREFERRED`. You can also set this to `VERIFY_CA` or `VERIFY_IDENTITY` to require an encrypted connection and either verify the CA certificate or both verify the CA certificate and the host name identity. -If you are frequently connecting to the same database, you can securely store many of these options (including the password). See the [Securely Storing Credentials](/cloud/guides/securely-store-mysql-credentials/) guide. Other options can be stored in an [option file](https://dev.mysql.com/doc/refman/8.0/en/option-files.html). +If you are frequently connecting to the same database, you can securely store many of these options (including the password). See the [Securely Storing Credentials](/cloud/guides/securely-store-mysql-credentials) guide. Other options can be stored in an [option file](https://dev.mysql.com/doc/refman/8.0/en/option-files.html). ## Configure the Database Server to Allow Remote Connections If you have installed the MySQL server yourself (not through a managed service) and wish to connect to a database remotely without first logging in to the database server through SSH, you may need to modify a few settings. This can be useful if you want to limit SSH access but still permit database access. -Refer to our [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) to learn how to connect to your database using an SSH tunnel. +Refer to our [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) to learn how to connect to your database using an SSH tunnel. 1. Make sure your database has a user set up to allow connections from your local machine's IP address. @@ -113,10 +113,10 @@ bind-address = 0.0.0.0 ## How to Connect to a Database Remotely Using the MySQL Workbench Tool -Follow our [Install MySQL Workbench for Database Administration](/cloud/guides/deploy-mysql-workbench-for-database-administration/) guide for steps to install the MySQL Workbench tool on your local machine. This guide also shows you how to connect to a remote database via MySQL Workbench. These steps work whether your target database server is MySQL or MariaDB. +Follow our [Install MySQL Workbench for Database Administration](/cloud/guides/deploy-mysql-workbench-for-database-administration) guide for steps to install the MySQL Workbench tool on your local machine. This guide also shows you how to connect to a remote database via MySQL Workbench. These steps work whether your target database server is MySQL or MariaDB. For more information, take a look at the [official MySQL Workbench manual](https://dev.mysql.com/doc/workbench/en/). You may also refer to MariaDB's documentation on [using the MySQL Workbench with MariaDB](https://mariadb.com/products/skysql/docs/clients/third-party/mysql-workbench/). ## Conclusion -Now that you have your remote database connection, you may want to learn more about using MySQL/MariaDB and working with more advanced database operations. You can refer to our extensive [list of MySQL guides](/cloud/guides/databases/mysql/) and specific [MariaDB guides](/cloud/guides/databases/mariadb/) to build your database management skills. +Now that you have your remote database connection, you may want to learn more about using MySQL/MariaDB and working with more advanced database operations. You can refer to our extensive [list of MySQL guides](/cloud/guides/databases/mysql) and specific [MariaDB guides](/cloud/guides/databases/mariadb) to build your database management skills. diff --git a/docs/guides/databases/mysql/mysqldump-backups/index.md b/docs/guides/databases/mysql/mysqldump-backups/index.md index 9b479b698f3..7a457dd7e10 100644 --- a/docs/guides/databases/mysql/mysqldump-backups/index.md +++ b/docs/guides/databases/mysql/mysqldump-backups/index.md @@ -19,12 +19,12 @@ image: mysqldump-backup-title.jpg [MySQL](http://www.mysql.com/) (and [MariaDB](https://mariadb.com/)) include the [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) utility to simplify the process to create a backup of a database or system of databases. Using `mysqldump` creates a *logical backup* and generates the SQL statements needed to reproduce the original database structure and data. {{< note >}} -Since the mysqldump utility needs to connect to the database, the database management software must be running and accessible. If the database is not accessible for any reason, you can instead create a [*physical backup*](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/), which is a copy of the file system directory containing your MySQL database. +Since the mysqldump utility needs to connect to the database, the database management software must be running and accessible. If the database is not accessible for any reason, you can instead create a [*physical backup*](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases), which is a copy of the file system directory containing your MySQL database. {{< /note >}} ## Before You Begin -- **Obtain the connection details for the MySQL instance you wish to use.** If you do not have a MySQL instance yet, you can [create a Managed Database](https://techdocs.akamai.com/cloud-computing/docs/managed-databases), [deploy the MySQL Quick Deploy App](https://www.linode.com/marketplace/apps/linode/mysql-mariadb/), or [install MySQL server (or MariaDB) on a Compute Instance](/cloud/guides/install-mysql/). +- **Obtain the connection details for the MySQL instance you wish to use.** If you do not have a MySQL instance yet, you can [create a Managed Database](https://techdocs.akamai.com/cloud-computing/docs/managed-databases), [deploy the MySQL Quick Deploy App](https://www.linode.com/marketplace/apps/linode/mysql-mariadb/), or [install MySQL server (or MariaDB) on a Compute Instance](/cloud/guides/install-mysql). {{% content "dbass-eos" %}} @@ -32,7 +32,7 @@ Since the mysqldump utility needs to connect to the database, the database manag mysqldump --version - This should inform you which version you are using as well, needed when referencing the documentation. If mysqldump and mysql are not installed, see the [Installing MySQL](/cloud/guides/install-mysql/) guide. + This should inform you which version you are using as well, needed when referencing the documentation. If mysqldump and mysql are not installed, see the [Installing MySQL](/cloud/guides/install-mysql) guide. - **Ensure your MySQL user has proper grants:** The MySQL user you intend to use to export your existing database must have `SELECT`, `LOCK TABLES`, `SHOW VIEW`, and `TRIGGER` grants. @@ -82,7 +82,7 @@ When backing up a MySQL [Managed Database](https://techdocs.akamai.com/cloud-com - **Output file** (`> backup.sql`): The name of the output file. To keep your backups organized with unique filenames, it may be helpful to add an automatically generated timestamp (ex: `backup-$(date +%F).sql` for just the date or `backup-$(date +%Y%m%d-%H%M%S).sql` for the date and time). You can reference the formatting options on the [date manual page](https://man7.org/linux/man-pages/man1/date.1.html) to further customize it. -If you are frequently backing up a database with mysqldump or running a backup through a cron job, you can securely store many of these options (including the password). See the [Securely Storing Credentials](/cloud/guides/securely-store-mysql-credentials/) guide. Other options can be stored in an [option file](https://dev.mysql.com/doc/refman/8.0/en/option-files.html). +If you are frequently backing up a database with mysqldump or running a backup through a cron job, you can securely store many of these options (including the password). See the [Securely Storing Credentials](/cloud/guides/securely-store-mysql-credentials) guide. Other options can be stored in an [option file](https://dev.mysql.com/doc/refman/8.0/en/option-files.html). ### Additional Options @@ -112,7 +112,7 @@ To schedule regular backups of your database, you can use the mysqldump command 1. Log in to the system where you wish to capture and store your backups. This system should likely be a remote / cloud-based Linux server that is always running and should have a MySQL client installed. -1. Store your database credentials and connection details using the `mysql_config_editor set` command. An example command is provided below, though be sure to replace the values with your own. See [Securely Storing Credentials](/cloud/guides/securely-store-mysql-credentials/) guide for additional details and options. +1. Store your database credentials and connection details using the `mysql_config_editor set` command. An example command is provided below, though be sure to replace the values with your own. See [Securely Storing Credentials](/cloud/guides/securely-store-mysql-credentials) guide for additional details and options. mysql_config_editor set --login-path=[name] --user=[username] --host=[host] --password --warn @@ -130,7 +130,7 @@ To schedule regular backups of your database, you can use the mysqldump command 0 1 * * * /usr/bin/mysqldump --login-path=[name] --single-transaction [database-name] > ~/database-backups/backup-$(date +%F-%H.%M.%S).sql {{< /file >}} -For more information on cron, see our [Using Cron](/cloud/guides/schedule-tasks-with-cron/) guide or review the [cron(8)](https://linux.die.net/man/8/cron) and [cron(5)](https://linux.die.net/man/5/crontab) manual pages. +For more information on cron, see our [Using Cron](/cloud/guides/schedule-tasks-with-cron) guide or review the [cron(8)](https://linux.die.net/man/8/cron) and [cron(5)](https://linux.die.net/man/5/crontab) manual pages. ## Restore a Backup diff --git a/docs/guides/databases/mysql/securing-mysql/index.md b/docs/guides/databases/mysql/securing-mysql/index.md index ebddbbecb92..2498ccd9814 100644 --- a/docs/guides/databases/mysql/securing-mysql/index.md +++ b/docs/guides/databases/mysql/securing-mysql/index.md @@ -34,7 +34,7 @@ MySQL is an open-source relational database management system. This guide will s sudo yum update {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. In order to secure and audit MySQL, you need to have a Linux server with the `MySQL Server` services running. For information about installing MySQL please see [Install MySQL ](/cloud/guides/install-mysql-on-ubuntu-14-04) diff --git a/docs/guides/databases/mysql/standalone-mysql-server/index.md b/docs/guides/databases/mysql/standalone-mysql-server/index.md index 21fcb3e5175..0e9e2fd60d6 100644 --- a/docs/guides/databases/mysql/standalone-mysql-server/index.md +++ b/docs/guides/databases/mysql/standalone-mysql-server/index.md @@ -15,14 +15,14 @@ deprecated: true In some kinds of deployments, particularly where rich dynamic applications rely on a large database, separating the database server from the application server can permit your application to scale and accommodate a much larger user base. Designating a separate server to be used solely by MySQL will allow the application's web server to serve content more efficiently, while the database server will be able to respond more quickly. -As a result, these database servers can more effectively support deployments with high traffic loads. This may help you achieve higher performance for a range of applications, from popular packages such as [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) and [Drupal](/cloud/guides/how-to-install-and-configure-drupal-8/) to custom applications written in [Ruby on Rails](/cloud/guides/development/frameworks/) and [Django](/cloud/guides/development/frameworks/). +As a result, these database servers can more effectively support deployments with high traffic loads. This may help you achieve higher performance for a range of applications, from popular packages such as [WordPress](/cloud/guides/how-to-install-and-configure-wordpress) and [Drupal](/cloud/guides/how-to-install-and-configure-drupal-8) to custom applications written in [Ruby on Rails](/cloud/guides/development/frameworks) and [Django](/cloud/guides/development/frameworks). ## Prerequisites In this guide we will be using two Linodes. Note that this is different than simply deploying a second configuration profile on your existing Linode account, as both servers will need to be running at the same time. We're assuming you have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for both Linodes. -- For the Linode running the web server, henceforth the application server, you should already have Apache (or your preferred web server) installed. For a fresh install, follow the [LAMP guide](/cloud/guides/web-servers/lamp/) for your distribution. The LAMP guide includes MySQL, which you do not need to install. -- The dedicated MySQL Linode should have MySQL installed. Follow the [MySQL database server](/cloud/guides/databases/mysql/) installation guide for your distribution. Keep in mind that you do not have to install Apache on the dedicated MySQL server. +- For the Linode running the web server, henceforth the application server, you should already have Apache (or your preferred web server) installed. For a fresh install, follow the [LAMP guide](/cloud/guides/web-servers/lamp) for your distribution. The LAMP guide includes MySQL, which you do not need to install. +- The dedicated MySQL Linode should have MySQL installed. Follow the [MySQL database server](/cloud/guides/databases/mysql) installation guide for your distribution. Keep in mind that you do not have to install Apache on the dedicated MySQL server. Also, you will want to configure aliases for the private IP address of each Linode. You can follow the [Linux Static IP Configuration](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance) guide for assistance with this. **It is important to note that both Linodes should be in the same data center** for private networking to work. This enables the servers to communicate without having the traffic count against your monthly bandwidth quota. It is necessary to reboot both Linodes after configuring the private IP addresses. @@ -70,7 +70,7 @@ From this point on, everything is configured and your database server is ready t Using MySQL on a separate database server is very similar to running a local database server. Typically, applications require you to specify "database hostname", and conventionally database servers running on the local machine have a hostname of `localhost`. When you separate database and application servers you will need to specify the hostname, as set above, in the application. -For example, in [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) database settings are contained in the `wp-config.php` file, and the hostname is specified in the following format: +For example, in [WordPress](/cloud/guides/how-to-install-and-configure-wordpress) database settings are contained in the `wp-config.php` file, and the hostname is specified in the following format: {{< file "wp-config.php" >}} /** MySQL hostname */ @@ -85,6 +85,6 @@ More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Web Application Guides](/cloud/guides/websites/) -- [Web Application Frameworks](/cloud/guides/development/frameworks/) -- [Database Management Systems](/cloud/guides/databases/) +- [Web Application Guides](/cloud/guides/websites) +- [Web Application Frameworks](/cloud/guides/development/frameworks) +- [Database Management Systems](/cloud/guides/databases) diff --git a/docs/guides/databases/mysql/use-mysql-relational-databases-on-centos-5/index.md b/docs/guides/databases/mysql/use-mysql-relational-databases-on-centos-5/index.md index 79632f4a9a4..4cab0d3a210 100644 --- a/docs/guides/databases/mysql/use-mysql-relational-databases-on-centos-5/index.md +++ b/docs/guides/databases/mysql/use-mysql-relational-databases-on-centos-5/index.md @@ -87,7 +87,7 @@ If you made any changes to MySQL's configuration, issue the following command to service mysqld restart -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases with local clients. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases with local clients. Allowing unrestricted access to MySQL on a public IP not advised, but you may change the address it listens on by modifying the `bind-address` parameter. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-12/index.md b/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-12/index.md index 20a736d2e9b..6dbdba1fc7d 100644 --- a/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-12/index.md +++ b/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-12/index.md @@ -81,7 +81,7 @@ If you made any changes to MySQL's configuration, issue the following command to service mysqld restart -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases with local clients. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases with local clients. Allowing unrestricted access to MySQL on a public IP not advised, but you may change the address it listens on by modifying the `bind-address` parameter. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-13/index.md b/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-13/index.md index 1069a56ef71..d83e340afb9 100644 --- a/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-13/index.md +++ b/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-13/index.md @@ -81,7 +81,7 @@ If you made any changes to MySQL's configuration, issue the following command to service mysqld restart -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases with local clients. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases with local clients. Allowing unrestricted access to MySQL on a public IP not advised, but you may change the address it listens on by modifying the `bind-address` parameter. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-14/index.md b/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-14/index.md index d1341612bbb..d3bb7ccd4d0 100644 --- a/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-14/index.md +++ b/docs/guides/databases/mysql/use-mysql-relational-databases-on-fedora-14/index.md @@ -84,7 +84,7 @@ If you made any changes to MySQL's configuration, issue the following command to service mysqld restart -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases with local clients. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases with local clients. Allowing unrestricted access to MySQL on a public IP not advised, but you may change the address it listens on by modifying the `bind-address` parameter. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/index.md index 6ed483f6d6c..608b31866f3 100644 --- a/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/index.md @@ -96,7 +96,7 @@ net_buffer_length = 2K These settings are only suggested values for a low memory environment; please feel free to tune them to appropriate values for your server. Consult the "More Information" section at the end of this tutorial for additional resources on this topic. -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases with local clients. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases with local clients. Allowing unrestricted access to MySQL on a public IP is not advised, but you may change the address it listens on by modifying the `bind-address` parameter. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. @@ -169,7 +169,7 @@ Now let's log back into the MySQL client as `testuser` and create a sample table This creates a table with a customer ID field of the type INT for integer (auto-incremented for new records and used as the primary key), as well as two fields for storing the customer's name. -By default, access to databases will be limited to connections from localhost. To securely administer your databases from a remote location, please follow our guide for [securely administering mysql with an SSH tunnel](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/). It is *not* a good practice to run MySQL on your public IP address, unless you have a very good reason for doing so. +By default, access to databases will be limited to connections from localhost. To securely administer your databases from a remote location, please follow our guide for [securely administering mysql with an SSH tunnel](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access). It is *not* a good practice to run MySQL on your public IP address, unless you have a very good reason for doing so. ## More Information diff --git a/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-10-10-maverick/index.md b/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-10-10-maverick/index.md index 59e0a985f53..9671e6f83a6 100644 --- a/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-10-10-maverick/index.md @@ -78,7 +78,7 @@ If you made any changes to MySQL's configuration, restart it by issuing the foll restart mysql -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases with local clients. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases with local clients. Allowing unrestricted access to MySQL on a public IP is not advised, but you may change the address it listens on by modifying the `bind-address` parameter. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. @@ -155,7 +155,7 @@ Now let's log back into the MySQL client as `testuser` and create a sample table This creates a table with a customer ID field of the type INT for integer (auto-incremented for new records and used as the primary key), as well as two fields for storing the customer's name. -By default, access to databases will be limited to connections from localhost. To securely administer your databases from a remote location, please follow our guide for [securely administering mysql with an SSH tunnel](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/). It is *not* a good practice to run MySQL on your public IP address, unless you have a very good reason for doing so. +By default, access to databases will be limited to connections from localhost. To securely administer your databases from a remote location, please follow our guide for [securely administering mysql with an SSH tunnel](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access). It is *not* a good practice to run MySQL on your public IP address, unless you have a very good reason for doing so. ## More Information diff --git a/docs/guides/databases/mysql/using-mysql-relational-databases-on-arch-linux/index.md b/docs/guides/databases/mysql/using-mysql-relational-databases-on-arch-linux/index.md index 967e265117e..096ccde7815 100644 --- a/docs/guides/databases/mysql/using-mysql-relational-databases-on-arch-linux/index.md +++ b/docs/guides/databases/mysql/using-mysql-relational-databases-on-arch-linux/index.md @@ -18,7 +18,7 @@ tags: ["arch","database","mysql"] deprecated: true --- -MySQL is a popular database management system, used as the data storage provider for thousands of web and server applications. This guide will help beginners get started with MySQL on Arch Linux. If you would like to deploy MySQL as part of an application stack, consider our [LEMP](/cloud/guides/lemp-server-on-arch-linux/) and [LAMP guides](/cloud/guides/web-servers/lamp/). +MySQL is a popular database management system, used as the data storage provider for thousands of web and server applications. This guide will help beginners get started with MySQL on Arch Linux. If you would like to deploy MySQL as part of an application stack, consider our [LEMP](/cloud/guides/lemp-server-on-arch-linux) and [LAMP guides](/cloud/guides/web-servers/lamp). ## System Configuration @@ -67,7 +67,7 @@ Consult the "More Information" section at the end of this tutorial for additiona /etc/rc.d/mysqld restart -Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases with local clients. +Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases with local clients. ## Use MySQL diff --git a/docs/guides/databases/mysql/using-mysql-relational-databases-on-fedora-20/index.md b/docs/guides/databases/mysql/using-mysql-relational-databases-on-fedora-20/index.md index cf78195c5e3..ac7ed38ef25 100644 --- a/docs/guides/databases/mysql/using-mysql-relational-databases-on-fedora-20/index.md +++ b/docs/guides/databases/mysql/using-mysql-relational-databases-on-fedora-20/index.md @@ -53,7 +53,7 @@ After installing MySQL, it's recommended that you run `mysql_secure_installation mysql_secure_installation -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/) for information on connecting to your databases with local clients. +MySQL will bind to localhost (127.0.0.1) by default. Please reference our [secure MySQL remote access guide](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access) for information on connecting to your databases with local clients. Allowing unrestricted access to MySQL on a public IP not advised, but you may change the address it listens on by modifying the `bind-address` parameter in `/etc/my.cnf`. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses. diff --git a/docs/guides/databases/mysql/vitess-mysql-for-kubernetes/index.md b/docs/guides/databases/mysql/vitess-mysql-for-kubernetes/index.md index 9ae9f9696b3..1cbefec38a3 100644 --- a/docs/guides/databases/mysql/vitess-mysql-for-kubernetes/index.md +++ b/docs/guides/databases/mysql/vitess-mysql-for-kubernetes/index.md @@ -89,7 +89,7 @@ lke116411-172761-649b48bfab4b Ready 19m v1.26.3 ``` -If `kubectl` isn’t already installed on your local machine, follow the instructions in our [Kubernetes Reference Guide](/cloud/guides/kubernetes-reference/) for your OS and try the node list again. +If `kubectl` isn’t already installed on your local machine, follow the instructions in our [Kubernetes Reference Guide](/cloud/guides/kubernetes-reference) for your OS and try the node list again. Add the `KUBECONFIG` environment variable to your local `.bashrc` file, or the equivalent if you’re not using **bash**, such as `.zprofile` for **zsh**, so you don’t have to type it manually every time you open a new terminal window. diff --git a/docs/guides/databases/neo4j/an-introduction-to-neo4j/index.md b/docs/guides/databases/neo4j/an-introduction-to-neo4j/index.md index 5b69cba699f..dc8a77054e7 100644 --- a/docs/guides/databases/neo4j/an-introduction-to-neo4j/index.md +++ b/docs/guides/databases/neo4j/an-introduction-to-neo4j/index.md @@ -13,7 +13,7 @@ Many of the world's largest organizations rely on Neo4j. This introduction expla ## What Is Neo4j? -[Neo4j](https://neo4j.com) is a [database management system](/cloud/guides/databases/) (*DBMS*). Rather than the [relational model](https://www.techtarget.com/searchdatamanagement/definition/RDBMS-relational-database-management-system) used in the SQL language, Neo4j organizes, represents, and delivers data in terms of [graph structures](https://neo4j.com/developer/graph-database/). Because of this distinction, graph database managers are often labeled as [NoSQL](/cloud/guides/what-is-nosql/). However, NoSQL encompasses more than just graph databases. For example, a key-value store such as [Redis](/cloud/guides/databases/redis/) is also NoSQL, but it is *not* a graph database. +[Neo4j](https://neo4j.com) is a [database management system](/cloud/guides/databases) (*DBMS*). Rather than the [relational model](https://www.techtarget.com/searchdatamanagement/definition/RDBMS-relational-database-management-system) used in the SQL language, Neo4j organizes, represents, and delivers data in terms of [graph structures](https://neo4j.com/developer/graph-database/). Because of this distinction, graph database managers are often labeled as [NoSQL](/cloud/guides/what-is-nosql). However, NoSQL encompasses more than just graph databases. For example, a key-value store such as [Redis](/cloud/guides/databases/redis) is also NoSQL, but it is *not* a graph database. The Neo4j DBMS was created by a company of the same name, which develops and maintains the associated software, library, and tool set. Neo4j is available either as self-managed software or as a cloud-based solution (called AuraDB). This guide covers the free Neo4j self-managed Community edition, though it also comes as a paid Enterprise edition. Review the Neo4j [product page](https://neo4j.com/product/neo4j-graph-database/) and [license page](https://neo4j.com/licensing/) to learn more about the differences between editions. diff --git a/docs/guides/databases/neo4j/installing-and-configuring-neo4j-on-ubuntu-2204/index.md b/docs/guides/databases/neo4j/installing-and-configuring-neo4j-on-ubuntu-2204/index.md index afe17ae1fe0..2506848806e 100644 --- a/docs/guides/databases/neo4j/installing-and-configuring-neo4j-on-ubuntu-2204/index.md +++ b/docs/guides/databases/neo4j/installing-and-configuring-neo4j-on-ubuntu-2204/index.md @@ -14,7 +14,7 @@ While relational databases enjoy longstanding market leadership positions, graph ## What Is Neo4j? -Neoj4 is an incredibly popular graph database management system (*DBMS*). At the time of this writing, it is the *most* popular graph DBMS, according to [DB-engine's ranking](https://db-engines.com/en/ranking/graph+dbms). Available under an [open source license](https://neo4j.com/licensing/), you can freely install Neo4j on virtual machines, like Compute Instances. Once in place, you can create high-performance database applications that emphasize the management of, and searches for, connected data. For example, which people have been co-workers of other people, or which documents share semantic content with other documents. Learn the key benefits of Neo4j in our [Introduction to Neo4j](/cloud/guides/an-introduction-to-neo4j/) guide. +Neoj4 is an incredibly popular graph database management system (*DBMS*). At the time of this writing, it is the *most* popular graph DBMS, according to [DB-engine's ranking](https://db-engines.com/en/ranking/graph+dbms). Available under an [open source license](https://neo4j.com/licensing/), you can freely install Neo4j on virtual machines, like Compute Instances. Once in place, you can create high-performance database applications that emphasize the management of, and searches for, connected data. For example, which people have been co-workers of other people, or which documents share semantic content with other documents. Learn the key benefits of Neo4j in our [Introduction to Neo4j](/cloud/guides/an-introduction-to-neo4j) guide. ## Before You Begin @@ -23,7 +23,7 @@ Neoj4 is an incredibly popular graph database management system (*DBMS*). At the 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} The commands, file contents, and other instructions provided throughout this guide may include placeholders. These are typically domain names, IP addresses, usernames, passwords, and other values that are unique to you. The table below identifies these placeholder values and explains what to replace them with: diff --git a/docs/guides/databases/oracle/oracle-10g-express-edition-on-debian-5-lenny/index.md b/docs/guides/databases/oracle/oracle-10g-express-edition-on-debian-5-lenny/index.md index fff3a7795df..6ec892b517f 100644 --- a/docs/guides/databases/oracle/oracle-10g-express-edition-on-debian-5-lenny/index.md +++ b/docs/guides/databases/oracle/oracle-10g-express-edition-on-debian-5-lenny/index.md @@ -129,7 +129,7 @@ You should see output resembling the following: Oracle is managed via a web interface, which is installed with the oracle-xe package. By default, it listens on the local address `127.0.0.1` at port 8080. Since you most likely do not have a window manager or web browser installed on your Linode, you must connect to your Oracle home page remotely. -You can do this by using our [Oracle SSH tunnel script](/cloud/guides/securely-administer-oracle-xe-with-an-ssh-tunnel/). After your tunnel is started, you can connect to the admin page at the URL `http://127.0.0.1:8080/apex`. Log in with the username "SYSTEM" and the password you specified during Oracle configuration. You'll be presented with a page similar to this one: +You can do this by using our [Oracle SSH tunnel script](/cloud/guides/securely-administer-oracle-xe-with-an-ssh-tunnel). After your tunnel is started, you can connect to the admin page at the URL `http://127.0.0.1:8080/apex`. Log in with the username "SYSTEM" and the password you specified during Oracle configuration. You'll be presented with a page similar to this one: ![The Oracle XE administration home page.](380-oracle-xe-admin-page.png) diff --git a/docs/guides/databases/oracle/oracle-10g-express-edition-on-debian-6-squeeze/index.md b/docs/guides/databases/oracle/oracle-10g-express-edition-on-debian-6-squeeze/index.md index ccaa6435e3d..bd9570e3ae5 100644 --- a/docs/guides/databases/oracle/oracle-10g-express-edition-on-debian-6-squeeze/index.md +++ b/docs/guides/databases/oracle/oracle-10g-express-edition-on-debian-6-squeeze/index.md @@ -118,7 +118,7 @@ You should see output resembling the following: Oracle is managed via a web interface, which is installed with the oracle-xe package. By default, it listens on the local address `127.0.0.1` at port 8080. Since you most likely do not have a window manager or web browser installed on your Linode, you must connect to your Oracle home page remotely. -You can do this by using our [Oracle SSH tunnel script](/cloud/guides/securely-administer-oracle-xe-with-an-ssh-tunnel/). After your tunnel is started, you can connect to the admin page at the URL `http://127.0.0.1:8080/apex`. Log in with the username "SYSTEM" and the password you specified during Oracle configuration. You'll be presented with a page similar to this one: +You can do this by using our [Oracle SSH tunnel script](/cloud/guides/securely-administer-oracle-xe-with-an-ssh-tunnel). After your tunnel is started, you can connect to the admin page at the URL `http://127.0.0.1:8080/apex`. Log in with the username "SYSTEM" and the password you specified during Oracle configuration. You'll be presented with a page similar to this one: ![The Oracle XE administration home page.](379-oracle-xe-admin-page.png) diff --git a/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-04-lts-lucid/index.md index 0362ad047b1..5044aabc625 100644 --- a/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-04-lts-lucid/index.md @@ -131,7 +131,7 @@ You should see output resembling the following: Oracle is managed via a web interface, which is installed with the oracle-xe package. By default, it listens on the local address `127.0.0.1` at port 8080. Since you most likely do not have a window manager or web browser installed on your Linode, you must connect to your Oracle home page remotely. -You can do this by using our [Oracle SSH tunnel script](/cloud/guides/securely-administer-oracle-xe-with-an-ssh-tunnel/). After your tunnel is started, you can connect to the admin page at the URL `http://127.0.0.1:8080/apex`. Log in with the username "SYSTEM" and the password you specified during Oracle configuration. You'll be presented with a page similar to this one: +You can do this by using our [Oracle SSH tunnel script](/cloud/guides/securely-administer-oracle-xe-with-an-ssh-tunnel). After your tunnel is started, you can connect to the admin page at the URL `http://127.0.0.1:8080/apex`. Log in with the username "SYSTEM" and the password you specified during Oracle configuration. You'll be presented with a page similar to this one: ![The Oracle XE administration home page.](381-oracle-xe-admin-page.png) diff --git a/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-10-maverick/index.md b/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-10-maverick/index.md index f5d7e40bb6d..98d96357f24 100644 --- a/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-10-maverick/index.md @@ -118,7 +118,7 @@ You should see output resembling the following: Oracle is managed via a web interface, which is installed with the oracle-xe package. By default, it listens on the local address `127.0.0.1` at port 8080. Since you most likely do not have a window manager or web browser installed on your Linode, you must connect to your Oracle home page remotely. -You can do this by using our [Oracle SSH tunnel script](/cloud/guides/securely-administer-oracle-xe-with-an-ssh-tunnel/). After your tunnel is started, you can connect to the admin page at the URL `http://127.0.0.1:8080/apex`. Log in with the username "SYSTEM" and the password you specified during Oracle configuration. You'll be presented with a page similar to this one: +You can do this by using our [Oracle SSH tunnel script](/cloud/guides/securely-administer-oracle-xe-with-an-ssh-tunnel). After your tunnel is started, you can connect to the admin page at the URL `http://127.0.0.1:8080/apex`. Log in with the username "SYSTEM" and the password you specified during Oracle configuration. You'll be presented with a page similar to this one: ![The Oracle XE administration home page.](382-oracle-xe-admin-page.png) diff --git a/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-9-10-karmic/index.md b/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-9-10-karmic/index.md index 33f64a71124..686fd8f7fbe 100644 --- a/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-9-10-karmic/index.md @@ -134,7 +134,7 @@ You should see output resembling the following: Oracle is managed via a web interface, which is installed with the oracle-xe package. By default, it listens on the local address `127.0.0.1` at port 8080. Since you most likely do not have a window manager or web browser installed on your Linode, you must connect to your Oracle home page remotely. -You can do this by using our [Oracle SSH tunnel script](/cloud/guides/securely-administer-oracle-xe-with-an-ssh-tunnel/). After your tunnel is started, you can connect to the admin page at the URL `http://127.0.0.1:8080/apex`. Log in with the username "SYSTEM" and the password you specified during Oracle configuration. You'll be presented with a page similar to this one: +You can do this by using our [Oracle SSH tunnel script](/cloud/guides/securely-administer-oracle-xe-with-an-ssh-tunnel). After your tunnel is started, you can connect to the admin page at the URL `http://127.0.0.1:8080/apex`. Log in with the username "SYSTEM" and the password you specified during Oracle configuration. You'll be presented with a page similar to this one: ![The Oracle XE administration home page.](470-oracle-xe-admin-page.png) diff --git a/docs/guides/databases/oracle/securely-administer-oracle-xe-with-an-ssh-tunnel/index.md b/docs/guides/databases/oracle/securely-administer-oracle-xe-with-an-ssh-tunnel/index.md index dc5338a093b..1793fbc6250 100644 --- a/docs/guides/databases/oracle/securely-administer-oracle-xe-with-an-ssh-tunnel/index.md +++ b/docs/guides/databases/oracle/securely-administer-oracle-xe-with-an-ssh-tunnel/index.md @@ -10,7 +10,7 @@ keywords: ["Oracle tunnel", "Oracle over SSH", "SSH tunnel"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/)' + - '[Using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty)' - '[Oracle XE Documentation](http://www.oracle.com/pls/xe102/homepage)' tags: ["ssh","database"] deprecated: true diff --git a/docs/guides/databases/postgresql/an-introduction-to-postgresql/index.md b/docs/guides/databases/postgresql/an-introduction-to-postgresql/index.md index 19426c25e78..5583898c7fb 100644 --- a/docs/guides/databases/postgresql/an-introduction-to-postgresql/index.md +++ b/docs/guides/databases/postgresql/an-introduction-to-postgresql/index.md @@ -46,7 +46,7 @@ Some of PostgreSQL's other features include the following: Because development and maintenance are community-driven, PostgreSQL has an active community that contributes bug fixes and helps users with their issues. Although it does not have a full GUI, the free open source `pgAdmin` tool permits remote GUI administration. -For more information on installing and using PostgreSQL, consult the Linode guide on [How to Install and Use PostgreSQL on Ubuntu 20.04](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04/). +For more information on installing and using PostgreSQL, consult the Linode guide on [How to Install and Use PostgreSQL on Ubuntu 20.04](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04). ## Object-Relational Database (ORDBMS) vs. Relational Database (RDBMS) @@ -84,7 +84,7 @@ To summarize, an RDBMS is advantageous for systems with a large number of simple Historically, PostgreSQL and MySQL had quite different feature matrices. Over the years, the two applications have converged, but some differences remain. Much of this is due to PostgreSQL adding features, but MySQL is also expanding. For example, it recently added MVCC support. Even as PostgreSQL and MySQL move towards feature parity, the two programs still have different philosophies and take different approaches. -MySQL is a very popular open-source RDBMS application. It is available for free under an open-source license and is part of the [*LAMP Stack*](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/), along with Linux, Apache, and PHP. It was originally designed for small-to-medium-sized applications, but can now handle very large amounts of data. MySQL is packaged with many extensions and utilities. It emphasizes stability, speed, reliability, and ease of use over perfect compliance. +MySQL is a very popular open-source RDBMS application. It is available for free under an open-source license and is part of the [*LAMP Stack*](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7), along with Linux, Apache, and PHP. It was originally designed for small-to-medium-sized applications, but can now handle very large amounts of data. MySQL is packaged with many extensions and utilities. It emphasizes stability, speed, reliability, and ease of use over perfect compliance. Like all RDBMS applications, MySQL uses a relational approach. It lacks any non-relational or object-oriented features. This means it contains tables consisting of rows and columns. It allows administrators to define relationships within and between the tables and columns in the database. MySQL uses the SQL programming language to store and retrieve data. @@ -134,4 +134,4 @@ PostgreSQL is a fast and reliable system, and can be used anyplace a traditional PostgreSQL is an ORDBMS combining the features of a standard relational database with an object-relational model. It permits users to define their own data types and functions, and incorporates object-oriented techniques such as inheritance and encapsulation. PostgreSQL can accept SQL commands and store data in tables of rows. However, it can also store tables of objects. This makes it a good choice for photographs, audio, and video. -PostgreSQL contains many advanced features, including reliable ACID compliance and a flexible data replication model. Any decision on whether to deploy PostgreSQL versus MySQL depends on the nature of the data and the queries. There are many differences between MySQL and PostgreSQL in terms of their frameworks, the feature set, and the philosophy behind each application. However, MySQL is best for large amounts of straightforward reads and writes of simple data. PostgreSQL tends to be used in more complicated scenarios with non-traditional data. It also integrates well with geo-spatial and statistical packages, different programming languages, and other databases. For more information about PostgreSQL, see the [PostgreSQL documentation](https://www.postgresql.org/docs/) and the Linode guide on [How to Install and Use PostgreSQL on Ubuntu 20.04](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04/). \ No newline at end of file +PostgreSQL contains many advanced features, including reliable ACID compliance and a flexible data replication model. Any decision on whether to deploy PostgreSQL versus MySQL depends on the nature of the data and the queries. There are many differences between MySQL and PostgreSQL in terms of their frameworks, the feature set, and the philosophy behind each application. However, MySQL is best for large amounts of straightforward reads and writes of simple data. PostgreSQL tends to be used in more complicated scenarios with non-traditional data. It also integrates well with geo-spatial and statistical packages, different programming languages, and other databases. For more information about PostgreSQL, see the [PostgreSQL documentation](https://www.postgresql.org/docs/) and the Linode guide on [How to Install and Use PostgreSQL on Ubuntu 20.04](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04). \ No newline at end of file diff --git a/docs/guides/databases/postgresql/back-up-a-postgresql-database/index.md b/docs/guides/databases/postgresql/back-up-a-postgresql-database/index.md index 0c77f287292..ea6dc6210dd 100644 --- a/docs/guides/databases/postgresql/back-up-a-postgresql-database/index.md +++ b/docs/guides/databases/postgresql/back-up-a-postgresql-database/index.md @@ -20,10 +20,10 @@ If you are using PostgreSQL in a production environment, it is important to take ## Before You Begin -You should have a working installation of PostgreSQL on your system before beginning this guide. Go through our [How to Install PostgreSQL on Ubuntu guide](/cloud/guides/how-to-install-postgresql-on-ubuntu-16-04/) to install PostgreSQL and create a sample database. +You should have a working installation of PostgreSQL on your system before beginning this guide. Go through our [How to Install PostgreSQL on Ubuntu guide](/cloud/guides/how-to-install-postgresql-on-ubuntu-16-04) to install PostgreSQL and create a sample database. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## One-Time SQL Dump @@ -101,7 +101,7 @@ In this section, learn how to import a database in PostgreSQL and automate the p 0 0 * * 0 pg_dump -U postgres dbname > ~/postgres/backups/dbname.bak {{< /file >}} -1. Save and exit from the editor. Your database is set to back up at midnight every Sunday. To change the time or frequency of the updates, see our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide. +1. Save and exit from the editor. Your database is set to back up at midnight every Sunday. To change the time or frequency of the updates, see our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron) guide. It is always a good idea to export a Postgres database before any major changes in structure or the installation of a new application. This applies to a Postgres import dump from a remote server. diff --git a/docs/guides/databases/postgresql/centos-5/index.md b/docs/guides/databases/postgresql/centos-5/index.md index 4b127afda7b..74742ea1bb9 100644 --- a/docs/guides/databases/postgresql/centos-5/index.md +++ b/docs/guides/databases/postgresql/centos-5/index.md @@ -150,8 +150,8 @@ You will be prompted to enter the password for the `alison` user and given `psql PostgreSQL listens for connections on localhost, and it is not advised to reconfigure it to listen on public IP addresses. If you would like to access your databases remotely using a graphical tool, please follow one of these guides: -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) ## More Information diff --git a/docs/guides/databases/postgresql/centos-install-and-use-postgresql/index.md b/docs/guides/databases/postgresql/centos-install-and-use-postgresql/index.md index 5738109707d..d487621c2c0 100644 --- a/docs/guides/databases/postgresql/centos-install-and-use-postgresql/index.md +++ b/docs/guides/databases/postgresql/centos-install-and-use-postgresql/index.md @@ -40,7 +40,7 @@ This guide demonstrates how to install and use [*PostgreSQL*](https://www.postgr 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Advantages and Disadvantages of PostgreSQL @@ -509,8 +509,8 @@ There is a security risk in opening up PostgreSQL to listen for remote connectio The following Linode guides provide more information on pgAdmin: -- [How to Access PostgreSQL Database Remotely Using pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [How to Access PostgreSQL Database Remotely Using pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) ## Learn More About PostgreSQL diff --git a/docs/guides/databases/postgresql/comparison-of-high-availability-postgresql-solutions/index.md b/docs/guides/databases/postgresql/comparison-of-high-availability-postgresql-solutions/index.md index 9eae38972bc..9d12d23f021 100644 --- a/docs/guides/databases/postgresql/comparison-of-high-availability-postgresql-solutions/index.md +++ b/docs/guides/databases/postgresql/comparison-of-high-availability-postgresql-solutions/index.md @@ -103,13 +103,13 @@ Another relevant set of concepts relates to how the HA cluster handles a split-b ## Deploying a PostgreSQL HA Cluster on Akamai Cloud Computing -There are two main methods of deploying a PostgreSQL high-availability cluster on Akamai. There is the traditional manual configuration method and [Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/postgresql-cluster/) solution. +There are two main methods of deploying a PostgreSQL high-availability cluster on Akamai. There is the traditional manual configuration method and [Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/postgresql-cluster) solution. For a concise discussion and comparison of the three main alternatives, see the Akamai blog about PostgreSQL's high availability. ### The Quick Deploy Apps PostgreSQL HA Cluster -Akamai allows users to configure a PostgreSQL HA cluster as a [Quick Deploy Application](/cloud/marketplace-docs/guides/postgresql-cluster/). Using this technique, database administrators can set up an HA cluster from the Linode Dashboard. This solution is supported on Ubuntu 22.04 LTS distribution on any plan type. +Akamai allows users to configure a PostgreSQL HA cluster as a [Quick Deploy Application](/cloud/marketplace-docs/guides/postgresql-cluster). Using this technique, database administrators can set up an HA cluster from the Linode Dashboard. This solution is supported on Ubuntu 22.04 LTS distribution on any plan type. The Akamai Quick Deploy Apps solution uses the [*repmgr*](https://www.repmgr.org/) replication manager to control the PostgreSQL high availability cluster. The Quick Deploy Application automatically configures a three-node HA cluster. Users only have to create users, roles, schemas, and tables before deploying the database. diff --git a/docs/guides/databases/postgresql/configure-postgresql/index.md b/docs/guides/databases/postgresql/configure-postgresql/index.md index 62e683c93d0..929bb8f1822 100644 --- a/docs/guides/databases/postgresql/configure-postgresql/index.md +++ b/docs/guides/databases/postgresql/configure-postgresql/index.md @@ -18,16 +18,16 @@ aliases: [] ## What is PostgreSQL? -[PostgreSQL](https://www.postgresql.org/) is a popular, open source relational database system. Our [PostgreSQL section](/cloud/guides/databases/postgresql/) has detailed instructions on how to install PostgreSQL on different distributions. These basic installations will be sufficient for many use cases; however, PostgreSQL provides many advanced configuration options that can help optimize your databases's performance in a production environment. +[PostgreSQL](https://www.postgresql.org/) is a popular, open source relational database system. Our [PostgreSQL section](/cloud/guides/databases/postgresql) has detailed instructions on how to install PostgreSQL on different distributions. These basic installations will be sufficient for many use cases; however, PostgreSQL provides many advanced configuration options that can help optimize your databases's performance in a production environment. PostgreSQL can be configured and tuned through a series of configuration files. In this guide you will learn about the configuration files and how to fine-tune your database to fit your specific needs. ## Before You Begin -You should have a working installation of PostgreSQL on your system before beginning this guide. Go through our [How to Install PostgreSQL on Ubuntu guide](/cloud/guides/how-to-install-postgresql-on-ubuntu-16-04/) to install PostgreSQL and create a sample database. +You should have a working installation of PostgreSQL on your system before beginning this guide. Go through our [How to Install PostgreSQL on Ubuntu guide](/cloud/guides/how-to-install-postgresql-on-ubuntu-16-04) to install PostgreSQL and create a sample database. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} diff --git a/docs/guides/databases/postgresql/create-a-highly-available-postgresql-cluster-using-patroni-and-haproxy/index.md b/docs/guides/databases/postgresql/create-a-highly-available-postgresql-cluster-using-patroni-and-haproxy/index.md index f76b86100e8..64859792a7f 100644 --- a/docs/guides/databases/postgresql/create-a-highly-available-postgresql-cluster-using-patroni-and-haproxy/index.md +++ b/docs/guides/databases/postgresql/create-a-highly-available-postgresql-cluster-using-patroni-and-haproxy/index.md @@ -39,7 +39,7 @@ This guide shows you how to create a highly available Postgres cluster of three 4. Create five Linodes on your account, all within the same data center. Take note of each Linode's [private IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install PostgreSQL diff --git a/docs/guides/databases/postgresql/fedora-12/index.md b/docs/guides/databases/postgresql/fedora-12/index.md index c33d1d0e95f..1fafef5ba3f 100644 --- a/docs/guides/databases/postgresql/fedora-12/index.md +++ b/docs/guides/databases/postgresql/fedora-12/index.md @@ -147,8 +147,8 @@ You will be prompted to enter the password for the `alison` user and given `psql PostgreSQL listens for connections on localhost, and it is not advised to reconfigure it to listen on public IP addresses. If you would like to access your databases remotely using a graphical tool, please follow one of these guides: -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) ## More Information diff --git a/docs/guides/databases/postgresql/fedora-13/index.md b/docs/guides/databases/postgresql/fedora-13/index.md index 30d5a6890cb..0d742bb4b14 100644 --- a/docs/guides/databases/postgresql/fedora-13/index.md +++ b/docs/guides/databases/postgresql/fedora-13/index.md @@ -147,8 +147,8 @@ You will be prompted to enter the password for the `alison` user and given `psql PostgreSQL listens for connections on localhost, and it is not advised to reconfigure it to listen on public IP addresses. If you would like to access your databases remotely using a graphical tool, please follow one of these guides: -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) ## More Information diff --git a/docs/guides/databases/postgresql/fedora-14/index.md b/docs/guides/databases/postgresql/fedora-14/index.md index 470ab782c97..c5c19ff396e 100644 --- a/docs/guides/databases/postgresql/fedora-14/index.md +++ b/docs/guides/databases/postgresql/fedora-14/index.md @@ -156,8 +156,8 @@ You will be prompted to enter the password for the `alison` user and given `psql PostgreSQL listens for connections on localhost, and it is not advised to reconfigure it to listen on public IP addresses. If you would like to access your databases remotely using a graphical tool, please follow one of these guides: -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) ## More Information diff --git a/docs/guides/databases/postgresql/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/index.md b/docs/guides/databases/postgresql/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/index.md index c8976e5c402..17bf5688012 100644 --- a/docs/guides/databases/postgresql/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/index.md +++ b/docs/guides/databases/postgresql/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/index.md @@ -18,7 +18,7 @@ tags: ["database","postgresql"] ![How to Access PostgreSQL Database Remotely Using pgAdmin on Windows](how-to-access-postgresql-database-remotely-using-pgpmyadmin-on-windows-smg.jpg) -PgAdmin is a free, open-source PostgreSQL database administration GUI for Microsoft Windows, Mac OS X, and Linux systems. It offers database server information retrieval, development, testing, and ongoing maintenance. This guide will help you install pgAdmin on Windows, providing secure, remote access to PostgreSQL databases. It is assumed that you have already installed PostgreSQL on your Linode in accordance with our [PostgreSQL installation guides](/cloud/guides/databases/postgresql/). +PgAdmin is a free, open-source PostgreSQL database administration GUI for Microsoft Windows, Mac OS X, and Linux systems. It offers database server information retrieval, development, testing, and ongoing maintenance. This guide will help you install pgAdmin on Windows, providing secure, remote access to PostgreSQL databases. It is assumed that you have already installed PostgreSQL on your Linode in accordance with our [PostgreSQL installation guides](/cloud/guides/databases/postgresql). ## Install pgAdmin diff --git a/docs/guides/databases/postgresql/how-to-install-postgresql-on-ubuntu-16-04/index.md b/docs/guides/databases/postgresql/how-to-install-postgresql-on-ubuntu-16-04/index.md index b35340f7004..107f61e3317 100644 --- a/docs/guides/databases/postgresql/how-to-install-postgresql-on-ubuntu-16-04/index.md +++ b/docs/guides/databases/postgresql/how-to-install-postgresql-on-ubuntu-16-04/index.md @@ -33,7 +33,7 @@ The [PostgreSQL](https://www.postgresql.org/) (also known as "Postgres") relatio 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with sudo. If you’re not familiar with the sudo command, visit the [Users and Groups guide](/cloud/guides/linux-users-and-groups/) for more information. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with sudo. If you’re not familiar with the sudo command, visit the [Users and Groups guide](/cloud/guides/linux-users-and-groups) for more information. {{< /note >}} ## Installing PostgreSQL On Ubuntu 16.04 @@ -60,7 +60,7 @@ The postgres user should not be used for other purposes (e.g. connecting to othe psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'newpassword';" {{< note >}} -This user is distinct from the postgres Linux user. The Linux user is used to access the database, and the PostgreSQL user is used to perform administrative tasks on the databases. The password set in this step will be used to connect to the database via the network. Peer authentication will be used by default for local connections. See the [Secure Local PostgreSQL Access section](/cloud/guides/how-to-install-postgresql-on-ubuntu-16-04/#secure-local-postgresql-access) for information about changing this setting. +This user is distinct from the postgres Linux user. The Linux user is used to access the database, and the PostgreSQL user is used to perform administrative tasks on the databases. The password set in this step will be used to connect to the database via the network. Peer authentication will be used by default for local connections. See the [Secure Local PostgreSQL Access section](/cloud/guides/how-to-install-postgresql-on-ubuntu-16-04#secure-local-postgresql-access) for information about changing this setting. {{< /note >}} ### Create a PostgreSQL Database @@ -81,7 +81,7 @@ mytestdb=# ### Create Tables -This section contains examples that create a test database with an employee’s first and last name, assigning each a unique key. When creating the tables, you may specify as many parameters (columns) as you need and name them appropriately. Run the commands in this section from the PostgreSQL shell, opened in Step 2 of the [Create a Database](/cloud/guides/how-to-install-postgresql-on-ubuntu-16-04/#create-a-postgresql-database) section. +This section contains examples that create a test database with an employee’s first and last name, assigning each a unique key. When creating the tables, you may specify as many parameters (columns) as you need and name them appropriately. Run the commands in this section from the PostgreSQL shell, opened in Step 2 of the [Create a Database](/cloud/guides/how-to-install-postgresql-on-ubuntu-16-04#create-a-postgresql-database) section. 1. Create a table called “employees” in the test database: @@ -257,5 +257,5 @@ local all all peer ## Secure Remote PostgreSQL Access PostgreSQL listens for connections on localhost and it is not advised to reconfigure it to listen on public IP addresses. If you would like to access your databases remotely using a graphical tool, please follow one of these guides: -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) diff --git a/docs/guides/databases/postgresql/how-to-install-postgresql-relational-databases-on-centos-7/index.md b/docs/guides/databases/postgresql/how-to-install-postgresql-relational-databases-on-centos-7/index.md index 30a521029d2..3b1fed081d2 100644 --- a/docs/guides/databases/postgresql/how-to-install-postgresql-relational-databases-on-centos-7/index.md +++ b/docs/guides/databases/postgresql/how-to-install-postgresql-relational-databases-on-centos-7/index.md @@ -34,7 +34,7 @@ The [PostgreSQL](http://www.postgresql.org/) relational database system is a pow sudo yum update {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, visit the [Users and Groups guide](/cloud/guides/linux-users-and-groups/) for more information. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, visit the [Users and Groups guide](/cloud/guides/linux-users-and-groups) for more information. {{< /note >}} ## Install PostgreSQL @@ -109,7 +109,7 @@ The `postgres` user should not be used for other purposes (e.g., connecting to o Note that this user is distinct from the `postgres` Linux user. The Linux user is used to access the database, and the PostgreSQL user is used to perform administrative tasks on the databases. - The password set in this step will be used to connect to the database via the network. Peer authentication will be used by default for local connections. See the [Secure Local PostgreSQL Access section](/cloud/guides/how-to-install-postgresql-relational-databases-on-centos-7/#secure-local-access) for information about changing this setting. + The password set in this step will be used to connect to the database via the network. Peer authentication will be used by default for local connections. See the [Secure Local PostgreSQL Access section](/cloud/guides/how-to-install-postgresql-relational-databases-on-centos-7#secure-local-access) for information about changing this setting. ### Access the PostgreSQL Shell @@ -474,5 +474,5 @@ If you installed PostgreSQL from the [Postgres repositories](#install-from-the-p PostgreSQL listens for connections on `localhost` by default, and it is not advised to reconfigure it to listen on public IP addresses. If you wish to make PostgreSQL externally accessible, it's recommended that you follow the Postgres documentation for [using SSL](https://www.postgresql.org/docs/9.2/static/ssl-tcp.html) to secure your remote connections. Alternatively, you could connect to PostgreSQL over an [SSH tunnel](https://www.postgresql.org/docs/9.2/static/ssh-tunnels.html). To access your databases remotely using a graphical tool, please follow one of these guides: -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) diff --git a/docs/guides/databases/postgresql/how-to-install-use-postgresql-ubuntu-20-04/index.md b/docs/guides/databases/postgresql/how-to-install-use-postgresql-ubuntu-20-04/index.md index 8d0f1c19cf1..7c329621f2a 100644 --- a/docs/guides/databases/postgresql/how-to-install-use-postgresql-ubuntu-20-04/index.md +++ b/docs/guides/databases/postgresql/how-to-install-use-postgresql-ubuntu-20-04/index.md @@ -28,7 +28,7 @@ This guide provides an introduction to [*PostgreSQL*](https://www.postgresql.org 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Advantages and Disadvantages of PostgreSQL @@ -454,8 +454,8 @@ testuser | Create DB | {testgr Linode does not recommend opening up PostgreSQL to listen for connections on public IP addresses because this poses a security risk. If you want to access PostgreSQL remotely, you can use a graphical user interface called pgAdmin. See one of the following Linode guides to pgAdmin for more information: -* [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -* [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +* [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +* [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) ## Learning More About PostgreSQL diff --git a/docs/guides/databases/postgresql/manage-replication-failover-on-postgresql-cluster-using-repmgr/index.md b/docs/guides/databases/postgresql/manage-replication-failover-on-postgresql-cluster-using-repmgr/index.md index bcb1ef3944f..0d3d5c299d9 100644 --- a/docs/guides/databases/postgresql/manage-replication-failover-on-postgresql-cluster-using-repmgr/index.md +++ b/docs/guides/databases/postgresql/manage-replication-failover-on-postgresql-cluster-using-repmgr/index.md @@ -78,7 +78,7 @@ A drawback of repmgr is that it cannot recover resources or restore the state of 1. This guide requires at least two compute instances. The examples here only require Shared CPU instances with 4GB of RAM, to accommodate larger data sets, use High Memory instances. One system must be designated as the primary node and the other as a standby or backup node. Additional standby systems can be added depending upon business requirements. All servers within the same HA cluster must use the same release of the same Linux distribution. The steps that follow are geared towards Ubuntu 22.04 LTS users, but are generally applicable for earlier releases and other Linux distributions. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## An Overview of the PostgreSQL and repmgr HA Solution @@ -109,14 +109,14 @@ The complete list of steps required to provision PostgreSQL and repmgr follows t After the configuration process, it is important to verify the cluster status. Add some data to the primary database instance and ensure it is replicated to the standby. It is also possible to test a failover process, but the failed primary must be recovered manually afterwards. {{< note >}} -An alternative to manual installation is the [Akamai Quick Deploy Apps PostgreSQL cluster application](/cloud/marketplace-docs/guides/postgresql-cluster/). The Quick Deploy Application uses repmgr to manage a multi-node HA PostgreSQL cluster. While it's easy to provision this solution using the Akamai Cloud Compute Dashboard, you cannot choose the cluster size or customize the configuration. The Quick Deploy Application is a reasonable option for a smaller organization looking for ease of use. It is currently only supported on Ubuntu 22.04 LTS (with all regions and plan types). +An alternative to manual installation is the [Akamai Quick Deploy Apps PostgreSQL cluster application](/cloud/marketplace-docs/guides/postgresql-cluster). The Quick Deploy Application uses repmgr to manage a multi-node HA PostgreSQL cluster. While it's easy to provision this solution using the Akamai Cloud Compute Dashboard, you cannot choose the cluster size or customize the configuration. The Quick Deploy Application is a reasonable option for a smaller organization looking for ease of use. It is currently only supported on Ubuntu 22.04 LTS (with all regions and plan types). {{< /note >}} ## How to Install PostgreSQL and repmgr ### How to Install PostgreSQL -PostgreSQL can be installed using a variety of methods, but the easiest approach is to use `apt` to install the PostgreSQL package. For more information on installing and configuring PostgreSQL, including instructions on using the database, see the [How to install PostgreSQL guide](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04/). The [PostgreSQL downloads page](https://www.postgresql.org/download/) has information on other install options, including how to build PostgreSQL from source code. +PostgreSQL can be installed using a variety of methods, but the easiest approach is to use `apt` to install the PostgreSQL package. For more information on installing and configuring PostgreSQL, including instructions on using the database, see the [How to install PostgreSQL guide](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04). The [PostgreSQL downloads page](https://www.postgresql.org/download/) has information on other install options, including how to build PostgreSQL from source code. {{< note >}} Users can choose to install PostgreSQL either from the default Ubuntu packages or from the PostgreSQL apt repository. Installing the PostgreSQL repository allows more control over which release to use. This guide demonstrates how to install the official PostgreSQL repository, which guarantees access to the current release. @@ -262,7 +262,7 @@ PostgreSQL creates a default `postgres` user account at installation time. This 1. Type `exit` again to log out as the `postgres` user and return to your Linux user account with `sudo` access. -1. **Optional**: By default, local users can log into PostgreSQL without a password using `peer` authentication. For multi-user environments, this can create a security risk. To enforce password authentication for local users (other than the `postgres` account) edit the `pg_hba.conf` file. Change the `METHOD` attribute for `local` accounts from `peer` to `md5`. See the [How to install PostgreSQL guide](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04/) for detailed instructions. +1. **Optional**: By default, local users can log into PostgreSQL without a password using `peer` authentication. For multi-user environments, this can create a security risk. To enforce password authentication for local users (other than the `postgres` account) edit the `pg_hba.conf` file. Change the `METHOD` attribute for `local` accounts from `peer` to `md5`. See the [How to install PostgreSQL guide](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04) for detailed instructions. ### How to Install repmgr @@ -759,7 +759,7 @@ To confirm the HA cluster is working, follow these steps. ``` {{< note >}} - For an explanation of the most common `psql` commands, see the [How to Install and Use PostgreSQL guide](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04/). + For an explanation of the most common `psql` commands, see the [How to Install and Use PostgreSQL guide](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04). {{< /note >}} 1. Ensure the table is successfully created: diff --git a/docs/guides/databases/postgresql/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/index.md b/docs/guides/databases/postgresql/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/index.md index 90b92746ebf..38d0e852419 100644 --- a/docs/guides/databases/postgresql/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/index.md +++ b/docs/guides/databases/postgresql/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/index.md @@ -26,10 +26,10 @@ pgAdmin is a free, open-source PostgreSQL database administration GUI for Micros 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install PostgreSQL on your Linode using one of our [PostgreSQL installation guides](/cloud/guides/databases/postgresql/). +1. Install PostgreSQL on your Linode using one of our [PostgreSQL installation guides](/cloud/guides/databases/postgresql). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install pgAdmin diff --git a/docs/guides/databases/postgresql/ubuntu-10-04-lucid/index.md b/docs/guides/databases/postgresql/ubuntu-10-04-lucid/index.md index eaa6b5ffbb7..f65631b1e5b 100644 --- a/docs/guides/databases/postgresql/ubuntu-10-04-lucid/index.md +++ b/docs/guides/databases/postgresql/ubuntu-10-04-lucid/index.md @@ -160,8 +160,8 @@ You will be prompted to enter the password for the `alison` user and given `psql PostgreSQL listens for connections on localhost, and it is not advised to reconfigure it to listen on public IP addresses. If you would like to access your databases remotely using a graphical tool, please follow one of these guides: -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) ## More Information diff --git a/docs/guides/databases/postgresql/ubuntu-10-10-maverick/index.md b/docs/guides/databases/postgresql/ubuntu-10-10-maverick/index.md index 0b3a6bc27df..f2ad6f3d807 100644 --- a/docs/guides/databases/postgresql/ubuntu-10-10-maverick/index.md +++ b/docs/guides/databases/postgresql/ubuntu-10-10-maverick/index.md @@ -160,8 +160,8 @@ You will be prompted to enter the password for the `alison` user and given `psql PostgreSQL listens for connections on localhost, and it is not advised to reconfigure it to listen on public IP addresses. If you would like to access your databases remotely using a graphical tool, please follow one of these guides: -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) ## More Information diff --git a/docs/guides/databases/postgresql/ubuntu-9-10-karmic/index.md b/docs/guides/databases/postgresql/ubuntu-9-10-karmic/index.md index e7055822152..b0e13cef8a1 100644 --- a/docs/guides/databases/postgresql/ubuntu-9-10-karmic/index.md +++ b/docs/guides/databases/postgresql/ubuntu-9-10-karmic/index.md @@ -161,8 +161,8 @@ You will be prompted to enter the password for the `alison` user and given `psql PostgreSQL listens for connections on localhost, and it is not advised to reconfigure it to listen on public IP addresses. If you would like to access your databases remotely using a graphical tool, please follow one of these guides: -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) ## More Information diff --git a/docs/guides/databases/postgresql/use-postgresql-relational-databases-on-ubuntu-12-04/index.md b/docs/guides/databases/postgresql/use-postgresql-relational-databases-on-ubuntu-12-04/index.md index 6e6b06c82d2..507775ba623 100644 --- a/docs/guides/databases/postgresql/use-postgresql-relational-databases-on-ubuntu-12-04/index.md +++ b/docs/guides/databases/postgresql/use-postgresql-relational-databases-on-ubuntu-12-04/index.md @@ -162,5 +162,5 @@ You will be prompted to enter the password for the `alison` user and given `psql PostgreSQL listens for connections on localhost, and it is not advised to reconfigure it to listen on public IP addresses. If you would like to access your databases remotely using a graphical tool, please follow one of these guides: -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/) -- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Windows](/cloud/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows) +- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) diff --git a/docs/guides/databases/redis/hashes-in-redis-databases/index.md b/docs/guides/databases/redis/hashes-in-redis-databases/index.md index 69bb9f1ae33..50758d50978 100644 --- a/docs/guides/databases/redis/hashes-in-redis-databases/index.md +++ b/docs/guides/databases/redis/hashes-in-redis-databases/index.md @@ -33,15 +33,15 @@ Redis, the open-source NoSQL database, is frequently used for caching, messaging sudo dnf upgrade -1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu/) guide to installing a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. +1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu) guide to installing a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. {{< note >}} -The steps in this guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Are Hashes in Redis? -Redis Hashes are maps of field and value pairs. They're similar to what you would expect if you have worked with hashes in programming languages like [Python](/cloud/guides/development/python/) and [Ruby](/cloud/guides/development/ror/). +Redis Hashes are maps of field and value pairs. They're similar to what you would expect if you have worked with hashes in programming languages like [Python](/cloud/guides/development/python) and [Ruby](/cloud/guides/development/ror). With hashes, you can have a single Redis entry (called a "key") with numerous field-value pairs. This essentially allows you to associate properties with a given item in Redis. @@ -178,4 +178,4 @@ You can also delete an entire hash using the `DEL` command. ## Conclusion -With this tutorial, you should be prepared to start making use of hashes in your Redis databases. These can significantly improve many storage tasks, especially object storage for web application caching. Check out other [Redis guides and tutorials](/cloud/guides/databases/redis/). They cover topics like, [Using Sorted Sets in Redis Databases](/cloud/guides/using-sorted-sets-in-redis-database/) and [Using Lists and Sets in Redis Databases](/cloud/guides/using-lists-and-sets-in-redis-database/). +With this tutorial, you should be prepared to start making use of hashes in your Redis databases. These can significantly improve many storage tasks, especially object storage for web application caching. Check out other [Redis guides and tutorials](/cloud/guides/databases/redis). They cover topics like, [Using Sorted Sets in Redis Databases](/cloud/guides/using-sorted-sets-in-redis-database) and [Using Lists and Sets in Redis Databases](/cloud/guides/using-lists-and-sets-in-redis-database). diff --git a/docs/guides/databases/redis/how-to-install-a-redis-server-on-ubuntu-or-debian8/index.md b/docs/guides/databases/redis/how-to-install-a-redis-server-on-ubuntu-or-debian8/index.md index 85b140a6f62..31e72f03ace 100644 --- a/docs/guides/databases/redis/how-to-install-a-redis-server-on-ubuntu-or-debian8/index.md +++ b/docs/guides/databases/redis/how-to-install-a-redis-server-on-ubuntu-or-debian8/index.md @@ -41,7 +41,7 @@ Since Redis serves all data from memory, we recommend using a [High Memory Linod sudo apt-get install software-properties-common {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. To utilize the replication steps in the second half of this guide, you will need at least two Linodes. {{< /note >}} @@ -211,7 +211,7 @@ Your master/slave replication setup is working properly. Since Redis is designed to work in trusted environments and with trusted clients, you should take care of controlling access to the Redis instance. Security methods include: -- Setting up a firewall using [iptables](/cloud/guides/control-network-traffic-with-iptables/). +- Setting up a firewall using [iptables](/cloud/guides/control-network-traffic-with-iptables). - Encrypting Redis traffic, using an SSH tunnel or the methods described in the [Redis Security documentation](http://redis.io/topics/security). diff --git a/docs/guides/databases/redis/install-and-configure-redis-on-centos-7/index.md b/docs/guides/databases/redis/install-and-configure-redis-on-centos-7/index.md index 7053c48178f..b5616aafc1e 100644 --- a/docs/guides/databases/redis/install-and-configure-redis-on-centos-7/index.md +++ b/docs/guides/databases/redis/install-and-configure-redis-on-centos-7/index.md @@ -35,9 +35,9 @@ This document provides both instructions for deploying the Redis server, and an 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. -To utilize the [replication](/cloud/guides/install-and-configure-redis-on-centos-7/#prepare-your-linodes) steps in this guide, you will need at least two Linodes. +To utilize the [replication](/cloud/guides/install-and-configure-redis-on-centos-7#prepare-your-linodes) steps in this guide, you will need at least two Linodes. {{< /note >}} ## Install Redis diff --git a/docs/guides/databases/redis/install-redis-ubuntu/index.md b/docs/guides/databases/redis/install-redis-ubuntu/index.md index 265da2c0ff8..a2b74607848 100644 --- a/docs/guides/databases/redis/install-redis-ubuntu/index.md +++ b/docs/guides/databases/redis/install-redis-ubuntu/index.md @@ -30,7 +30,7 @@ This guide explains how to install and perform the basic configuration of [*Redi 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Redis Advantages and Disadvantages diff --git a/docs/guides/databases/redis/lua-scripting-for-redis/index.md b/docs/guides/databases/redis/lua-scripting-for-redis/index.md index a9bd97c380d..28f2f3e38cd 100644 --- a/docs/guides/databases/redis/lua-scripting-for-redis/index.md +++ b/docs/guides/databases/redis/lua-scripting-for-redis/index.md @@ -25,10 +25,10 @@ In this tutorial learn what Redis' Lua scripting has to offer and how you can st 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Follow the instructions in our [How to Install a Redis Server](/cloud/guides/how-to-install-a-redis-server-on-ubuntu-or-debian8/) guide to install a Redis server and command line interface (CLI). Be sure to use the drop-down menu at the top of the page to select your Linux distribution and view the appropriate steps. +1. Follow the instructions in our [How to Install a Redis Server](/cloud/guides/how-to-install-a-redis-server-on-ubuntu-or-debian8) guide to install a Redis server and command line interface (CLI). Be sure to use the drop-down menu at the top of the page to select your Linux distribution and view the appropriate steps. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Why Use Lua Scripting on a Redis Server? @@ -190,4 +190,4 @@ The following list shows the other `SCRIPT` commands used to manage scripts in c You are now prepared to step into the realm of Lua scripting on your Redis server. This tutorial covers everything you need to get started, from writing scripts to deploying and managing them. -Want to continue learning about Redis to get the most effective use out of your server? We have plenty of [guides on using Redis](/cloud/guides/databases/redis/) that can help you navigate Redis data types, configurations, and more. \ No newline at end of file +Want to continue learning about Redis to get the most effective use out of your server? We have plenty of [guides on using Redis](/cloud/guides/databases/redis) that can help you navigate Redis data types, configurations, and more. \ No newline at end of file diff --git a/docs/guides/databases/redis/redis-client-side-caching/index.md b/docs/guides/databases/redis/redis-client-side-caching/index.md index 3d9da91890a..b5218546a96 100644 --- a/docs/guides/databases/redis/redis-client-side-caching/index.md +++ b/docs/guides/databases/redis/redis-client-side-caching/index.md @@ -34,10 +34,10 @@ This tutorial explains the concepts behind Redis's server-assisted client-side c sudo dnf upgrade -1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu/) guide to installing a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. +1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu) guide to installing a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. {{< note >}} -The steps in this guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Client-Side Caching? @@ -101,7 +101,7 @@ Below, you can see the steps used for setting up your clients with each of these #### Dedicated Client for Monitoring Notifications -1. Create a Redis client by making an authenticated connection to the Redis server. See our guide on [How to Connect to Redis and Use The Redis Database](/cloud/guides/redis-getting-started/) for instructions on doing so. +1. Create a Redis client by making an authenticated connection to the Redis server. See our guide on [How to Connect to Redis and Use The Redis Database](/cloud/guides/redis-getting-started) for instructions on doing so. 1. Determine the client's ID using the following command. This ID is used in setting up client tracking in one of the subsequent steps, so keep note of it. This and subsequent examples use `15` for the notification client's ID. @@ -169,7 +169,7 @@ Redis clients must be version 6 or later to use RESP3. Check your Redis version For Redis versions less than 6, see the previous section for [creating a dedicated client for invalidation messages](#dedicated-client-for-monitoring-notifications). {{< /note >}} -1. Create a Redis client by making an authenticated connection to the Redis server. See our guide on [How to Connect to Redis and Use The Redis Database](/cloud/guides/redis-getting-started/) for instructions on doing so. +1. Create a Redis client by making an authenticated connection to the Redis server. See our guide on [How to Connect to Redis and Use The Redis Database](/cloud/guides/redis-getting-started) for instructions on doing so. 1. Switch the client to RESP3 using the following command: @@ -294,4 +294,4 @@ However, the client would receive an invalidation notice if another client execu This tutorial has covered what you need to know to get started using Redis for server-assisted client-side caching. You learned everything from setting up client tracking to customizing it to behave the way your web application needs. -You can continue to learn about Redis and how to get the most out of your Redis databases through our other guides in this series. These guides cover everything from [connecting to a remote Redis server](/cloud/guides/redis-getting-started/) to working with the [hash data type in Redis](/cloud/guides/hashes-in-redis-databases/). +You can continue to learn about Redis and how to get the most out of your Redis databases through our other guides in this series. These guides cover everything from [connecting to a remote Redis server](/cloud/guides/redis-getting-started) to working with the [hash data type in Redis](/cloud/guides/hashes-in-redis-databases). diff --git a/docs/guides/databases/redis/redis-getting-started/index.md b/docs/guides/databases/redis/redis-getting-started/index.md index dead2b8f17f..25a75224ec4 100644 --- a/docs/guides/databases/redis/redis-getting-started/index.md +++ b/docs/guides/databases/redis/redis-getting-started/index.md @@ -24,14 +24,14 @@ This tutorial gets you started using Redis. It explains how to connect to a Redi 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Follow the instructions in our [How to Install and Configure Redis on Ubuntu 20.04](/cloud/guides/install-redis-ubuntu/) guide to install a Redis server and command-line interface (CLI). Be sure to use the drop down menu at the top of that page to select your Linux distribution and get the appropriate steps. +1. Follow the instructions in our [How to Install and Configure Redis on Ubuntu 20.04](/cloud/guides/install-redis-ubuntu) guide to install a Redis server and command-line interface (CLI). Be sure to use the drop down menu at the top of that page to select your Linux distribution and get the appropriate steps. 1. Replace `/etc/redis/redis.conf` throughout this guide with the actual location of your Redis server's configuration file. Generally, on **Debian** and **Ubuntu**, the location defaults to the above. On **AlmaLinux**, **CentOS**, and **Fedora**, the default location is usually `/etc/redis.conf`. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Connect to Your Redis Server @@ -84,12 +84,12 @@ To connect to your Redis server remotely, you first need to open the appropriate 1. Open port `6379` on your system's firewall. - - On **Debian** and **Ubuntu**, you can do so using UFW. See our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide for more information on using UFW. Typically, you can open the port using the following commands: + - On **Debian** and **Ubuntu**, you can do so using UFW. See our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide for more information on using UFW. Typically, you can open the port using the following commands: sudo ufw allow 6379 sudo ufw reload - - On **CentOS** and **Fedora**, you can use FirewallD. Take a look at our guide [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) for more information on using FirewallD. You can usually open the port using the following commands: + - On **CentOS** and **Fedora**, you can use FirewallD. Take a look at our guide [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos) for more information on using FirewallD. You can usually open the port using the following commands: sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent sudo firewall-cmd --reload @@ -166,7 +166,7 @@ The Redis CLI gives you two options for moving data between Redis databases. - You can migrate keys from a database on one Redis server to another using the `MIGRATE` command. It takes the address of the destination server, its port number, the key name, and a number of milliseconds for a timeout. - Migration requires that you set up the remote server for remote access, as described in the [Connect to a Remote Redis Server](/cloud/guides/redis-getting-started/#connect-to-a-remote-redis-server) section above. + Migration requires that you set up the remote server for remote access, as described in the [Connect to a Remote Redis Server](/cloud/guides/redis-getting-started#connect-to-a-remote-redis-server) section above. The example below migrates a key called `key_1` from the current database to a remote database at `192.0.2.0`: diff --git a/docs/guides/databases/redis/redis-on-centos-5/index.md b/docs/guides/databases/redis/redis-on-centos-5/index.md index b5091384b79..3e7194a1105 100644 --- a/docs/guides/databases/redis/redis-on-centos-5/index.md +++ b/docs/guides/databases/redis/redis-on-centos-5/index.md @@ -25,7 +25,7 @@ deprecated: true Redis a high performance persistent key-value store, and is intended as a datastore solution for applications where performance and flexibility are more critical than persistence and absolute data integrity. As such, Redis may be considered a participant in the "NoSQL" movement and is an attractive tool for developers of some kinds of applications. This document provides both instructions for deploying the Redis server and an overview of best practices for maintaining Redis instances. -Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Redis @@ -166,7 +166,7 @@ After applying these configuration changes, restart Redis. All modifications to /opt/redis/redis-cli bgrewriteaof -You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron/), to ensure that the transaction journal doesn't expand exponentially. The `bgrewriteaof` is non-destructive and can fail gracefully. +You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron), to ensure that the transaction journal doesn't expand exponentially. The `bgrewriteaof` is non-destructive and can fail gracefully. ## Distributed Data Stores with Master Slave Replication @@ -186,4 +186,4 @@ When you restart the slave Redis instance, it will attempt to synchronize its da The traffic between slave instances and the master instance is not encrypted and does not require authentication in the default configuration. Authentication is available, and can be configured according to the documentation in the `/opt/redis/redis.conf.default` file; however, this is not the default method for securing Redis instances. -The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables/) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. +The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. diff --git a/docs/guides/databases/redis/redis-on-debian-5-lenny/index.md b/docs/guides/databases/redis/redis-on-debian-5-lenny/index.md index 7ccd752fda2..f7682795dfd 100644 --- a/docs/guides/databases/redis/redis-on-debian-5-lenny/index.md +++ b/docs/guides/databases/redis/redis-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true Redis is a high performance persistent key-value store, and is intended as a datastore solution for applications where performance and flexibility are more critical than persistence and absolute data integrity. As such, Redis may be considered a participant in the "NoSQL" movement and is an attractive tool for developers of some kinds of applications. This document provides both instructions for deploying the Redis server and an overview of best practices for maintaining Redis instances. -Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Redis @@ -162,7 +162,7 @@ After applying these configuration changes, restart Redis. All modifications to /opt/redis/redis-cli bgrewriteaof -You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron/), to ensure that the transaction journal doesn't expand exponentially. `bgrewriteaof` is non-destructive and can fail gracefully. +You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron), to ensure that the transaction journal doesn't expand exponentially. `bgrewriteaof` is non-destructive and can fail gracefully. ## Distributed Data Stores with Master Slave Replication @@ -182,7 +182,7 @@ When you restart the slave Redis instance, it will attempt to synchronize its da The traffic between slave instances and the master instance is not encrypted and does not require authentication in the default configuration. Authentication is available, and can be configured according to the documentation in the `/opt/redis/redis.conf.default` file; however, this is not the default method for securing Redis instances. -The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables/) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. +The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. ## More Information diff --git a/docs/guides/databases/redis/redis-on-debian-6-squeeze/index.md b/docs/guides/databases/redis/redis-on-debian-6-squeeze/index.md index 5365f922b71..22146a727b1 100644 --- a/docs/guides/databases/redis/redis-on-debian-6-squeeze/index.md +++ b/docs/guides/databases/redis/redis-on-debian-6-squeeze/index.md @@ -20,7 +20,7 @@ deprecated: true Redis is a high performance persistent key-value store, and is intended as a datastore solution for applications where performance and flexibility are more critical than persistence and absolute data integrity. As such, Redis may be considered a participant in the "NoSQL" movement and is an attractive tool for developers of some kinds of applications. This document provides both instructions for deploying the Redis server and an overview of best practices for maintaining Redis instances. -Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Redis @@ -162,7 +162,7 @@ After applying these configuration changes, restart Redis. All modifications to /opt/redis/redis-cli bgrewriteaof -You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron/), to ensure that the transaction journal doesn't expand exponentially. `bgrewriteaof` is non-destructive and can fail gracefully. +You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron), to ensure that the transaction journal doesn't expand exponentially. `bgrewriteaof` is non-destructive and can fail gracefully. ## Distributed Data Stores with Master Slave Replication @@ -182,7 +182,7 @@ When you restart the slave Redis instance, it will attempt to synchronize its da The traffic between slave instances and the master instance is not encrypted and does not require authentication in the default configuration. Authentication is available, and can be configured according to the documentation in the `/opt/redis/redis.conf.default` file; however, this is not the default method for securing Redis instances. -The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables/) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. +The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. ## More Information diff --git a/docs/guides/databases/redis/redis-on-fedora-13/index.md b/docs/guides/databases/redis/redis-on-fedora-13/index.md index 73fc38799c2..90a23f10a33 100644 --- a/docs/guides/databases/redis/redis-on-fedora-13/index.md +++ b/docs/guides/databases/redis/redis-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true Redis is a high performance persistent key-value store, and is intended as a datastore solution for applications where performance and flexibility are more critical than persistence and absolute data integrity. As such, Redis may be considered a participant in the "NoSQL" movement and is an attractive tool for developers of some kinds of applications. This document provides both instructions for deploying the Redis server and an overview of best practices for maintaining Redis instances. -Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Redis @@ -162,7 +162,7 @@ After applying these configuration changes, restart Redis. All modifications to /opt/redis/redis-cli bgrewriteaof -You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron/), to ensure that the transaction journal doesn't expand exponentially. The `bgrewriteaof` is non-destructive and can fail gracefully. +You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron), to ensure that the transaction journal doesn't expand exponentially. The `bgrewriteaof` is non-destructive and can fail gracefully. ## Distributed Data Stores with Master Slave Replication @@ -182,7 +182,7 @@ When you restart the slave Redis instance, it will attempt to synchronize its da The traffic between slave instances and the master instance is not encrypted and does not require authentication in the default configuration. Authentication is available, and can be configured according to the documentation in the `/opt/redis/redis.conf.default` file; however, this is not the default method for securing Redis instances. -The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables/) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. +The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. ## More Information diff --git a/docs/guides/databases/redis/redis-on-fedora-14/index.md b/docs/guides/databases/redis/redis-on-fedora-14/index.md index 72a1a702e61..b5b2fdc51f7 100644 --- a/docs/guides/databases/redis/redis-on-fedora-14/index.md +++ b/docs/guides/databases/redis/redis-on-fedora-14/index.md @@ -160,7 +160,7 @@ After applying these configuration changes, restart Redis. All modifications to /opt/redis/redis-cli bgrewriteaof -You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron/), to ensure that the transaction journal doesn't expand exponentially. The `bgrewriteaof` is non-destructive and can fail gracefully. +You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron), to ensure that the transaction journal doesn't expand exponentially. The `bgrewriteaof` is non-destructive and can fail gracefully. ## Distributed Data Stores with Master Slave Replication @@ -180,7 +180,7 @@ When you restart the slave Redis instance, it will attempt to synchronize its da The traffic between slave instances and the master instance is not encrypted and does not require authentication in the default configuration. Authentication is available, and can be configured according to the documentation in the `/opt/redis/redis.conf.default` file; however, this is not the default method for securing Redis instances. -The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables/) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. +The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. ## More Information diff --git a/docs/guides/databases/redis/redis-on-ubuntu-10-04-lucid/index.md b/docs/guides/databases/redis/redis-on-ubuntu-10-04-lucid/index.md index 755787ec34b..46582cbeb1f 100644 --- a/docs/guides/databases/redis/redis-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/databases/redis/redis-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true Redis is a high performance persistent key-value store, and is intended as a datastore solution for applications where performance and flexibility are more critical than persistence and absolute data integrity. As such, Redis may be considered a participant in the "NoSQL" movement and is an attractive tool for developers of some kinds of applications. This document provides both instructions for deploying the Redis server and an overview of best practices for maintaining Redis instances. -Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux systems administration, we recommend that you read the guides in our [using Linux](/cloud/guides/introduction-to-linux-concepts/) series, particularly the [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux systems administration, we recommend that you read the guides in our [using Linux](/cloud/guides/introduction-to-linux-concepts) series, particularly the [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Redis @@ -162,7 +162,7 @@ After applying these configuration changes, restart Redis. All modifications to /opt/redis/redis-cli bgrewriteaof -You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron/), to ensure that the transaction journal doesn't expand exponentially. `bgrewriteaof` is non-destructive and can fail gracefully. +You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron), to ensure that the transaction journal doesn't expand exponentially. `bgrewriteaof` is non-destructive and can fail gracefully. ## Distributed Data Stores with Master Slave Replication @@ -182,7 +182,7 @@ When you restart the slave Redis instance, it will attempt to synchronize its da The traffic between slave instances and the master instance is not encrypted and does not require authentication in the default configuration. Authentication is available, and can be configured according to the documentation in the `/opt/redis/redis.conf.default` file; however, this is not the default method for securing Redis instances. -The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables/) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. +The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. ## More Information diff --git a/docs/guides/databases/redis/redis-on-ubuntu-10-10-maverick/index.md b/docs/guides/databases/redis/redis-on-ubuntu-10-10-maverick/index.md index f85e1d312a4..c5b90a0fece 100644 --- a/docs/guides/databases/redis/redis-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/databases/redis/redis-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true Redis is a high performance persistent key-value store, and is intended as a datastore solution for applications where performance and flexibility are more critical than persistence and absolute data integrity. As such, Redis may be considered a participant in the "NoSQL" movement and is an attractive tool for developers of some kinds of applications. This document provides both instructions for deploying the Redis server on Ubuntu 10.10 (Maverick) and an overview of best practices for maintaining Redis instances. -It is assumed that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +It is assumed that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Redis @@ -211,7 +211,7 @@ After applying these configuration changes, restart Redis. All modifications to /opt/redis/redis-cli bgrewriteaof -You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron/), to ensure that the transaction journal doesn't grow too large. `bgrewriteaof` is non-destructive and can fail gracefully. +You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron), to ensure that the transaction journal doesn't grow too large. `bgrewriteaof` is non-destructive and can fail gracefully. ## Distributed Data Stores with Master Slave Replication @@ -230,7 +230,7 @@ When you restart the slave Redis instance, it will attempt to synchronize its da The traffic between slave instances and the master instance is not encrypted, and does not require authentication in the default configuration. Authentication is available, and can be configured according to the documentation in the `/opt/redis/redis.conf.default` file; however, this is not the default method for securing Redis instances. -The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables/) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. +The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. ## More Information diff --git a/docs/guides/databases/redis/redis-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/databases/redis/redis-on-ubuntu-12-04-precise-pangolin/index.md index 78f6045a8ce..8e3f2fb073a 100644 --- a/docs/guides/databases/redis/redis-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/databases/redis/redis-on-ubuntu-12-04-precise-pangolin/index.md @@ -24,7 +24,7 @@ deprecated: true Redis is a high performance persistent key-value store and is intended as a datastore solution for applications where performance and flexibility are more critical than persistence and absolute data integrity. As such, Redis may be considered a participant in the "NoSQL" movement and is an attractive tool for developers of some kinds of applications. This document provides both instructions for deploying the Redis server and an overview of best practices for maintaining Redis instances. -Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux systems administration, we recommend that you read the [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/) and the [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux systems administration, we recommend that you read the [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts) and the [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Redis @@ -118,7 +118,7 @@ All modifications to the data store will be logged. Every time Redis restarts, i This command should return `Background append only file rewriting started`. -You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron/), to ensure that the transaction journal doesn't expand exponentially. `bgrewriteaof` is non-destructive and can fail gracefully. +You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron), to ensure that the transaction journal doesn't expand exponentially. `bgrewriteaof` is non-destructive and can fail gracefully. ## Distributed Data Stores with Master Slave Replication @@ -138,4 +138,4 @@ When you restart the slave Redis instance, it will attempt to synchronize its da The traffic between slave instances and the master instance is not encrypted and does not require authentication in the default configuration. Authentication is available and can be configured according to the documentation in the `/etc/redis/redis.conf` file; however, this is not the default method for securing Redis instances. -The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables/) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to re-establish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. +The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to re-establish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. diff --git a/docs/guides/databases/redis/redis-on-ubuntu-9-10-karmic/index.md b/docs/guides/databases/redis/redis-on-ubuntu-9-10-karmic/index.md index 41b43f74c7a..47654fd5f75 100644 --- a/docs/guides/databases/redis/redis-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/databases/redis/redis-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true Redis is a high performance persistent key-value store, and is intended as a datastore solution for applications where performance and flexibility are more critical than persistence and absolute data integrity. As such, Redis may be considered a participant in the "NoSQL" movement and is an attractive tool for developers of some kinds of applications. This document provides both instructions for deploying the Redis server and an overview of best practices for maintaining Redis instances. -Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide for installing Redis, we assume that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Redis @@ -162,7 +162,7 @@ After applying these configuration changes, restart Redis. All modifications to /opt/redis/redis-cli bgrewriteaof -You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron/), to ensure that the transaction journal doesn't expand exponentially. `bgrewriteaof` is non-destructive and can fail gracefully. +You may wish to issue this command regularly, perhaps in a [cron job](/cloud/guides/schedule-tasks-with-cron), to ensure that the transaction journal doesn't expand exponentially. `bgrewriteaof` is non-destructive and can fail gracefully. ## Distributed Data Stores with Master Slave Replication @@ -182,7 +182,7 @@ When you restart the slave Redis instance, it will attempt to synchronize its da The traffic between slave instances and the master instance is not encrypted and does not require authentication in the default configuration. Authentication is available, and can be configured according to the documentation in the `/opt/redis/redis.conf.default` file; however, this is not the default method for securing Redis instances. -The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables/) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. +The preferred method for controlling access to Redis instances involves using [iptables](/cloud/guides/control-network-traffic-with-iptables) and possibly some sort of encryption such as an SSH tunnel to ensure that traffic is secure. Slaves will automatically attempt to reestablish a connection to the master node if the link fails in a number of situations. However, clusters cannot automatically promote members from slave status to master status; cluster management of this order must occur within your application. ## More Information diff --git a/docs/guides/databases/redis/redis-server-cli/index.md b/docs/guides/databases/redis/redis-server-cli/index.md index 360c9fb1cfb..452a663083d 100644 --- a/docs/guides/databases/redis/redis-server-cli/index.md +++ b/docs/guides/databases/redis/redis-server-cli/index.md @@ -31,10 +31,10 @@ Redis is an open-source NoSQL database boasting quick transactions and low laten sudo dnf upgrade -1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu/) guide to install a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and follow the appropriate steps. +1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu) guide to install a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and follow the appropriate steps. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How Redis Configurations Work @@ -48,7 +48,7 @@ Each setting in Redis is controlled using a configuration directive. A directive - A configuration keyword - One or more arguments for the configuration -The file below includes an example configuration directive. This example is taken from a configuration directive used in the first of our guides in this series on Redis — [Connecting to Redis and Using Redis Databases](/cloud/guides/redis-getting-started/): +The file below includes an example configuration directive. This example is taken from a configuration directive used in the first of our guides in this series on Redis — [Connecting to Redis and Using Redis Databases](/cloud/guides/redis-getting-started): {{< file "/etc/redis/redis.conf" >}} # [...] @@ -185,4 +185,4 @@ The command attempts to preserve, as much as is feasible, the original structure You now have the tools you need to start working with Redis configurations from the command line. As mentioned in this tutorial, these tools work exceptionally well when you want to test various settings on the fly. -To learn more about Redis and how to use Redis databases, be sure to read our other guides in this series. They cover everything from [connecting to a remote Redis server](/cloud/guides/redis-getting-started/) to [using sorted sets in Redis databases](/cloud/guides/using-sorted-sets-in-redis-database/). +To learn more about Redis and how to use Redis databases, be sure to read our other guides in this series. They cover everything from [connecting to a remote Redis server](/cloud/guides/redis-getting-started) to [using sorted sets in Redis databases](/cloud/guides/using-sorted-sets-in-redis-database). diff --git a/docs/guides/databases/redis/redis-transaction-blocks/index.md b/docs/guides/databases/redis/redis-transaction-blocks/index.md index 68abfdbd2d0..1c0c8929182 100644 --- a/docs/guides/databases/redis/redis-transaction-blocks/index.md +++ b/docs/guides/databases/redis/redis-transaction-blocks/index.md @@ -34,10 +34,10 @@ This guide walks you through using Redis's transaction blocks. Transaction block sudo dnf upgrade -1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu/) guide to installing a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. +1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu) guide to installing a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. {{< note >}} -The steps written in this guide are for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps written in this guide are for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Are Redis Transactions? @@ -119,7 +119,7 @@ When working with Redis transaction blocks, there are two kinds of errors that y (error) EXECABORT Transaction discarded because of previous errors. {{< /output >}} - For this reason, you should cancel any transaction blocks that encounter errors during queuing. See the next section — [How to Cancel a Transaction Block](/cloud/guides/redis-transaction-blocks/#how-to-cancel-a-transaction-block) — for instructions on how to do so. + For this reason, you should cancel any transaction blocks that encounter errors during queuing. See the next section — [How to Cancel a Transaction Block](/cloud/guides/redis-transaction-blocks#how-to-cancel-a-transaction-block) — for instructions on how to do so. - **Errors after the `EXEC` command**: @@ -166,4 +166,4 @@ As mentioned above, the ability to cancel an in-progress transaction becomes esp Redis transaction execute a collection of commands and ensure that the command execution is not interrupted by another client. This guide covered creating transaction blocks, understanding common transaction errors, and canceling in-progress transactions. -You can learn more about Redis and how to get the most out of your Redis databases through our other guides in this series. These guides cover everything from [connecting to a remote Redis server](/cloud/guides/redis-getting-started/) to working with the [hash data type](/cloud/guides/hashes-in-redis-databases/). +You can learn more about Redis and how to get the most out of your Redis databases through our other guides in this series. These guides cover everything from [connecting to a remote Redis server](/cloud/guides/redis-getting-started) to working with the [hash data type](/cloud/guides/hashes-in-redis-databases). diff --git a/docs/guides/databases/redis/using-lists-and-sets-in-redis-database/index.md b/docs/guides/databases/redis/using-lists-and-sets-in-redis-database/index.md index a7645741c92..3a52354ce65 100644 --- a/docs/guides/databases/redis/using-lists-and-sets-in-redis-database/index.md +++ b/docs/guides/databases/redis/using-lists-and-sets-in-redis-database/index.md @@ -17,7 +17,7 @@ Redis is an open-source NoSQL database that provides performant storage for cach Redis has multiple data types for working with collections. The most common are **Lists** and **Sets**. This tutorial explains what Redis's lists and sets are and illustrates how to use them. -Also, check out our other guides in this series, including our previous guide on [Connecting to Redis and Using Redis Databases](/cloud/guides/redis-getting-started/). +Also, check out our other guides in this series, including our previous guide on [Connecting to Redis and Using Redis Databases](/cloud/guides/redis-getting-started). ## Before You Begin @@ -25,10 +25,10 @@ Also, check out our other guides in this series, including our previous guide on 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu/) guide to installing a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. +1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu) guide to installing a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Are Lists and Sets in Redis? @@ -61,7 +61,7 @@ Redis has another related data type: *Sorted Sets*. These are Sets that include Because of ordering, hashes, and labeling of values, Sorted Sets in Redis actually work as a cross between Lists. -Sorted Sets have an array of commands and ways that you can work with their collections. To learn more about how Sorted Sets work and how you can start using them, take a look at our [How to Use Sorted Sets in Redis](/cloud/guides/using-sorted-sets-in-redis-database/) guide. +Sorted Sets have an array of commands and ways that you can work with their collections. To learn more about how Sorted Sets work and how you can start using them, take a look at our [How to Use Sorted Sets in Redis](/cloud/guides/using-sorted-sets-in-redis-database) guide. ## How to Use Lists in Redis diff --git a/docs/guides/databases/redis/using-redis-scan-commands/index.md b/docs/guides/databases/redis/using-redis-scan-commands/index.md index 875d1ed3654..8111c5d32fe 100644 --- a/docs/guides/databases/redis/using-redis-scan-commands/index.md +++ b/docs/guides/databases/redis/using-redis-scan-commands/index.md @@ -35,10 +35,10 @@ This guide covers Redis's SCAN commands, which provide a cursor-based method for sudo dnf upgrade -1. Follow the instructions in our [How to Install a Redis Server](/cloud/guides/how-to-install-a-redis-server-on-ubuntu-or-debian8/) guide to install a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. +1. Follow the instructions in our [How to Install a Redis Server](/cloud/guides/how-to-install-a-redis-server-on-ubuntu-or-debian8) guide to install a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is the SCAN Command? @@ -166,4 +166,4 @@ The `TYPE` option for the `SCAN` command is only supported in Redis 6 or later. With that, you are ready to start making use of SCAN commands on your Redis instance. These commands can provide effective methods for dealing with large and complex data sets. And the tools discussed in this guide help you to make the most of these commands to efficiently handle your data. -Want to continue learning about Redis, and get the most effective use out of your server? Thankfully, we have plenty of [guides on using Redis](/cloud/guides/databases/redis/) that can help you navigate Redis data types, configurations, and more. +Want to continue learning about Redis, and get the most effective use out of your server? Thankfully, we have plenty of [guides on using Redis](/cloud/guides/databases/redis) that can help you navigate Redis data types, configurations, and more. diff --git a/docs/guides/databases/redis/using-sorted-sets-in-redis-database/index.md b/docs/guides/databases/redis/using-sorted-sets-in-redis-database/index.md index 0c8700b0cbd..8d3904c2bf3 100644 --- a/docs/guides/databases/redis/using-sorted-sets-in-redis-database/index.md +++ b/docs/guides/databases/redis/using-sorted-sets-in-redis-database/index.md @@ -15,7 +15,7 @@ external_resources: Redis, the open-source, in-memory database, is a popular option for its quick, low-latency storage. Redis's *Sorted Set* data type captures the advantages of both Lists and Sets, giving you a useful tool for ordered collections of unique values. This tutorial dives into what Sorted Sets are and introduces you to commands you can use to manage them. -Be sure to check out our other guides in this series, including our previous guide on [Connecting to Redis and Using Redis Databases](/cloud/guides/redis-getting-started/). +Be sure to check out our other guides in this series, including our previous guide on [Connecting to Redis and Using Redis Databases](/cloud/guides/redis-getting-started). ## Before You Begin @@ -23,10 +23,10 @@ Be sure to check out our other guides in this series, including our previous gui 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu/) guide to installing a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. +1. Follow the instructions in our [How to Install and Configure Redis](/cloud/guides/install-redis-ubuntu) guide to installing a Redis server and command-line interface (CLI). Be sure to use the drop-down menu at the top of that page to select your Linux distribution and get the appropriate steps. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Are Sorted Sets in Redis? @@ -37,7 +37,7 @@ In Redis, Sets are also collections of unique string values. But Sets themselves Redis's Sorted Sets can actually be thought of as a cross between Lists and Hashes. Lists, because they are ordered, and Hashes, because the scores act like keys for each value. -To learn more about Lists and Sets in Redis, read our [How to Use Lists and Sets in Redis Databases](/cloud/guides/using-lists-and-sets-in-redis-database/) guide. +To learn more about Lists and Sets in Redis, read our [How to Use Lists and Sets in Redis Databases](/cloud/guides/using-lists-and-sets-in-redis-database) guide. ### Sorted Sets and Scoring @@ -178,7 +178,7 @@ You can update an element's score in a Sorted Set using the `ZADD` command again ### Remove Elements from a Sorted Set -The `ZPOPMIN` and `ZPOPMAX` commands covered in [Fetch Elements from a Sorted Set](/cloud/guides/using-sorted-sets-in-redis-database/#by-order) removes the lowest scored and highest scored elements, respectively. +The `ZPOPMIN` and `ZPOPMAX` commands covered in [Fetch Elements from a Sorted Set](/cloud/guides/using-sorted-sets-in-redis-database#by-order) removes the lowest scored and highest scored elements, respectively. Sorted Sets also have access to the `ZREM` command, which lets you remove an element based on its value. diff --git a/docs/guides/databases/sql-syntax/sharded-database/index.md b/docs/guides/databases/sql-syntax/sharded-database/index.md index 70edcb60e73..091034973ef 100644 --- a/docs/guides/databases/sql-syntax/sharded-database/index.md +++ b/docs/guides/databases/sql-syntax/sharded-database/index.md @@ -60,7 +60,7 @@ The second shard contains the remainder of the rows. Sharding does not necessarily make any backup copies of the data. Each record is still only stored on a single server. *Replication* is used to copy information to another server, resulting in primary and secondary copies of the data. Replication enhances reliability and robustness at the cost of additional complexity and resources. Sharded databases can be replicated, but the procedure for doing so can be very complex. -Replication and caching are both potential alternatives to sharding, particular in applications which mainly read data from a database. Replication spreads out the queries to multiple servers, while caching speeds up the requests. See our guide [How to Configure Source-Replica Replication in MySQL](/cloud/guides/configure-source-replica-replication-in-mysql/) to learn more about data replication. +Replication and caching are both potential alternatives to sharding, particular in applications which mainly read data from a database. Replication spreads out the queries to multiple servers, while caching speeds up the requests. See our guide [How to Configure Source-Replica Replication in MySQL](/cloud/guides/configure-source-replica-replication-in-mysql) to learn more about data replication. ## Pros and Cons of a Sharded Database @@ -81,7 +81,7 @@ Unfortunately, sharding also has drawbacks. Some of the downsides include: - Sharding greatly increases the complexity of a software development project. Additional logic is required to shard the database and properly direct queries to the correct shard. This increases development time and cost. A more elaborate network mesh is often necessary, which leads to an increase in lab and infrastructure costs. - Latency can be higher than with a standard database design. -- [SQL join operations](/cloud/guides/sql-joins/) affecting multiple shards are more difficult to execute and take longer to complete. Some operations might become too slow to be feasible. However, the right design can facilitate better performance on common queries. +- [SQL join operations](/cloud/guides/sql-joins) affecting multiple shards are more difficult to execute and take longer to complete. Some operations might become too slow to be feasible. However, the right design can facilitate better performance on common queries. - Sharding requires a lot of tuning and tweaking as the database grows. This sometimes requires a reconsideration of the entire sharding strategy and database design. Uneven shard distribution can happen even with proper planning, causing the distribution to unexpectedly become lopsided. - It is not always obvious how many shards and servers to use, or how to choose the sharding key. Poor sharding keys can adversely affect performance or data distribution. This causes some shards to be overloaded while others are almost empty, leading to hotspots and inefficiencies. - It is more challenging to change the database schema after sharding is implemented. It is also difficult to convert the database back to its pre-sharded state. diff --git a/docs/guides/databases/sql-syntax/sql-data-types/index.md b/docs/guides/databases/sql-syntax/sql-data-types/index.md index 48460b61cc2..23be5c32d7d 100644 --- a/docs/guides/databases/sql-syntax/sql-data-types/index.md +++ b/docs/guides/databases/sql-syntax/sql-data-types/index.md @@ -252,4 +252,4 @@ For example, in one table, you store a date in a `Varchar(20)`column, and in ano SQL Data Types are the attributes associated with database columns and variables. These attributes can take the form of being binary, numeric, character, and date/time. Careful design time is necessary to ensure that columns and variables are defined with a correct data type, to ensure both storage and query execution efficiency. -To learn more about SQL, see our guides on [SQL joins](/cloud/guides/sql-joins/), [grouping and totaling](/cloud/guides/sql-grouping-and-totaling/), and [SQL user management security](/cloud/guides/sql-security/). \ No newline at end of file +To learn more about SQL, see our guides on [SQL joins](/cloud/guides/sql-joins), [grouping and totaling](/cloud/guides/sql-grouping-and-totaling), and [SQL user management security](/cloud/guides/sql-security). \ No newline at end of file diff --git a/docs/guides/databases/sql-syntax/sql-grouping-and-totaling/index.md b/docs/guides/databases/sql-syntax/sql-grouping-and-totaling/index.md index f2183b36ded..02885c0e0c9 100644 --- a/docs/guides/databases/sql-syntax/sql-grouping-and-totaling/index.md +++ b/docs/guides/databases/sql-syntax/sql-grouping-and-totaling/index.md @@ -247,4 +247,4 @@ The following output is returned: This guide provides the building blocks for SQL’s powerful data aggregation operations for grouping and totaling. As noted, you can restrict values that become part of these groups by using a `Where` clause in queries before the aggregation is performed. You can filter out rows of grouped results (after the aggregation is performed) by using the `Having` clause in the SQL queries. -To learn more about SQL, see our guides on [SQL data types](/cloud/guides/sql-data-types/), [joins](/cloud/guides/sql-joins/), and [SQL user management security](/cloud/guides/sql-security/). \ No newline at end of file +To learn more about SQL, see our guides on [SQL data types](/cloud/guides/sql-data-types), [joins](/cloud/guides/sql-joins), and [SQL user management security](/cloud/guides/sql-security). \ No newline at end of file diff --git a/docs/guides/databases/sql-syntax/sql-joins/index.md b/docs/guides/databases/sql-syntax/sql-joins/index.md index 06038bc58b5..4aed3f6c4af 100644 --- a/docs/guides/databases/sql-syntax/sql-joins/index.md +++ b/docs/guides/databases/sql-syntax/sql-joins/index.md @@ -240,4 +240,4 @@ Considering the above example tables, the Inner Join is typically the fastest of The use of SQL Joins extends the functionality of being able to compare table rows, over traditional `WHERE` clause queries. Joins are a valuable mechanism to apply algebraic logic to two or more tables. -To learn more about SQL, see our guides on [SQL data types](/cloud/guides/sql-data-types/), [grouping and totaling](/cloud/guides/sql-grouping-and-totaling/), and [SQL user management security](/cloud/guides/sql-security/). \ No newline at end of file +To learn more about SQL, see our guides on [SQL data types](/cloud/guides/sql-data-types), [grouping and totaling](/cloud/guides/sql-grouping-and-totaling), and [SQL user management security](/cloud/guides/sql-security). \ No newline at end of file diff --git a/docs/guides/databases/sql-syntax/sql-security/index.md b/docs/guides/databases/sql-syntax/sql-security/index.md index 07a42c5fbc4..2fa2e09de03 100644 --- a/docs/guides/databases/sql-syntax/sql-security/index.md +++ b/docs/guides/databases/sql-syntax/sql-security/index.md @@ -152,5 +152,5 @@ User management, permissions, and roles are essential to SQL database security. In SQL databases, every action must pass through a validity check that determines if the database action can be completed by a particular user. The appropriate permissions are required to access SQL database objects and execute statements. The integrity of a SQL database relies on secure and well-designed user management. -Now that you are familiar with SQL user management, you can learn about some different aspects of the SQL language, like [joins](/cloud/guides/sql-joins/), [data types](/cloud/guides/sql-data-types/), and [grouping and totaling](/cloud/guides/sql-grouping-and-totaling/). +Now that you are familiar with SQL user management, you can learn about some different aspects of the SQL language, like [joins](/cloud/guides/sql-joins), [data types](/cloud/guides/sql-data-types), and [grouping and totaling](/cloud/guides/sql-grouping-and-totaling). diff --git a/docs/guides/databases/sql-syntax/sql-server-security-part-2/index.md b/docs/guides/databases/sql-syntax/sql-server-security-part-2/index.md index cf95c797f75..0b0fbadfb74 100644 --- a/docs/guides/databases/sql-syntax/sql-server-security-part-2/index.md +++ b/docs/guides/databases/sql-syntax/sql-server-security-part-2/index.md @@ -11,7 +11,7 @@ tags: ['database'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -This guide is the second in a series of articles that covers SQL Server security best practices. [Part 1 of this series](/cloud/guides/sql-server-security/) discussed a SQL Server installation's physical security, operating system security, and application maintenance. Additionally, the previous guide outlined how to disable unnecessary features, enable encryption, and implement data masking. +This guide is the second in a series of articles that covers SQL Server security best practices. [Part 1 of this series](/cloud/guides/sql-server-security) discussed a SQL Server installation's physical security, operating system security, and application maintenance. Additionally, the previous guide outlined how to disable unnecessary features, enable encryption, and implement data masking. The second part of this series describes how and why you should: @@ -82,7 +82,7 @@ Database servers typically have one or more servers connecting to them. Access t These IP restrictions can be managed with different solutions on different platforms: -- [*iptables*](/cloud/guides/control-network-traffic-with-iptables/) can control traffic on Linux operating systems. Other popular firewall options are also available, including [UFW](/cloud/guides/configure-firewall-with-ufw/), [nftables](/cloud/guides/how-to-use-nftables/), and [FirewallD](/cloud/guides/introduction-to-firewalld-on-centos/). +- [*iptables*](/cloud/guides/control-network-traffic-with-iptables) can control traffic on Linux operating systems. Other popular firewall options are also available, including [UFW](/cloud/guides/configure-firewall-with-ufw), [nftables](/cloud/guides/how-to-use-nftables), and [FirewallD](/cloud/guides/introduction-to-firewalld-on-centos). - Use the Windows firewall (or any dedicate hardware firewall) on Microsoft platforms. @@ -126,4 +126,4 @@ Hardware and/or software firewall logs (that is, external to SQL Server) should ## Conclusion -In part two of this article series, you reviewed additional methods of enhancing the security of SQL Server databases. These included choosing an [authentication mode](#sql-server-authentication), restricting the [System Administrator account](#system-administrator-sa-account), assignment of [security-friendly accounts](#high-privileged-operating-system-accounts) to SQL Server, [restricting SQL traffic](#restrict-sql-traffic), application of [patch updates](#sql-server-patches-service-packs), [backup strategies](#backups), and use of [auditing](#auditing). To review earlier security recommendations, revisit [Part 1: SQL Server Security Best Practices](/cloud/guides/sql-server-security/). +In part two of this article series, you reviewed additional methods of enhancing the security of SQL Server databases. These included choosing an [authentication mode](#sql-server-authentication), restricting the [System Administrator account](#system-administrator-sa-account), assignment of [security-friendly accounts](#high-privileged-operating-system-accounts) to SQL Server, [restricting SQL traffic](#restrict-sql-traffic), application of [patch updates](#sql-server-patches-service-packs), [backup strategies](#backups), and use of [auditing](#auditing). To review earlier security recommendations, revisit [Part 1: SQL Server Security Best Practices](/cloud/guides/sql-server-security). diff --git a/docs/guides/databases/sql-syntax/sql-server-security/index.md b/docs/guides/databases/sql-syntax/sql-server-security/index.md index e119240b940..b39988557b6 100644 --- a/docs/guides/databases/sql-syntax/sql-server-security/index.md +++ b/docs/guides/databases/sql-syntax/sql-server-security/index.md @@ -12,10 +12,10 @@ license: "[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)" SQL Server security is perhaps one of the most overlooked facets of database server maintenance. Without taking the necessary precautions, an instance of SQL Server can be ripe for abuse and failure. -The [SQL Database Security: User Management](/cloud/guides/sql-security/) guide discussed the logical implementation of users, groups, roles, and permissions, to enhance, or limit database user security. This guide is part one in a series of SQL Server security best practices, and it discusses a variety of important additional maintenance security topics. +The [SQL Database Security: User Management](/cloud/guides/sql-security) guide discussed the logical implementation of users, groups, roles, and permissions, to enhance, or limit database user security. This guide is part one in a series of SQL Server security best practices, and it discusses a variety of important additional maintenance security topics. {{< note >}} -To review the second set of security recommendations in this series, visit [Part 2: SQL Server Security Best Practices](/cloud/guides/sql-server-security-part-2/). +To review the second set of security recommendations in this series, visit [Part 2: SQL Server Security Best Practices](/cloud/guides/sql-server-security-part-2). {{< /note >}} ## SQL Server Security: Infrastructure @@ -34,7 +34,7 @@ Next on the list of security issues is the operating system that SQL Server resi First and foremost, operating system upgrades and (security) patches should always be applied whenever they become available. Before applying them to production-level machines, it may be prudent to apply them first to test or development environments, and allow them to run for a period of time. This ensures that the upgrades and patches are stable and are not problematic. Moreover, when an operating system goes end-of-life, it should always be replaced with a supported operating system version. -It is a good practice to disable public internet access on your servers, to mitigate outside hacking interference. This can be followed by implementing robust firewalls on your operating system. By defining the appropriate firewall rules, you can restrict access to and from database servers that run on your server. You can also limit database access only to specific applications. Some popular firewall options for Linux servers are [UFW](/cloud/guides/configure-firewall-with-ufw/), [nftables](/cloud/guides/how-to-use-nftables/), and [FirewallD](/cloud/guides/introduction-to-firewalld-on-centos/). You can also [add the free Linode Cloud Firewalls service](https://techdocs.akamai.com/cloud-computing/docs/create-a-cloud-firewall) to the Linode Compute Instance that hosts SQL Server. +It is a good practice to disable public internet access on your servers, to mitigate outside hacking interference. This can be followed by implementing robust firewalls on your operating system. By defining the appropriate firewall rules, you can restrict access to and from database servers that run on your server. You can also limit database access only to specific applications. Some popular firewall options for Linux servers are [UFW](/cloud/guides/configure-firewall-with-ufw), [nftables](/cloud/guides/how-to-use-nftables), and [FirewallD](/cloud/guides/introduction-to-firewalld-on-centos). You can also [add the free Linode Cloud Firewalls service](https://techdocs.akamai.com/cloud-computing/docs/create-a-cloud-firewall) to the Linode Compute Instance that hosts SQL Server. Additionally, it is extremely good practice to remove unnecessary and unused applications from your server. This includes unwanted operating system features (for example, email or FTP) that could potentially lend itself to a security threat. @@ -96,4 +96,4 @@ Specifically, there are two types of data masking supported by SQL Server: Database security is an extremely important part of database design, operations, and maintenance. It includes things such as physical security, operating system and application maintenance, disabling of superfluous features, port maintenance, encryption, and data masking. Collectively, and if addressed properly, these measures help keep a SQL Server database free from attack, operationally sound, and ensure database integrity. -This guide was the first in a series of articles concerning SQL Server security best practices. Visit [Part 2: SQL Server Security Best Practices](/cloud/guides/sql-server-security-part-2/) for the next security recommendations in this series. +This guide was the first in a series of articles concerning SQL Server security best practices. Visit [Part 2: SQL Server Security Best Practices](/cloud/guides/sql-server-security-part-2) for the next security recommendations in this series. diff --git a/docs/guides/databases/sqlite/getting-started-with-nodejs-sqlite/index.md b/docs/guides/databases/sqlite/getting-started-with-nodejs-sqlite/index.md index f75e26412c3..a834b0c63cc 100644 --- a/docs/guides/databases/sqlite/getting-started-with-nodejs-sqlite/index.md +++ b/docs/guides/databases/sqlite/getting-started-with-nodejs-sqlite/index.md @@ -154,7 +154,7 @@ function runQueries(db) { The `all()` method of the sqlite3 returns an array of rows on success, or an error on failure. {{< note >}} -It is good practice to parameterize the query by providing a list of substation values or an object with properties. Because it can be substituted using `$properyname` syntax. This avoids SQL injection hacks. See our guide [SQL Injection Attack: What It Is and How to Prevent It](/cloud/guides/sql-injection-attack/) to learn more about this type security vulnerability. +It is good practice to parameterize the query by providing a list of substation values or an object with properties. Because it can be substituted using `$properyname` syntax. This avoids SQL injection hacks. See our guide [SQL Injection Attack: What It Is and How to Prevent It](/cloud/guides/sql-injection-attack) to learn more about this type security vulnerability. {{< /note >}} Below is the complete `sample.js` file: diff --git a/docs/guides/databases/sqlite/what-is-sqlite/index.md b/docs/guides/databases/sqlite/what-is-sqlite/index.md index 385e67100da..5cba133b725 100644 --- a/docs/guides/databases/sqlite/what-is-sqlite/index.md +++ b/docs/guides/databases/sqlite/what-is-sqlite/index.md @@ -12,7 +12,7 @@ image: SQLiteOverview.png tags: ["database"] --- -There are two major types of databases: client/server relational databases (such as [MySQL](/cloud/guides/databases/mysql/) or [PostgreSQL](/cloud/guides/databases/postgresql/)), and NoSQL databases (like [MongoDB](/cloud/guides/databases/mongodb/) or [CouchDB](/cloud/guides/databases/couchdb/)). There is, however, a third option that straddles the gap, *serverless SQL databases*. This type of database offers relational SQL capabilities without the need to set up and maintain a database server. +There are two major types of databases: client/server relational databases (such as [MySQL](/cloud/guides/databases/mysql) or [PostgreSQL](/cloud/guides/databases/postgresql)), and NoSQL databases (like [MongoDB](/cloud/guides/databases/mongodb) or [CouchDB](/cloud/guides/databases/couchdb)). There is, however, a third option that straddles the gap, *serverless SQL databases*. This type of database offers relational SQL capabilities without the need to set up and maintain a database server. [SQLite](https://www.sqlite.org/index.html) is the most popular of the serverless SQL databases. Part of its success lies in the large number of operating systems and languages with which it is compatible. diff --git a/docs/guides/databases/surrealdb/deploy-surrealdb-cluster/index.md b/docs/guides/databases/surrealdb/deploy-surrealdb-cluster/index.md index 44136c6c5a2..b223cf1b1d0 100644 --- a/docs/guides/databases/surrealdb/deploy-surrealdb-cluster/index.md +++ b/docs/guides/databases/surrealdb/deploy-surrealdb-cluster/index.md @@ -29,9 +29,9 @@ Linode offers the Linode Kubernetes Engine (LKE) as a convenient way to get star The rest of this tutorial assumes you have a Kubernetes cluster up and running and configured for management with a local `kubectl` instance. The examples in this tutorial also assume that your cluster has three nodes, so adjust accordingly throughout if your cluster differs. -Additionally, you need to have [Helm](https://helm.sh/) installed to follow along with this tutorial. Helm is used here to deploy TiKV to the cluster. To install Helm, follow the relevant section of our guide [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm). +Additionally, you need to have [Helm](https://helm.sh/) installed to follow along with this tutorial. Helm is used here to deploy TiKV to the cluster. To install Helm, follow the relevant section of our guide [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3#install-helm). -Also, you must install SurrealDB on your local machine to run `surreal` commands on the Kubernetes cluster via port forwarding. Follow the steps in the relevant section of our guide [Getting Started with SurrealDB](/cloud/guides/getting-started-with-surrealdb/#how-to-install-surrealdb). +Also, you must install SurrealDB on your local machine to run `surreal` commands on the Kubernetes cluster via port forwarding. Follow the steps in the relevant section of our guide [Getting Started with SurrealDB](/cloud/guides/getting-started-with-surrealdb#how-to-install-surrealdb). ### Deploying TiKV for Persistence @@ -327,7 +327,7 @@ Follow along to access the SurrealDB Kubernetes service using port forwarding, t The SurrealDB cluster is now operable. You can use the port forwarding feature and set up traffic to the cluster to best fit your needs. However, it's likely you want to secure your SurrealDB cluster before taking it to production. -Find thorough coverage of how to secure SurrealDB and manage user access in our guide [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb/). +Find thorough coverage of how to secure SurrealDB and manage user access in our guide [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb). Below are some steps to get you started and demonstrate how these configurations might be applied to your SurrealDB cluster. These steps set up a limited SurrealDB user and disable root access on your SurrealDB servers. diff --git a/docs/guides/databases/surrealdb/getting-started-with-surrealdb/index.md b/docs/guides/databases/surrealdb/getting-started-with-surrealdb/index.md index a4c3b0c930b..fe1192e7123 100644 --- a/docs/guides/databases/surrealdb/getting-started-with-surrealdb/index.md +++ b/docs/guides/databases/surrealdb/getting-started-with-surrealdb/index.md @@ -34,7 +34,7 @@ Though not complete, here is a list of some of the features that SurrealDB offer 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install SurrealDB @@ -137,7 +137,7 @@ Below are two versions of a basic command for starting up the SurrealDB server, Notice that both of the commands have `--user` and `--pass` options. These define the root user credentials for your server instance, which you can use for queries in later examples. -Before moving ahead with SurrealDB, you likely want to implement stricter security around this user, and to create other users with managed access. If so, check out our tutorial [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb/). +Before moving ahead with SurrealDB, you likely want to implement stricter security around this user, and to create other users with managed access. If so, check out our tutorial [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb). #### Running on a Different Port @@ -427,10 +427,10 @@ This section provides some simple demonstrations of SurrealDB's HTTP endpoints u You now have a foundation in SurrealDB and are ready to start making use of its powerful features as a database. To build on these foundations, you may want to start with the official SurrealDB documentation linked below. -Afterwards, continue reading our other tutorials on SurrealDB. These tackle more advanced and focused use cases. In particular, everyone should follow our [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb/) tutorial next, ensuring a secure and controlled database server. +Afterwards, continue reading our other tutorials on SurrealDB. These tackle more advanced and focused use cases. In particular, everyone should follow our [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb) tutorial next, ensuring a secure and controlled database server. From there, take your pick based on your interests and needs: -- [Deploying a SurrealDB Cluster](/cloud/guides/deploy-surrealdb-cluster/) +- [Deploying a SurrealDB Cluster](/cloud/guides/deploy-surrealdb-cluster) - [Building an Web Application on Top of SurrealDB](/cloud/guides/surrealdb-for-web-applications) - [Modeling Data with SurrealDB’s Inter-document Relations](/cloud/guides/surrealdb-interdocument-modeling) \ No newline at end of file diff --git a/docs/guides/databases/surrealdb/managing-security-and-access-for-surrealdb/index.md b/docs/guides/databases/surrealdb/managing-security-and-access-for-surrealdb/index.md index 13e7a572df7..861c87701fd 100644 --- a/docs/guides/databases/surrealdb/managing-security-and-access-for-surrealdb/index.md +++ b/docs/guides/databases/surrealdb/managing-security-and-access-for-surrealdb/index.md @@ -21,7 +21,7 @@ Continue reading to find out how to regulate root access and work with limited u ### Setting Up SurrealDB -For this tutorial, you need to have installed SurrealDB on your system and placed the SurrealDB binary in your shell path. To do so, follow along with the instructions in our [Getting Started with SurrealDB](/cloud/guides/getting-started-with-surrealdb/) guide. +For this tutorial, you need to have installed SurrealDB on your system and placed the SurrealDB binary in your shell path. To do so, follow along with the instructions in our [Getting Started with SurrealDB](/cloud/guides/getting-started-with-surrealdb) guide. The tutorial assumes you have followed that guide up through the *How to Install SurrealDB* section, with SurrealDB installed and accessible via the `surreal` command. @@ -39,7 +39,7 @@ In this case, data is accessed using limited users created within particular nam The example that follows sets up a limited user on your SurrealDB server. This example names the user `exampleUser` and relegates their access to the database level, specifically within `exampleDb`. -1. Start up the server just as shown in the [Getting Started](/cloud/guides/getting-started-with-surrealdb/#running-the-surrealdb-server) guide linked above, using a root user and password. This example initially limits the server to `localhost` (`127.0.0.1`), shutting off external access. The example also stores the database as a file rather than in memory. +1. Start up the server just as shown in the [Getting Started](/cloud/guides/getting-started-with-surrealdb#running-the-surrealdb-server) guide linked above, using a root user and password. This example initially limits the server to `localhost` (`127.0.0.1`), shutting off external access. The example also stores the database as a file rather than in memory. ```command {title="Terminal #1"} surreal start --bind 127.0.0.1:8000 --user root --pass exampleRootPass file:///home/example-user/.surrealdb/exampleDb.db @@ -83,7 +83,7 @@ The example that follows sets up a limited user on your SurrealDB server. This e RELATE article:third->tagged->tags:test; ``` -1. Define a new SurrealDB limited user. The command below provides a basic example for a database-level user. Learn more about this command's usage in the section on [Creating a New SurrealDB User](/cloud/guides/managing-security-and-access-for-surrealdb/#creating-a-new-surrealdb-user) further on. +1. Define a new SurrealDB limited user. The command below provides a basic example for a database-level user. Learn more about this command's usage in the section on [Creating a New SurrealDB User](/cloud/guides/managing-security-and-access-for-surrealdb#creating-a-new-surrealdb-user) further on. ```command {title="Terminal #2"} DEFINE LOGIN exampleUser ON DATABASE PASSWORD 'examplePass'; @@ -97,7 +97,7 @@ The example that follows sets up a limited user on your SurrealDB server. This e surreal start --bind 0.0.0.0:8000 file:///home/example-user/.surrealdb/exampleDb.db ``` - You can now use the limited user to access the SurrealDB server's APIs. Learn more about doing so in the section on [Accessing SurrealDB as a Limited User](/cloud/guides/managing-security-and-access-for-surrealdb/#accessing-surrealdb-as-a-limited-user) further on. + You can now use the limited user to access the SurrealDB server's APIs. Learn more about doing so in the section on [Accessing SurrealDB as a Limited User](/cloud/guides/managing-security-and-access-for-surrealdb#accessing-surrealdb-as-a-limited-user) further on. 1. To get started, here is a simple example that fetches information about the database using the SurrealDB server's `/sql` HTTP API endpoint. @@ -476,4 +476,4 @@ With a secured SurrealDB server, you're in an excellent position to consider set - [Building an Web Application on Top of SurrealDB](/cloud/guides/surrealdb-for-web-applications) - [Modeling Data with SurrealDB’s Inter-document Relations](/cloud/guides/surrealdb-interdocument-modeling) -- [Deploying a SurrealDB Cluster](/cloud/guides/deploy-surrealdb-cluster/) \ No newline at end of file +- [Deploying a SurrealDB Cluster](/cloud/guides/deploy-surrealdb-cluster) \ No newline at end of file diff --git a/docs/guides/databases/surrealdb/surrealdb-for-web-applications/index.md b/docs/guides/databases/surrealdb/surrealdb-for-web-applications/index.md index 99bf5a120c4..fb9f77b2640 100644 --- a/docs/guides/databases/surrealdb/surrealdb-for-web-applications/index.md +++ b/docs/guides/databases/surrealdb/surrealdb-for-web-applications/index.md @@ -27,9 +27,9 @@ The first step is to have a SurrealDB server installed and running. Additionally To lay this foundation, follow two of our previous guides: -- Use [Getting Started with SurrealDB](/cloud/guides/getting-started-with-surrealdb/) to learn how to install and run SurrealDB. +- Use [Getting Started with SurrealDB](/cloud/guides/getting-started-with-surrealdb) to learn how to install and run SurrealDB. -- Use [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb/) to learn about creating limited users and disabling root access. +- Use [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb) to learn about creating limited users and disabling root access. Referencing those two guides, you need to do the following to keep up with the rest of this tutorial: @@ -59,7 +59,7 @@ Referencing those two guides, you need to do the following to keep up with the r {{< tabs >}} {{< tab "Debian-based" >}} - On a Debian or Ubuntu system, refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide, and use commands like the following to open the port: + On a Debian or Ubuntu system, refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide, and use commands like the following to open the port: ```command sudo ufw allow 8000/tcp @@ -67,7 +67,7 @@ Referencing those two guides, you need to do the following to keep up with the r ``` {{< /tab >}} {{< tab "RHEL-based" >}} - On a CentOS or similar system (e.g. AlmaLinux and Rocky Linux), refer to our [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) guide, and use commands like the following to open the port: + On a CentOS or similar system (e.g. AlmaLinux and Rocky Linux), refer to our [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos) guide, and use commands like the following to open the port: ```command sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent @@ -87,7 +87,7 @@ To prepare the SurrealDB database for the application, you should define the sch Since this tutorial uses an example to-do list application to demonstrate, the steps here can provide a basic model. Follow along to see how you can use SurrealDB's `DEFINE` commands to craft a database for your own application's needs. -For more on modeling databases in SurrealDB, take a look at the SurrealDB documentation linked at the end of this guide. For more advanced modeling ideas, check out our [Modeling Data with SurrealDB’s Inter-document Relations](/cloud/guides/surrealdb-interdocument-modeling/) guide. +For more on modeling databases in SurrealDB, take a look at the SurrealDB documentation linked at the end of this guide. For more advanced modeling ideas, check out our [Modeling Data with SurrealDB’s Inter-document Relations](/cloud/guides/surrealdb-interdocument-modeling) guide. 1. Create a file to store your SurrealQL queries. This tutorial names the file `surreal.surql`. To execute SurrealDB queries over HTTP using cURL, it is easiest to work with queries stored in a file like this. @@ -99,7 +99,7 @@ For more on modeling databases in SurrealDB, take a look at the SurrealDB docume 1. Define a user account scope, called `account`, and give the scope `SIGNUP` and `SIGNIN` functions. This single command lays the basis for user access that the example application can use for full login functionality. - To learn more, take a look at the section on scoped user accounts in our [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb/#how-to-manage-scoped-user-accounts-and-access-in-surrealdb) guide. + To learn more, take a look at the section on scoped user accounts in our [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb#how-to-manage-scoped-user-accounts-and-access-in-surrealdb) guide. ```file {title="surreal.surql" lang="sql"} DEFINE SCOPE account SESSION 24h @@ -148,15 +148,15 @@ The SurrealDB database is now prepared to act as the backend for your applicatio Moreover, the schema setups in the previous section allow you to work with the SurrealDB endpoints more easily. By managing the schemas' default values and restrictions, you can implement logic that distinguishes API access. -All of this makes SurrealDB an excellent backend for Jamstack architectures, which is what the rest of this guide uses. You can learn more about Jamstack through our guide [Getting Started with the Jamstack](/cloud/guides/what-is-jamstack/). +All of this makes SurrealDB an excellent backend for Jamstack architectures, which is what the rest of this guide uses. You can learn more about Jamstack through our guide [Getting Started with the Jamstack](/cloud/guides/what-is-jamstack). -Specifically, the next steps in this tutorial help you set up a basic frontend application using the [Gatsby](https://www.gatsbyjs.com/) framework. Gatsby uses React to generate static sites, and thus makes a good base for a Jamstack application. Learn more about Gatsby in our guide [Generating Static Sites with Gatsby](/cloud/guides/generating-static-sites-with-gatsby/). +Specifically, the next steps in this tutorial help you set up a basic frontend application using the [Gatsby](https://www.gatsbyjs.com/) framework. Gatsby uses React to generate static sites, and thus makes a good base for a Jamstack application. Learn more about Gatsby in our guide [Generating Static Sites with Gatsby](/cloud/guides/generating-static-sites-with-gatsby). ### Setting Up the Prerequisites Before developing the code for the Gatsby frontend, you need to install some prerequisites. Additionally, this tutorial generates the new Gatsby project from a base template to streamline the development. -1. First, follow along with our [Installing and Using NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/#install-nvm) guide to install the Node Version Manager (NVM). +1. First, follow along with our [Installing and Using NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm#install-nvm) guide to install the Node Version Manager (NVM). 1. Then run the commands below to install and start using the current LTS release of Node.js: @@ -773,9 +773,9 @@ Use the **Sign Up** option to create a user account. From there, you should be l There are several options for deploying a Jamstack application like the one shown throughout this tutorial. With the SurrealDB server providing an accessible backend and a static site for the frontend, you have a lot of versatility for hosting. -See the deployment section of the [Gatsby guide](/cloud/guides/generating-static-sites-with-gatsby/#deploy-a-gatsby-static-site) linked above for more ideas. +See the deployment section of the [Gatsby guide](/cloud/guides/generating-static-sites-with-gatsby#deploy-a-gatsby-static-site) linked above for more ideas. -For a more traditional static-site deployment process, read [Set up a Web Server and Host a Website on Linode](/cloud/guides/set-up-web-server-host-website/). Additionally, our guide on how to [Deploy a Static Site using Hugo and Object Storage](/cloud/guides/host-static-site-object-storage/) showcases a modern and streamlined process using object storage. +For a more traditional static-site deployment process, read [Set up a Web Server and Host a Website on Linode](/cloud/guides/set-up-web-server-host-website). Additionally, our guide on how to [Deploy a Static Site using Hugo and Object Storage](/cloud/guides/host-static-site-object-storage) showcases a modern and streamlined process using object storage. Object storage provides an efficient and powerful possibility for hosting the static frontends of Jamstack applications. @@ -799,7 +799,7 @@ The steps that follow outline a method for deploying the Gatsby application crea 1. At this point, you can access the application at the Linode Object Storage website URL, such as `example-surreal-app.website-[cluster-id].linodeobjects.com`. -1. **Optional**: If using a custom domain name, create a `CNAME` domain record mapping the object storage bucket's URL to the same domain name as your SurrealDB server. Doing so can help prevent CORS-related difficulties. See how to do this in the *Next Steps* section of the [object storage deployment guide](/cloud/guides/host-static-site-object-storage/#optional-next-steps). +1. **Optional**: If using a custom domain name, create a `CNAME` domain record mapping the object storage bucket's URL to the same domain name as your SurrealDB server. Doing so can help prevent CORS-related difficulties. See how to do this in the *Next Steps* section of the [object storage deployment guide](/cloud/guides/host-static-site-object-storage#optional-next-steps). ## Conclusion @@ -807,4 +807,4 @@ This tutorial provides the tools needed to start implementing SurrealDB as a bac More importantly, leveraging SurrealDB's APIs can make applications more adaptable. Whether it's for a traditional frontend, or a modern architecture like Jamstack with a static site generator, SurrealDB can be a full backend resource. This provides a lot of flexibility. -Be sure to look at our other guides on SurrealDB, linked earlier in this tutorial. Additionally, learn more about schemas and document relations with our guide on [Modeling Data with SurrealDB’s Inter-document Relations](/cloud/guides/surrealdb-interdocument-modeling/). +Be sure to look at our other guides on SurrealDB, linked earlier in this tutorial. Additionally, learn more about schemas and document relations with our guide on [Modeling Data with SurrealDB’s Inter-document Relations](/cloud/guides/surrealdb-interdocument-modeling). diff --git a/docs/guides/databases/surrealdb/surrealdb-interdocument-modeling/index.md b/docs/guides/databases/surrealdb/surrealdb-interdocument-modeling/index.md index 0aac778c8d4..5c95d44dc32 100644 --- a/docs/guides/databases/surrealdb/surrealdb-interdocument-modeling/index.md +++ b/docs/guides/databases/surrealdb/surrealdb-interdocument-modeling/index.md @@ -231,7 +231,7 @@ This section walks you through just that. While the data here may not distill al ### Setting Up the Prerequisites -To get started, you need to have installed SurrealDB on your system and have placed the SurrealDB binary in your shell path. Follow along with our [Getting Started with SurrealDB](/cloud/guides/getting-started-with-surrealdb/) guide to see how. +To get started, you need to have installed SurrealDB on your system and have placed the SurrealDB binary in your shell path. Follow along with our [Getting Started with SurrealDB](/cloud/guides/getting-started-with-surrealdb) guide to see how. This tutorial assumes that you have followed that guide up through the *How to Install SurrealDB* section, with SurrealDB installed and accessible via the `surreal` command. @@ -545,8 +545,8 @@ You now have a foundation in how SurrealDB employs inter-document relations and Continue learning everything you need to make the most of SurrealDB with our other tutorials: -- [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb/) +- [Managing Security and Access Control for SurrealDB](/cloud/guides/managing-security-and-access-for-surrealdb) - [Building an Web Application on Top of SurrealDB](/cloud/guides/surrealdb-for-web-applications) -- [Deploying a SurrealDB Cluster](/cloud/guides/deploy-surrealdb-cluster/) +- [Deploying a SurrealDB Cluster](/cloud/guides/deploy-surrealdb-cluster) diff --git a/docs/guides/development/architectures/api-design-best-practices/index.md b/docs/guides/development/architectures/api-design-best-practices/index.md index 3fbd4802a68..f3e18723d57 100644 --- a/docs/guides/development/architectures/api-design-best-practices/index.md +++ b/docs/guides/development/architectures/api-design-best-practices/index.md @@ -140,11 +140,11 @@ Numerous tools exist to help with documenting REST APIs. Often, these can automa Secure your RESTful API using SSL and authentication tokens. Using SSL protects API connections from attacks, while authentication allows you to ensure that only authorized users have access. -To learn more about SSL certification, check out our guides [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate/) and [Securing Web Traffic Using Certbot](/cloud/guides/enabling-https-using-certbot/). +To learn more about SSL certification, check out our guides [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate) and [Securing Web Traffic Using Certbot](/cloud/guides/enabling-https-using-certbot). Recall that REST APIs are stateless. Thus, the preferred path for authentication on REST APIs is through the use of authentication tokens. In this scenario, a client may post credentials to a given endpoint. The API validates the credentials and assigns the user a random token in response. The client must then include that token in its requests to other endpoints. -You can find information on the implementation of JSON Web Tokens, for example, in our guide [User Authentication with JSON Web Tokens (JWTs) and Express](/cloud/guides/how-to-authenticate-using-jwt/). +You can find information on the implementation of JSON Web Tokens, for example, in our guide [User Authentication with JSON Web Tokens (JWTs) and Express](/cloud/guides/how-to-authenticate-using-jwt). ### Respond with Statuses diff --git a/docs/guides/development/architectures/what-is-cloud-native-computing/index.md b/docs/guides/development/architectures/what-is-cloud-native-computing/index.md index 4c4a7b2657c..760acc7bb29 100644 --- a/docs/guides/development/architectures/what-is-cloud-native-computing/index.md +++ b/docs/guides/development/architectures/what-is-cloud-native-computing/index.md @@ -31,12 +31,12 @@ As the name suggests, cloud-native programs live and die on clouds. They're deve ## Managing Cloud-Native Applications -To manage cloud-computing systems, administrators orchestrate the containers with [Kubernetes](/cloud/guides/kubernetes/). Some would argue that Kubernetes is essential to cloud-native computing. +To manage cloud-computing systems, administrators orchestrate the containers with [Kubernetes](/cloud/guides/kubernetes). Some would argue that Kubernetes is essential to cloud-native computing. Applications run inside Linux-based containers. They rarely use old-school development languages such as C++ or Java. Instead, cloud-native applications usually are written using web-centric languages, such as Go, Node.js, Rust, and Ruby. There's nothing wrong with the older languages, but cloud-native programming emphasizes flexibility and interoperability. -To further those goals, cloud-native computing also makes use of two other concepts: [serverless computing](/cloud/guides/what-is-serverless-computing/) and [micro-services](/cloud/guides/deploying-microservices-with-docker/). +To further those goals, cloud-native computing also makes use of two other concepts: [serverless computing](/cloud/guides/what-is-serverless-computing) and [micro-services](/cloud/guides/deploying-microservices-with-docker). In serverless computing, applications don't need to know about the hardware its running on or how it's managed. The software calls on the functions that the serverless platform provides without needing more knowledge of anything else. That means developers can focus on an application's business logic, rather than on architectural issues (for example, whether the server has enough RAM). -Micro-services provides lightweight, loosely coupled services via an API endpoint. These are connected by lightweight protocols such as [Representational State Transfer](https://www.service-architecture.com/articles/web-services/representational_state_transfer_rest.html) (REST) or [gRPC](/cloud/guides/using-grpc-for-remote-procedural-calls/). In cloud-native computing, data tends to be represented by [JavaScript Object Notation](https://www.json.org/) (JSON) or [Protobuf](https://github.com/google/protobuf/). They provide modular and basic services. It may be helpful to think of these as akin to Linux shell programs, which provide single services done well, but for the cloud. +Micro-services provides lightweight, loosely coupled services via an API endpoint. These are connected by lightweight protocols such as [Representational State Transfer](https://www.service-architecture.com/articles/web-services/representational_state_transfer_rest.html) (REST) or [gRPC](/cloud/guides/using-grpc-for-remote-procedural-calls). In cloud-native computing, data tends to be represented by [JavaScript Object Notation](https://www.json.org/) (JSON) or [Protobuf](https://github.com/google/protobuf/). They provide modular and basic services. It may be helpful to think of these as akin to Linux shell programs, which provide single services done well, but for the cloud. diff --git a/docs/guides/development/awk/differences-between-grep-sed-awk/index.md b/docs/guides/development/awk/differences-between-grep-sed-awk/index.md index f81a8af6b38..16fdc01bfe5 100644 --- a/docs/guides/development/awk/differences-between-grep-sed-awk/index.md +++ b/docs/guides/development/awk/differences-between-grep-sed-awk/index.md @@ -104,7 +104,7 @@ Then, search for "cats" in the existing list of files containing the word "dogs" The output displays a list of files that contain both. -To learn more about grep and its command-line options, see our [How to Grep for Text in Files](/cloud/guides/how-to-use-grep-command/) guide. The guide also shows you other useful operations, like [piping command outputs to grep](/cloud/guides/how-to-use-grep-command/#piping-command-outputs-to-grep) and how to [recursively search through a directory tree](/cloud/guides/how-to-use-grep-command/#the-grep-command). +To learn more about grep and its command-line options, see our [How to Grep for Text in Files](/cloud/guides/how-to-use-grep-command) guide. The guide also shows you other useful operations, like [piping command outputs to grep](/cloud/guides/how-to-use-grep-command#piping-command-outputs-to-grep) and how to [recursively search through a directory tree](/cloud/guides/how-to-use-grep-command#the-grep-command). ## Sed Command @@ -159,7 +159,7 @@ To insert the line before every line where a pattern match is found, use the fol sed '/8/ i #This line is inserted using sed' sedtest.txt -To learn more about sed, see our [Manipulate Text from the Command Line with sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed/#finding-and-replacing-strings-within-files-using-sed) guide. The guide shows you [how to change file extensions with sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed/#finding-and-replacing-strings-within-files-using-sed), [delete lines from files using sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed/#deleting-lines-from-files-using-sed), and more. +To learn more about sed, see our [Manipulate Text from the Command Line with sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed#finding-and-replacing-strings-within-files-using-sed) guide. The guide shows you [how to change file extensions with sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed#finding-and-replacing-strings-within-files-using-sed), [delete lines from files using sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed#deleting-lines-from-files-using-sed), and more. ## AWK Command @@ -222,7 +222,7 @@ The output returns the following average: On each line, AWK adds the value of the fifth column to the variable `total`. At the end of the file, it prints `total` divided by `NR`, a special variable where AWK keeps the number of records it has read. -To take a deep dive into the AWK programming language, refer to our [Learn the AWK Programming Language](/cloud/guides/introduction-to-awk/) guide. +To take a deep dive into the AWK programming language, refer to our [Learn the AWK Programming Language](/cloud/guides/introduction-to-awk) guide. ## Conclusion diff --git a/docs/guides/development/awk/filter-data-using-awk-regex/index.md b/docs/guides/development/awk/filter-data-using-awk-regex/index.md index cbb94cfb5c5..062ca4f98cc 100644 --- a/docs/guides/development/awk/filter-data-using-awk-regex/index.md +++ b/docs/guides/development/awk/filter-data-using-awk-regex/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: FilterData.jpg --- -AWK, named after the developers Aho, Weinberger, and Kernighan, is ideal for finding data in text files. Among its other virtues, the [AWK Programming Language](/cloud/guides/introduction-to-awk/) is optimized to make this task as easy as possible. +AWK, named after the developers Aho, Weinberger, and Kernighan, is ideal for finding data in text files. Among its other virtues, the [AWK Programming Language](/cloud/guides/introduction-to-awk) is optimized to make this task as easy as possible. ## How To Filter Data Using AWK RegEx diff --git a/docs/guides/development/awk/test-cloud-relative-links/index.md b/docs/guides/development/awk/test-cloud-relative-links/index.md index de9d067908b..0cd630f0dfd 100644 --- a/docs/guides/development/awk/test-cloud-relative-links/index.md +++ b/docs/guides/development/awk/test-cloud-relative-links/index.md @@ -18,7 +18,7 @@ build: Test for relative link with `cloud` prefix: -- [Deploy a RAG-Powered Chatbot with LangChain on LKE](/cloud/guides/deploy-rag-powered-chatbot-langchain-lke/) -- [Awk section](/cloud/guides/development/awk/) -- [Cloud Guides & Tutorials](/cloud/guides/) +- [Deploy a RAG-Powered Chatbot with LangChain on LKE](/cloud/guides/deploy-rag-powered-chatbot-langchain-lke) +- [Awk section](/cloud/guides/development/awk) +- [Cloud Guides & Tutorials](/cloud/guides) diff --git a/docs/guides/development/bash/advanced-bash-scripting-1/index.md b/docs/guides/development/bash/advanced-bash-scripting-1/index.md index ab659964f8b..20bf152f00c 100644 --- a/docs/guides/development/bash/advanced-bash-scripting-1/index.md +++ b/docs/guides/development/bash/advanced-bash-scripting-1/index.md @@ -13,7 +13,7 @@ external_resources: - '[GNU Bash](https://www.gnu.org/software/bash/)' --- -This guide expands extends the [Introduction to Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting/) guide and our [Intermediate Guide to Bash Shell Scripting](/cloud/guides/an-intermediate-guide-to-bash-scripting/) guide by demonstrating the use of Bash functions, list constructs, arrays, aliases, and regular expressions. +This guide expands extends the [Introduction to Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting) guide and our [Intermediate Guide to Bash Shell Scripting](/cloud/guides/an-intermediate-guide-to-bash-scripting) guide by demonstrating the use of Bash functions, list constructs, arrays, aliases, and regular expressions. ## Using Functions to Reuse Code diff --git a/docs/guides/development/bash/advanced-bash-scripting-2/index.md b/docs/guides/development/bash/advanced-bash-scripting-2/index.md index 02820f491be..3451e16388b 100644 --- a/docs/guides/development/bash/advanced-bash-scripting-2/index.md +++ b/docs/guides/development/bash/advanced-bash-scripting-2/index.md @@ -13,7 +13,7 @@ external_resources: - '[Debugging Bash scripts](https://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html)' --- -The previous part of this guide, [**Guide to Advanced Bash Scripting: Part 1**](/cloud/guides/advanced-bash-scripting-1), describes the advanced Bash scripting concepts of Bash functions, list constructs, arrays, aliases, and regular expressions. This guide, the second part of this series, explains more advanced topics, including documents, Bash I/O redirection, subshells, restricted shells, process substitution, indirect references, and network programming. As well, this guide covers some Bash debugging techniques. If you're new to Bash, check out our [Introduction to Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting/) and [Intermediate Guide to Bash Scripting](/cloud/guides/an-intermediate-guide-to-bash-scripting/) before you begin this guide. +The previous part of this guide, [**Guide to Advanced Bash Scripting: Part 1**](/cloud/guides/advanced-bash-scripting-1), describes the advanced Bash scripting concepts of Bash functions, list constructs, arrays, aliases, and regular expressions. This guide, the second part of this series, explains more advanced topics, including documents, Bash I/O redirection, subshells, restricted shells, process substitution, indirect references, and network programming. As well, this guide covers some Bash debugging techniques. If you're new to Bash, check out our [Introduction to Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting) and [Intermediate Guide to Bash Scripting](/cloud/guides/an-intermediate-guide-to-bash-scripting) before you begin this guide. ## I/O Redirection diff --git a/docs/guides/development/bash/an-intermediate-guide-to-bash-scripting/index.md b/docs/guides/development/bash/an-intermediate-guide-to-bash-scripting/index.md index c7fd1dd237c..90effd2ab4c 100644 --- a/docs/guides/development/bash/an-intermediate-guide-to-bash-scripting/index.md +++ b/docs/guides/development/bash/an-intermediate-guide-to-bash-scripting/index.md @@ -13,7 +13,7 @@ external_resources: aliases: [] --- -In the previous guide of this series, [Getting Started with Bash Scripting](/cloud/guides/intro-bash-shell-scripting/), you learned Bash basics, like creating and using variables, getting user input, using environment variables, and more. In this guide, you will build off what you have already learned and put together more complex Bash scripts for common operations used by Linux system administrators like creating interactive Bash scripts with menu options, scripts that generate formatted output of your data, and scripts that work with files and directories. Each section will provide a brief introduction to each concept and commands with a few examples that you can run to better understand its function. +In the previous guide of this series, [Getting Started with Bash Scripting](/cloud/guides/intro-bash-shell-scripting), you learned Bash basics, like creating and using variables, getting user input, using environment variables, and more. In this guide, you will build off what you have already learned and put together more complex Bash scripts for common operations used by Linux system administrators like creating interactive Bash scripts with menu options, scripts that generate formatted output of your data, and scripts that work with files and directories. Each section will provide a brief introduction to each concept and commands with a few examples that you can run to better understand its function. In this guide, you will learn about: @@ -94,7 +94,7 @@ With both you are working with reality, a material just as hard as wood. ## Create Menus with the Select Statement -You can use the `select` statement to create menu systems in your bash scripts that users can interact with. When you combine `select` with the `case` statement you can create more sophisticated menu options. This section will provide three examples that use `select` to create menus. If you are not familiar with the `case` statement, you can refer to our [Getting Started with Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting/#the-case-statement) guide. +You can use the `select` statement to create menu systems in your bash scripts that users can interact with. When you combine `select` with the `case` statement you can create more sophisticated menu options. This section will provide three examples that use `select` to create menus. If you are not familiar with the `case` statement, you can refer to our [Getting Started with Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting#the-case-statement) guide. The general format for the `select` statement is the following: @@ -423,8 +423,8 @@ The example below tests if your `/etc/passwd` file exists. If the file exists, y | `-f` | File exists and is a regular file (not a directory or a device file). | | `-G` | File exists and has the same group as the active user running the bash script. | | `-h` | Files exists and is a symbolic link. | -| `-g` | Files exists and has the [set group ID flag](/cloud/guides/modify-file-permissions-with-chmod/#changing-file-permissions-with-chmod) set. | -| `-k` | File exists and has a [sticky bit flag](/cloud/guides/modify-file-permissions-with-chmod/#changing-file-permissions-with-chmod) set. | +| `-g` | Files exists and has the [set group ID flag](/cloud/guides/modify-file-permissions-with-chmod#changing-file-permissions-with-chmod) set. | +| `-k` | File exists and has a [sticky bit flag](/cloud/guides/modify-file-permissions-with-chmod#changing-file-permissions-with-chmod) set. | | `-L` | File exists and is a symbolic link. | | `-N` | File exists and has been modified since it was last read. | | `-O` | File exists and is owned by the effective user id. | @@ -432,7 +432,7 @@ The example below tests if your `/etc/passwd` file exists. If the file exists, y | `-r` | File exists and is readable. | | `-S` | File exists and is socket. | | `-s` | File exists and has a nonzero size. | -| `-u` | File exists and its [set user ID flag](/cloud/guides/modify-file-permissions-with-chmod/#changing-file-permissions-with-chmod) is set. | +| `-u` | File exists and its [set user ID flag](/cloud/guides/modify-file-permissions-with-chmod#changing-file-permissions-with-chmod) is set. | | `-w` | File exists and is writable by the current user. | | `-x` | File exists and is executable by the current user. | {{< /note >}} @@ -523,7 +523,7 @@ done ## Read Files and Searching Directories -This section will present a few utility scripts that can be adopted and expanded on to perform common operations on files and directories, like reading the contents of a text file by line, word, or character. These scripts make use of several of the concepts and techniques covered in this guide and in the [Getting Started with Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting/) guide. +This section will present a few utility scripts that can be adopted and expanded on to perform common operations on files and directories, like reading the contents of a text file by line, word, or character. These scripts make use of several of the concepts and techniques covered in this guide and in the [Getting Started with Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting) guide. ### Read a File Line by Line diff --git a/docs/guides/development/bash/how-to-use-shebang-bash-python/index.md b/docs/guides/development/bash/how-to-use-shebang-bash-python/index.md index 39efc88894c..9dd81f2c8b4 100644 --- a/docs/guides/development/bash/how-to-use-shebang-bash-python/index.md +++ b/docs/guides/development/bash/how-to-use-shebang-bash-python/index.md @@ -67,7 +67,7 @@ The directive `#!/bin/false` is a special Shebang. It immediately exits and retu 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Use a Shebang in a Bash Script? diff --git a/docs/guides/development/bash/intro-bash-shell-scripting/index.md b/docs/guides/development/bash/intro-bash-shell-scripting/index.md index f1fe772e9cf..143c305227b 100644 --- a/docs/guides/development/bash/intro-bash-shell-scripting/index.md +++ b/docs/guides/development/bash/intro-bash-shell-scripting/index.md @@ -31,7 +31,7 @@ Among other things, you will learn about: - [How to combine commands](#combining-commands-in-bash-scripts) - [How to work with files and directories](#working-with-files-and-directories) {{< note >}} -This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to properly execute. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to properly execute. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Bash Basics @@ -79,7 +79,7 @@ After that the file permissions of `hello_world.sh` will be similar to the follo {{< /output >}} {{< note >}} You will need to give all bash scripts of this guide the execute file permission -in order to be able to execute them as regular UNIX commands. For more information on file permissions, see our [Linux Users and Groups Guide](/cloud/guides/linux-users-and-groups/). +in order to be able to execute them as regular UNIX commands. For more information on file permissions, see our [Linux Users and Groups Guide](/cloud/guides/linux-users-and-groups). {{< /note >}} Executing `hello_world.sh` will generate the following output: @@ -687,4 +687,4 @@ directories with the bash scripting language. The scripting language of bash can do many more things than the ones presented in this guide. The next part of this guide will present more interesting bash shell scripts and shed more light into topics such as working with files and directories, -the `printf` command, the `select` statement and reading files. Another interesting usage of Bash shell scripting is using it to customize Git, the version control system. Our guide [Creating Git Aliases](/cloud/guides/creating-git-aliases/) includes a Bash script example. +the `printf` command, the `select` statement and reading files. Another interesting usage of Bash shell scripting is using it to customize Git, the version control system. Our guide [Creating Git Aliases](/cloud/guides/creating-git-aliases) includes a Bash script example. diff --git a/docs/guides/development/bash/solving-real-world-problems-with-bash-scripts-a-tutorial/index.md b/docs/guides/development/bash/solving-real-world-problems-with-bash-scripts-a-tutorial/index.md index 650f1077153..250c4e36f97 100644 --- a/docs/guides/development/bash/solving-real-world-problems-with-bash-scripts-a-tutorial/index.md +++ b/docs/guides/development/bash/solving-real-world-problems-with-bash-scripts-a-tutorial/index.md @@ -26,7 +26,7 @@ In this guide, you will find the following information about bash scripts: - [solving other real world problems](#bash-scripts-for-administrators) - [additional examples](#additional-examples) {{< note >}} -This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to properly execute. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to properly execute. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Functions in bash shell @@ -598,7 +598,7 @@ while read -d ':' dir; do done <<< "$DIRECTORIES:" {{< /file >}} -The counting of the files is done with the `find $dir -type f | wc -l` command. You can read more about the find command in [our guide](/cloud/guides/find-files-in-linux-using-the-command-line/). +The counting of the files is done with the `find $dir -type f | wc -l` command. You can read more about the find command in [our guide](/cloud/guides/find-files-in-linux-using-the-command-line). Run the `countFiles` script: diff --git a/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-centos-5/index.md b/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-centos-5/index.md index 2d1947df881..4c6bc8d48f1 100644 --- a/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-centos-5/index.md +++ b/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-centos-5/index.md @@ -25,7 +25,7 @@ deprecated: true Mantis Bug Tracker (commonly referred to as MantisBT) is a free web-based bug tracking system. Mantis offers many of the same capabilities as other trackers like Bugzilla, but is simpler and easy to set up. -Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). Additionally, you'll need to have followed the [LAMP guide for CentOS 5](/cloud/guides/lamp-server-on-centos-5/) and be able to [send email from your Linode](/cloud/guides/linux-system-administration-basics/#send-email-from-your-server) if you don't already have a means of sending mail from your server. +Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). Additionally, you'll need to have followed the [LAMP guide for CentOS 5](/cloud/guides/lamp-server-on-centos-5) and be able to [send email from your Linode](/cloud/guides/linux-system-administration-basics#send-email-from-your-server) if you don't already have a means of sending mail from your server. ## Installing Prerequisites @@ -63,7 +63,7 @@ Next, we'll move the `mantisbt-1.2.4` directory to our `public_html` directory u mv mantisbt-1.2.4/ /srv/www/example.com/public_html/mantis chown -R apache:apache /srv/www/example.com/public_html/mantis/ -Visit the location of MantisBT in your browser. In our first example, the URL would be `http://example.com/mantis`. Follow the installation instructions by providing the credentials to the MySQL database you created in the LAMP guide, or especially for Mantis. For additional MySQL help, see our [MySQL guide](/cloud/guides/use-mysql-relational-databases-on-fedora-13/). At this point Mantis is installed and ready to configure. +Visit the location of MantisBT in your browser. In our first example, the URL would be `http://example.com/mantis`. Follow the installation instructions by providing the credentials to the MySQL database you created in the LAMP guide, or especially for Mantis. For additional MySQL help, see our [MySQL guide](/cloud/guides/use-mysql-relational-databases-on-fedora-13). At this point Mantis is installed and ready to configure. ## Configuring Mantis diff --git a/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-debian-5-lenny/index.md b/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-debian-5-lenny/index.md index b5c29c3b116..888a7b3249e 100644 --- a/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-debian-5-lenny/index.md +++ b/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true Mantis Bug Tracker (commonly referred to as MantisBT) is a free web-based bug tracking system. Mantis offers many of the same capabilities as other trackers like Bugzilla, but is simpler and easy to set up. -Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). Additionally, you'll need to have followed both the [LAMP guide for Debian Lenny](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) as well as the [Exim guide](/cloud/guides/sendonly-mail-server-with-exim-on-debian-5-lenny/) if you don't already have a means of sending mail from your server. +Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). Additionally, you'll need to have followed both the [LAMP guide for Debian Lenny](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11) as well as the [Exim guide](/cloud/guides/sendonly-mail-server-with-exim-on-debian-5-lenny) if you don't already have a means of sending mail from your server. ## Installing Prerequisites @@ -55,7 +55,7 @@ Next, move the `mantisbt-1.2.1` directory to the `public_html` directory under t chmod -R 755 /srv/www/example.com/public_html/mantis/ chmod 777 /srv/www/example.com/public_html/mantis/ -Visit the location of MantisBT in your browser. In this example, the URL would be `http://example.com/mantis`. Follow the installation instructions by providing the credentials to the MySQL database you created in the LAMP guide, or especially for Mantis. For additional information regarding MySQL, see the [MySQL guide](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/). At this point Mantis is installed and ready to configure. +Visit the location of MantisBT in your browser. In this example, the URL would be `http://example.com/mantis`. Follow the installation instructions by providing the credentials to the MySQL database you created in the LAMP guide, or especially for Mantis. For additional information regarding MySQL, see the [MySQL guide](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny). At this point Mantis is installed and ready to configure. ## Configuring Mantis diff --git a/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-fedora-14/index.md b/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-fedora-14/index.md index 1798fce657c..d1319c6602e 100644 --- a/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-fedora-14/index.md +++ b/docs/guides/development/bug-tracking/manage-development-with-the-mantis-bug-tracker-on-fedora-14/index.md @@ -20,7 +20,7 @@ deprecated: true Mantis Bug Tracker (commonly referred to as MantisBT) is a free web-based bug tracking system. Mantis offers many of the same capabilities as other trackers like Bugzilla, but is simpler and easy to set up. -Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). Additionally, you'll need to have followed the [LAMP guide for Fedora 14](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) and be able to [send email from your Linode](/cloud/guides/linux-system-administration-basics/#send-email-from-your-server) if you don't already have a means of sending mail from your server. +Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). Additionally, you'll need to have followed the [LAMP guide for Fedora 14](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux) and be able to [send email from your Linode](/cloud/guides/linux-system-administration-basics#send-email-from-your-server) if you don't already have a means of sending mail from your server. ## Installing Prerequisites @@ -53,7 +53,7 @@ Next, we'll move the `mantisbt-1.2.4` directory to our `public_html` directory u mv mantisbt-1.2.4/ /srv/www/example.com/public_html/mantis chown -R apache:apache /srv/www/example.com/public_html/mantis/ -Visit the location of MantisBT in your browser. In our first example, the URL would be `http://example.com/mantis`. Follow the installation instructions by providing the credentials to the MySQL database you created in the LAMP guide, or especially for Mantis. For additional MySQL help, see our [MySQL guide](/cloud/guides/use-mysql-relational-databases-on-fedora-13/). At this point Mantis is installed and ready to configure. +Visit the location of MantisBT in your browser. In our first example, the URL would be `http://example.com/mantis`. Follow the installation instructions by providing the credentials to the MySQL database you created in the LAMP guide, or especially for Mantis. For additional MySQL help, see our [MySQL guide](/cloud/guides/use-mysql-relational-databases-on-fedora-13). At this point Mantis is installed and ready to configure. ## Configuring Mantis diff --git a/docs/guides/development/bug-tracking/static-code-analysis-with-sonarqube/index.md b/docs/guides/development/bug-tracking/static-code-analysis-with-sonarqube/index.md index e2297503678..63619072125 100644 --- a/docs/guides/development/bug-tracking/static-code-analysis-with-sonarqube/index.md +++ b/docs/guides/development/bug-tracking/static-code-analysis-with-sonarqube/index.md @@ -22,7 +22,7 @@ In this guide, learn everything you need to get started using SonarQube. The gui 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Static Code Analysis? @@ -31,7 +31,7 @@ Static code analysis reviews code for issues, bugs, and standards violations. On Tools for static code analysis can prevent potential issues from reaching production environments, and they can also enforce coding standards and legibility in your codebase. -You can learn more about static code analysis and what it has to offer in our [What is Static Code Analysis?](/cloud/guides/what-is-static-code-analysis/) guide. +You can learn more about static code analysis and what it has to offer in our [What is Static Code Analysis?](/cloud/guides/what-is-static-code-analysis) guide. ### Why SonarQube? @@ -486,6 +486,6 @@ You can get more details still by selecting the issue. There, you can see the of You now have an operating SonarQube server, and an example Maven project to start building off of for your own projects. SonarQube integrates with a wide range of project frameworks, and you can see more on those from the link further above. -One of the other benefits of SonarQube is its integration with CI/CD pipelines, like Jenkins. And you can start getting an idea for what that might look like through our [Jenkins CI/CD on Linode to Any Hyperscaler](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/) reference architecture. The architecture gives a robust CI/CD system and includes a code analysis step. +One of the other benefits of SonarQube is its integration with CI/CD pipelines, like Jenkins. And you can start getting an idea for what that might look like through our [Jenkins CI/CD on Linode to Any Hyperscaler](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler) reference architecture. The architecture gives a robust CI/CD system and includes a code analysis step. To keep learning what SonarQube is capable of, be sure to look over the official SonarQube documentation linked below. There, you can see more of what the tool is capable of and how to get the most out of it. diff --git a/docs/guides/development/bug-tracking/track-bugs-and-manage-development-with-bug-genie/index.md b/docs/guides/development/bug-tracking/track-bugs-and-manage-development-with-bug-genie/index.md index 49ea930c84c..9f6ab86e879 100644 --- a/docs/guides/development/bug-tracking/track-bugs-and-manage-development-with-bug-genie/index.md +++ b/docs/guides/development/bug-tracking/track-bugs-and-manage-development-with-bug-genie/index.md @@ -15,7 +15,7 @@ deprecated: true Bug Genie is an issue tracking system used to help manage all phases of the development process, including planning, bug tracking, feature development, and overall project management. Bug Genie also provides the ability to generate sophisticated reports and graphs to help project leaders and stakeholders gain a rich understanding of the ongoing state and progress of projects' development. -Before beginning this guide we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). To complete this guide, you must also install a web server. This guide will assume that you have completed the appropriate [LAMP guide](/cloud/guides/web-servers/lamp/) for your operating system. +Before beginning this guide we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). To complete this guide, you must also install a web server. This guide will assume that you have completed the appropriate [LAMP guide](/cloud/guides/web-servers/lamp) for your operating system. ## Installing Prerequisites diff --git a/docs/guides/development/bug-tracking/track-bugs-and-manage-development-with-flyspray/index.md b/docs/guides/development/bug-tracking/track-bugs-and-manage-development-with-flyspray/index.md index 651a2f93fd3..c661cfcff23 100644 --- a/docs/guides/development/bug-tracking/track-bugs-and-manage-development-with-flyspray/index.md +++ b/docs/guides/development/bug-tracking/track-bugs-and-manage-development-with-flyspray/index.md @@ -15,7 +15,7 @@ deprecated: true Flyspray is an advanced bug tracking system that allows software development teams, open source software projects, and other teams to manage development progress, issue reports, feature development, and other project tasks. Written against the popular LAMP stack, and including support for email and Jabber (XMPP) notifications, Flyspray is an ideal solution for teams that want an easy to use and manage issue tracking system with advanced features. -Before beginning this guide we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). To complete this guide, you must also install a web server. This guide will assume that you have completed the appropriate [LAMP guide](/cloud/guides/web-servers/lamp/) for your operating system. Additionally you will need to install a local [MTA to send email](/cloud/guides/linux-system-administration-basics/#send-email-from-your-server) if you do not have an MTA installed. +Before beginning this guide we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). To complete this guide, you must also install a web server. This guide will assume that you have completed the appropriate [LAMP guide](/cloud/guides/web-servers/lamp) for your operating system. Additionally you will need to install a local [MTA to send email](/cloud/guides/linux-system-administration-basics#send-email-from-your-server) if you do not have an MTA installed. ## Installing Prerequisites diff --git a/docs/guides/development/bug-tracking/what-is-code-coverage-analysis/index.md b/docs/guides/development/bug-tracking/what-is-code-coverage-analysis/index.md index 8353dcc2e4a..c6334c6dc8e 100644 --- a/docs/guides/development/bug-tracking/what-is-code-coverage-analysis/index.md +++ b/docs/guides/development/bug-tracking/what-is-code-coverage-analysis/index.md @@ -10,7 +10,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: CodeCoverageAnalysis.png tags: ["automation"] --- -Code coverage is typically part of the [unit testing](/cloud/guides/what-is-unit-testing/) phase of the software development lifecycle, although it is often used in other testing phases as well. A code coverage tool watches as the suite of unit tests run; then it reports on which functions, branches, loops, and lines of code have and have not been tested. At the highest level, the reports show the percentage coverage for each category; drilling down often shows untested code. +Code coverage is typically part of the [unit testing](/cloud/guides/what-is-unit-testing) phase of the software development lifecycle, although it is often used in other testing phases as well. A code coverage tool watches as the suite of unit tests run; then it reports on which functions, branches, loops, and lines of code have and have not been tested. At the highest level, the reports show the percentage coverage for each category; drilling down often shows untested code. Code coverage analysis tools usually work by [*instrumenting*](https://en.wikipedia.org/wiki/Instrumentation_(computer_programming)) the code being monitored. Instrumentation adds statements to your code to monitor the code execution. Depending on the source language and the tool, the instrumentation can be via source code injection or executable binary instrumentation. @@ -28,5 +28,5 @@ The choice of code coverage tools depends strongly on the programming language, [Parasoft](https://www.parasoft.com/) produces commercial testing tools for Java, C/C++, and C#. They all include code coverage and unit testing, as well as static analysis and security testing. [JetBrains](https://www.jetbrains.com/) has its own coverage tool for C# called [dotCover](https://www.jetbrains.com/help/dotcover/Running_Coverage_Analysis_from_the_Command_LIne.html). This tool integrates with Visual Studio, [ReSharper](https://www.jetbrains.com/resharper/), and the CI environment, [TeamCity](https://www.jetbrains.com/teamcity/). -The [Go language](/cloud/guides/beginners-guide-to-go/) has its own [code coverage tool](https://golang.org/cmd/cover/), integrated with its test tool. If your code is written in Python, you can use [Coverage.py](https://coverage.readthedocs.io/), which is [open source](https://github.com/nedbat/coveragepy/) with an enterprise support option. There are many JavaScript code coverage tools, like [Istanbul](https://istanbul.js.org/) and [Blanket](https://www.npmjs.com/package/blanket). +The [Go language](/cloud/guides/beginners-guide-to-go) has its own [code coverage tool](https://golang.org/cmd/cover/), integrated with its test tool. If your code is written in Python, you can use [Coverage.py](https://coverage.readthedocs.io/), which is [open source](https://github.com/nedbat/coveragepy/) with an enterprise support option. There are many JavaScript code coverage tools, like [Istanbul](https://istanbul.js.org/) and [Blanket](https://www.npmjs.com/package/blanket). diff --git a/docs/guides/development/bug-tracking/what-is-static-code-analysis/index.md b/docs/guides/development/bug-tracking/what-is-static-code-analysis/index.md index ed1c2175f7d..4f7c34e5d08 100644 --- a/docs/guides/development/bug-tracking/what-is-static-code-analysis/index.md +++ b/docs/guides/development/bug-tracking/what-is-static-code-analysis/index.md @@ -19,7 +19,7 @@ Historically, developers run static code analysis in an exploratory way as part ## How Does Static Code Analysis Fit into DevOps and CI/CD? -If you want static code analysis to help you with DevOps and [CI/CD](/cloud/guides/introduction-ci-cd/), you need to run it in your centralized build process. To do so, define the code analysis rules you care about as *severity 1*, also known as errors or bugs. Then configure the build server to halt any builds with severity 1 errors. Running static code analysis in the centralized build process guarantees that any checked-in code that is promoted to test, staging, or production environments is tested for common coding errors. Developers should also run the code analysis themselves in their local environment prior to pushing their code through their CI/CD pipeline. +If you want static code analysis to help you with DevOps and [CI/CD](/cloud/guides/introduction-ci-cd), you need to run it in your centralized build process. To do so, define the code analysis rules you care about as *severity 1*, also known as errors or bugs. Then configure the build server to halt any builds with severity 1 errors. Running static code analysis in the centralized build process guarantees that any checked-in code that is promoted to test, staging, or production environments is tested for common coding errors. Developers should also run the code analysis themselves in their local environment prior to pushing their code through their CI/CD pipeline. ## Static Code Analysis Tools diff --git a/docs/guides/development/ci/automate-builds-with-jenkins-on-ubuntu/index.md b/docs/guides/development/ci/automate-builds-with-jenkins-on-ubuntu/index.md index 1790bcc22f7..38da2704b4b 100644 --- a/docs/guides/development/ci/automate-builds-with-jenkins-on-ubuntu/index.md +++ b/docs/guides/development/ci/automate-builds-with-jenkins-on-ubuntu/index.md @@ -28,7 +28,7 @@ dedicated_cpu_link: true 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Preliminary Assumptions @@ -43,7 +43,7 @@ This guide is oriented toward DevOps professionals and thus presumes: 4. Jenkins will be used mainly through the newer [Blue Ocean](https://jenkins.io/projects/blueocean/) web interface. -5. The workstation and remote Linode will each need Docker installed beforehand. See our guide on [how to install docker images](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) for detailed instructions. +5. The workstation and remote Linode will each need Docker installed beforehand. See our guide on [how to install docker images](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian) for detailed instructions. 6. For the purpose of this guide, only a Jenkins master server will be used. diff --git a/docs/guides/development/ci/introduction-ci-cd/index.md b/docs/guides/development/ci/introduction-ci-cd/index.md index 3d0e74a29ae..6273ed54ee4 100644 --- a/docs/guides/development/ci/introduction-ci-cd/index.md +++ b/docs/guides/development/ci/introduction-ci-cd/index.md @@ -10,7 +10,7 @@ keywords: ['jenkins','pipeline','ci','automation', 'continuous integration', 'co aliases: [] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[How to Automate Builds with Jenkins on Ubuntu](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/)' + - '[How to Automate Builds with Jenkins on Ubuntu](/cloud/guides/automate-builds-with-jenkins-on-ubuntu)' audiences: ["foundational", "beginner"] tags: ["automation", "education"] --- diff --git a/docs/guides/development/ci/use-buildbot-for-software-testing-on-ubuntu/index.md b/docs/guides/development/ci/use-buildbot-for-software-testing-on-ubuntu/index.md index 96a6727645e..457e9720089 100644 --- a/docs/guides/development/ci/use-buildbot-for-software-testing-on-ubuntu/index.md +++ b/docs/guides/development/ci/use-buildbot-for-software-testing-on-ubuntu/index.md @@ -32,13 +32,13 @@ aliases: [] 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -3. Complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) steps to register a domain name that will point to your Linode instance hosting Buildbot. +3. Complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website#add-dns-records) steps to register a domain name that will point to your Linode instance hosting Buildbot. {{< note respectIndent=false >}} Replace each instance of `example.com` in this guide with your Buildbot site's domain name. {{< /note >}} -1. Your Buildbot site will serve its content over HTTPS, so you will need to obtain an SSL/TLS certificate. Use [Certbot](/cloud/guides/secure-http-traffic-certbot/#use-certbot-on-ubuntu) to request and download a free certificate from [Let's Encrypt](https://letsencrypt.org/). +1. Your Buildbot site will serve its content over HTTPS, so you will need to obtain an SSL/TLS certificate. Use [Certbot](/cloud/guides/secure-http-traffic-certbot#use-certbot-on-ubuntu) to request and download a free certificate from [Let's Encrypt](https://letsencrypt.org/). sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot @@ -49,7 +49,7 @@ Replace each instance of `example.com` in this guide with your Buildbot site's d These commands will download a certificate to `/etc/letsencrypt/live/example.com/` on your Linode. {{< note respectIndent=false >}} - The steps to install NGINX will be covered in the [Set up the Buildbot Master Web Interface](/cloud/guides/use-buildbot-for-software-testing-on-ubuntu/#set-up-the-buildbot-master-web-interface) section of the guide. + The steps to install NGINX will be covered in the [Set up the Buildbot Master Web Interface](/cloud/guides/use-buildbot-for-software-testing-on-ubuntu#set-up-the-buildbot-master-web-interface) section of the guide. {{< /note >}} ## Install Buildbot @@ -120,7 +120,7 @@ c['buildbotURL'] = "https://example.com/" ... {{}} - These options assume that you will use a custom domain secured with Let's Encrypt certificates from `certbot` as outlined in the [Before You Begin](/cloud/guides/use-buildbot-for-software-testing-on-ubuntu/#before-you-begin) section of this guide. + These options assume that you will use a custom domain secured with Let's Encrypt certificates from `certbot` as outlined in the [Before You Begin](/cloud/guides/use-buildbot-for-software-testing-on-ubuntu#before-you-begin) section of this guide. 1. Uncomment the web interface configuration lines and keep the default options: @@ -247,7 +247,7 @@ server { Your continuous integration test server is now up and running. -1. Ensure that you can log into your Buildbot instance with the admin credentials you created in the [Configure Buildbot Master](/cloud/guides/use-buildbot-for-software-testing-on-ubuntu/#set-up-the-buildbot-master-web-interface) section. Click on the top right hand dropdown menu entitled **Anonymous** and then, click on **Login**. A *Sign In* modal will appear. Enter your credentials to log in to Buildbot as the admin user. +1. Ensure that you can log into your Buildbot instance with the admin credentials you created in the [Configure Buildbot Master](/cloud/guides/use-buildbot-for-software-testing-on-ubuntu#set-up-the-buildbot-master-web-interface) section. Click on the top right hand dropdown menu entitled **Anonymous** and then, click on **Login**. A *Sign In* modal will appear. Enter your credentials to log in to Buildbot as the admin user. ### Install the Buildbot Worker diff --git a/docs/guides/development/ci/what-is-immutable-infrastructure/index.md b/docs/guides/development/ci/what-is-immutable-infrastructure/index.md index a9a21a7ad77..be5fbb5fc1a 100644 --- a/docs/guides/development/ci/what-is-immutable-infrastructure/index.md +++ b/docs/guides/development/ci/what-is-immutable-infrastructure/index.md @@ -14,7 +14,7 @@ aliases: [] ## What is Immutable Infrastructure? -Within a [Continuous Delivery](/cloud/guides/introduction-ci-cd/#what-is-continuous-delivery) model it is crucial to automate a repeatable and reliable process for software deployment. The more you scale, the more complicated this task can become. You need granular control over all components of your stack across many servers and the ability to test how components will interact within their deployed environment. +Within a [Continuous Delivery](/cloud/guides/introduction-ci-cd#what-is-continuous-delivery) model it is crucial to automate a repeatable and reliable process for software deployment. The more you scale, the more complicated this task can become. You need granular control over all components of your stack across many servers and the ability to test how components will interact within their deployed environment. An immutable server infrastructure provides a level of control and testability to maintain a healthy and stable environment for all components that never deviate from a source definition. The key guideline behind an immutable infrastructure is that you never modify a running server. If a change is required, you instead completely replace the server with a new instance that contains the update or change. The new server instance is created with an origin image that is built upon, or a restored image from a previously defined server state. You can version control and tag your images for easy rollback and distribution. The image contains all the application code, runtime dependencies and configuration--in essence, the state needed for the software to run as expected. @@ -26,7 +26,7 @@ The foundation of a successful immutable infrastructure is the server image. Bel 1. Create an origin image to boot a server instance on a Linode. This will include baseline components like the running Linux distribution and installed packages. -1. Use a configuration management tool, like [Chef](/cloud/guides/beginners-guide-chef/) or [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/), to bring the server to the state needed to host your application code. +1. Use a configuration management tool, like [Chef](/cloud/guides/beginners-guide-chef) or [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu), to bring the server to the state needed to host your application code. 1. Create a new server image from the configured server instance. @@ -44,10 +44,10 @@ Docker Containers were designed to be immutable. Docker comes with many utilitie Another benefit to using Docker containers to implement your immutable infrastructure, is that it helps manage data persistence or *stateful* components, like an application's database. Stateful components cannot simply be destroyed and redeployed using a server image. With a Docker container, you can take advantage of their [volumes](https://docs.docker.com/storage/volumes/) feature. The Docker volume will exist outside the lifecycle of a given container, allowing you to destroy a container at will and spin up a new one with the persisted data. -For more information on Docker, see our [An Introduction to Docker](/cloud/guides/introduction-to-docker/) guide. You can also read [How to Deploy Microservices with Docker](/cloud/guides/deploying-microservices-with-docker/) to learn about building large-scale applications with containers. +For more information on Docker, see our [An Introduction to Docker](/cloud/guides/introduction-to-docker) guide. You can also read [How to Deploy Microservices with Docker](/cloud/guides/deploying-microservices-with-docker) to learn about building large-scale applications with containers. ## Pros and Cons to an Immutable Infrastructure -There are many benefits to implementing an immutable infrastructure into your [CI/CD pipeline](/cloud/guides/introduction-ci-cd/), however there are also some initial drawbacks that are important to understand. Your adoption of this pattern can depend on your current infrastructure, if one already exists, your team's expertise and your own desire to learn and implement new tooling. This information will help you determine if this is a model that makes sense for your project or organization. +There are many benefits to implementing an immutable infrastructure into your [CI/CD pipeline](/cloud/guides/introduction-ci-cd), however there are also some initial drawbacks that are important to understand. Your adoption of this pattern can depend on your current infrastructure, if one already exists, your team's expertise and your own desire to learn and implement new tooling. This information will help you determine if this is a model that makes sense for your project or organization. **Pros** @@ -72,9 +72,9 @@ Here are some popular tools: - [Linode Images](https://techdocs.akamai.com/cloud-computing/docs/images) allow you to take snapshots of your disks or upload your own custom image files. You can then deploy them to any Linode under your account. - [Packer](https://www.packer.io/guides/packer-on-cicd/) helps you create multiple machine images from a single source configuration. -- [Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) is used to manage change within your deployment stack and maintain *Infrastructure as Code*. +- [Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode) is used to manage change within your deployment stack and maintain *Infrastructure as Code*. - [Docker](https://docs.docker.com/) can be used to create and manage images and isolate application services. -- [Docker Swarm](/cloud/guides/how-to-create-a-docker-swarm-manager-and-nodes-on-linode/) helps you scale up the power of Docker by creating a cluster of Docker hosts. +- [Docker Swarm](/cloud/guides/how-to-create-a-docker-swarm-manager-and-nodes-on-linode) helps you scale up the power of Docker by creating a cluster of Docker hosts. - [SaltStack](https://saltstack.com/) is a configuration management platform designed to control a number of *minion* servers from a single master server. - [Linode Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) can easily store and persist date across Linodes. -- [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/) is an open-source automation server that allows you to build pipelines for build, testing, and deployment automation. +- [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu) is an open-source automation server that allows you to build pipelines for build, testing, and deployment automation. diff --git a/docs/guides/development/clojure/clojure-deployment-with-immutant-and-wildfly-on-ubuntu-14-04/index.md b/docs/guides/development/clojure/clojure-deployment-with-immutant-and-wildfly-on-ubuntu-14-04/index.md index 63dcc0a9fd3..ab456a5b50f 100644 --- a/docs/guides/development/clojure/clojure-deployment-with-immutant-and-wildfly-on-ubuntu-14-04/index.md +++ b/docs/guides/development/clojure/clojure-deployment-with-immutant-and-wildfly-on-ubuntu-14-04/index.md @@ -32,14 +32,14 @@ This guide will show how to deploy a Clojure application to WildFly - the popula 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. In this guide `example.com` will be used as a domain name, and `linode-user` as a name of non-root user. Substitute your own FQDN and username accordingly. {{< /note >}} ## Install Oracle JDK 8 -1. Add Oracle Java 8 Installer PPA repository to the system. If you are not comfortable with using 3rd-party PPA, please use instructions for manual installation of Oracle Java 8 from [Java Development with WildFly on CentOS 7](/cloud/guides/java-development-wildfly-centos-7/) guide. +1. Add Oracle Java 8 Installer PPA repository to the system. If you are not comfortable with using 3rd-party PPA, please use instructions for manual installation of Oracle Java 8 from [Java Development with WildFly on CentOS 7](/cloud/guides/java-development-wildfly-centos-7) guide. sudo add-apt-repository ppa:webupd8team/java diff --git a/docs/guides/development/concepts/data-structure/index.md b/docs/guides/development/concepts/data-structure/index.md index c3f517bc8bf..f243f0cef13 100644 --- a/docs/guides/development/concepts/data-structure/index.md +++ b/docs/guides/development/concepts/data-structure/index.md @@ -108,4 +108,4 @@ However, if the relationships between these items are of great significance, the The definition of a data structure is "a data format that helps developers organize, manage, and store information". Computer data structures are described by the relationships between the items, the operations supported by the structure, and the actual values of the items. Developers often create new data structures and algorithms for an application, but many structures are built into the main programming languages. -Some data structures are linear. This means the items are arranged in sequential order. Others are non-linear and should be used when the relationships between items is important. The most widely-used data structures include arrays, stacks, queues, records, trees, graphs, linked lists, and hash tables. There are many factors involved in choosing a data structure to use. However, memory use, performance, and ease of use are the most important. If you'd like to try out some of the data structures discussed in this guide, visit our documentation library's [Python section](/cloud/guides/development/python/). This section includes guides on various primary data types and linear data types in Python. \ No newline at end of file +Some data structures are linear. This means the items are arranged in sequential order. Others are non-linear and should be used when the relationships between items is important. The most widely-used data structures include arrays, stacks, queues, records, trees, graphs, linked lists, and hash tables. There are many factors involved in choosing a data structure to use. However, memory use, performance, and ease of use are the most important. If you'd like to try out some of the data structures discussed in this guide, visit our documentation library's [Python section](/cloud/guides/development/python). This section includes guides on various primary data types and linear data types in Python. \ No newline at end of file diff --git a/docs/guides/development/concepts/differences-between-graph-and-relational-databases/index.md b/docs/guides/development/concepts/differences-between-graph-and-relational-databases/index.md index a371b5581d6..1b505198628 100644 --- a/docs/guides/development/concepts/differences-between-graph-and-relational-databases/index.md +++ b/docs/guides/development/concepts/differences-between-graph-and-relational-databases/index.md @@ -163,4 +163,4 @@ Here are five examples of popular relational databases: Graph databases are here to stay. When you have highly complex relationships between data, this is the type of database you should consider. They are outstanding options for fraud detection, 360-degree customer views, recommendation engines, network/operations mapping, AI knowledge graphs, social networking, and supply chain mapping. Any use case where data relationships are constantly changing is an ideal place for graph databases. -To find out how you can work with various databases on Linode, check out the[ list of supported databases](/cloud/guides/list-of-databases/), which includes links on how to install them. +To find out how you can work with various databases on Linode, check out the[ list of supported databases](/cloud/guides/list-of-databases), which includes links on how to install them. diff --git a/docs/guides/development/concepts/oop-principles/index.md b/docs/guides/development/concepts/oop-principles/index.md index 4415d7135dc..2598884d201 100644 --- a/docs/guides/development/concepts/oop-principles/index.md +++ b/docs/guides/development/concepts/oop-principles/index.md @@ -39,7 +39,7 @@ public class ClassName { - **Objects**: These are derived from classes and populate the abstract of their classes' properties with concrete values. They are the things built from the blueprints provided by classes. Objects also tend to be where the behaviors defined on classes get executed, bringing your application to life. - Java lets you instantiate an object from a class using the `new` keyword. Here, a new object gets created from the class created above. This example works when the class has a *constructor* defined. You can see an example of a constructor definition in the [Examples of Object Oriented Programming](/cloud/guides/oop-principles/#examples-of-object-oriented-programming) section further on. + Java lets you instantiate an object from a class using the `new` keyword. Here, a new object gets created from the class created above. This example works when the class has a *constructor* defined. You can see an example of a constructor definition in the [Examples of Object Oriented Programming](/cloud/guides/oop-principles#examples-of-object-oriented-programming) section further on. {{< file >}} ClassName objectName = new ClassName(); @@ -309,6 +309,6 @@ Playing Minecraft. In this guide you learned the fundamental principles of object-oriented programming. The concepts covered were encapsulation, abstraction, inheritance, and polymorphism. Applying these concepts helps to ensure that you are making the most of what the paradigm can do. -Throughout this tutorial, the focus has been on OOP related to Java. But keep in mind that these concepts apply anywhere that supports object-oriented programming. [JavaScript](/cloud/guides/development/javascript/), [Python](/cloud/guides/development/python/), and [Ruby](/cloud/guides/development/ror/) are popular examples. +Throughout this tutorial, the focus has been on OOP related to Java. But keep in mind that these concepts apply anywhere that supports object-oriented programming. [JavaScript](/cloud/guides/development/javascript), [Python](/cloud/guides/development/python), and [Ruby](/cloud/guides/development/ror) are popular examples. diff --git a/docs/guides/development/concepts/types-of-api/index.md b/docs/guides/development/concepts/types-of-api/index.md index 558aa6ed55b..dede50fe711 100644 --- a/docs/guides/development/concepts/types-of-api/index.md +++ b/docs/guides/development/concepts/types-of-api/index.md @@ -20,9 +20,9 @@ In this tutorial, learn about what APIs are, the types of APIs that are availabl An API — short for *Application Programming Interface* — defines a set of rules by which applications and services can interact. -APIs are used in a wide variety of contexts. However, often, when people talk about APIs, they are talking about *web APIs*. These APIs allow for communication between applications and services using the [HTTP protocol](/cloud/guides/introducing-http-2/). +APIs are used in a wide variety of contexts. However, often, when people talk about APIs, they are talking about *web APIs*. These APIs allow for communication between applications and services using the [HTTP protocol](/cloud/guides/introducing-http-2). -Often, web APIs are used for web application servers and web browsers to communicate. However, you may also see web APIs used for communication between different web servers, or between applications on the same server. You may even see web APIs at work between different services acting as parts of the same application. One example of an API enabling communication between different services of the same application, is Kubernetes. The [Kubernetes API](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/#kubernetes-api) is the linchpin to its powerful orchestration system. +Often, web APIs are used for web application servers and web browsers to communicate. However, you may also see web APIs used for communication between different web servers, or between applications on the same server. You may even see web APIs at work between different services acting as parts of the same application. One example of an API enabling communication between different services of the same application, is Kubernetes. The [Kubernetes API](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction#kubernetes-api) is the linchpin to its powerful orchestration system. ## The Four Main Types of APIs @@ -90,7 +90,7 @@ To give an example of a composite API in action, think of an online ordering for Make use of a composite API when your application exposes endpoints that are likely to be called in groups or in quick succession. This is often the case with microservices, where requests and responses frequently need to be combined. -This type of API can be especially useful when your [microservice application](/cloud/guides/deploying-microservices-with-docker/#what-is-a-microservice) needs to communicate with users' web browsers. Here, you want to optimize network traffic to reduce load times and improve user experience. You also want to reduce your server load to make your application scalable for a larger number of users. +This type of API can be especially useful when your [microservice application](/cloud/guides/deploying-microservices-with-docker#what-is-a-microservice) needs to communicate with users' web browsers. Here, you want to optimize network traffic to reduce load times and improve user experience. You also want to reduce your server load to make your application scalable for a larger number of users. ## What are the Different API Protocol Types? @@ -98,7 +98,7 @@ Every API uses a particular protocol. An API's protocol defines the rules for ho There are three main protocols used by web APIs. -- **REST**. Short for Representational State Transfer, REST implements stateless APIs with uniform interfaces using HTTP. REST is actually more of a set of architectural principles for APIs than a protocol proper. You can use the [Flask Python framework](/cloud/guides/create-restful-api-using-python-and-flask/) to build your own REST API. +- **REST**. Short for Representational State Transfer, REST implements stateless APIs with uniform interfaces using HTTP. REST is actually more of a set of architectural principles for APIs than a protocol proper. You can use the [Flask Python framework](/cloud/guides/create-restful-api-using-python-and-flask) to build your own REST API. - **SOAP**. The Simple Object Access Protocol uses XML for requests and responses and maintains strict definitions for messages. SOAP is highly adaptable, designed to be neutral, and applicable in many contexts, not just for web APIs. It can even be used in conjunction with REST principles. diff --git a/docs/guides/development/concepts/webrtc-vs-websockets/index.md b/docs/guides/development/concepts/webrtc-vs-websockets/index.md index e18ad45037c..87396d20892 100644 --- a/docs/guides/development/concepts/webrtc-vs-websockets/index.md +++ b/docs/guides/development/concepts/webrtc-vs-websockets/index.md @@ -41,7 +41,7 @@ WebRTC is a free, open-source specification for transmitting high-quality audio - To establish the initial peer-to-peer connection, WebRTC must rely on an intermediate signaling server. The protocol is agnostic regarding what signaling service to use. Most implementations use a *Traversal Using Relays around NAT* (TURN) or *Session Traversal Utilities for NAT* (STUN) server to set up the *signal channel*. Peers share connection parameters and advertise their media channels using the *Session Description Protocol* (SDP). -For more in-depth information about WebRTC, see our introduction guide [What Is WebRTC?](/cloud/guides/what-is-webrtc/) For API information, see [Mozilla's WebRTC documentation](https://developer.mozilla.org/en-US/docs/Glossary/WebRTC). +For more in-depth information about WebRTC, see our introduction guide [What Is WebRTC?](/cloud/guides/what-is-webrtc) For API information, see [Mozilla's WebRTC documentation](https://developer.mozilla.org/en-US/docs/Glossary/WebRTC). ### Advantages and Disadvantages of WebRTC @@ -79,7 +79,7 @@ WebSockets is also an open standard protocol for web applications. It enables a - The WebSocket Protocol offers an event-based API for incorporation into JavaScript or other programming languages. Developers can listen for, and react to, events from the server. Polling is never required. Servers can choose from four different events, including `Open`, `Message`, `Error`, and `Close`. -For more information on WebSockets, including how to create and use a socket, see our [Introduction to WebSockets](/cloud/guides/introduction-to-websockets/) guide. The [Mozilla WebSockets documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) contains technical details about the web API. +For more information on WebSockets, including how to create and use a socket, see our [Introduction to WebSockets](/cloud/guides/introduction-to-websockets) guide. The [Mozilla WebSockets documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) contains technical details about the web API. ### Advantages and Disadvantages of WebSockets diff --git a/docs/guides/development/concepts/what-is-a-service-mesh/index.md b/docs/guides/development/concepts/what-is-a-service-mesh/index.md index 93d1cc056b4..c29f5f4734d 100644 --- a/docs/guides/development/concepts/what-is-a-service-mesh/index.md +++ b/docs/guides/development/concepts/what-is-a-service-mesh/index.md @@ -80,5 +80,5 @@ There are currently three major contenders in the field of service mesh provider In addition to the resources linked below, you can also continue to learn about service meshes and how to use them in the guides listed below. Each guide shows you how to get started with a specific service mesh provider. -- [How to Install HashiCorp's Consul Service Mesh](/cloud/guides/how-to-install-hashicorp-consul-service-mesh/) -- [How to Deploy Linkerd 2 with Linode Kubernetes Engine](/cloud/guides/how-to-deploy-linkerd-with-linode-kubernetes-engine/) +- [How to Install HashiCorp's Consul Service Mesh](/cloud/guides/how-to-install-hashicorp-consul-service-mesh) +- [How to Deploy Linkerd 2 with Linode Kubernetes Engine](/cloud/guides/how-to-deploy-linkerd-with-linode-kubernetes-engine) diff --git a/docs/guides/development/concepts/what-is-unit-testing/index.md b/docs/guides/development/concepts/what-is-unit-testing/index.md index 279235affe1..072d55da6e7 100644 --- a/docs/guides/development/concepts/what-is-unit-testing/index.md +++ b/docs/guides/development/concepts/what-is-unit-testing/index.md @@ -33,6 +33,6 @@ The unit testing phase sometimes includes running static code analysis, dataflow Unit testing frameworks can simplify the process of writing and running unit tests. Among the common frameworks are [SUnit](https://en.wikipedia.org/wiki/SUnit) (for Smalltalk, 1998), [Junit](https://junit.org) (for Java, 2002), and [NUnit](https://nunit.org/) (for .NET, not long after JUnit), referred to collectively as xUnit. These divide the tests into fixtures (setup and teardown), suites (tests requiring a common fixture), assertions (the conditions that must be met for a test to succeed), a runner (driving all tests), and a result formatter (typically producing XML). -Some languages, such as [Go](/cloud/guides/development/go/), [Python](/cloud/guides/development/python/), [Ruby](/cloud/guides/development/ror/), and Rust, directly support unit testing. Other languages, such as C++, Objective-C, Scala, and the languages supported by xUnit, rely on third-party unit-testing libraries or frameworks. +Some languages, such as [Go](/cloud/guides/development/go), [Python](/cloud/guides/development/python), [Ruby](/cloud/guides/development/ror), and Rust, directly support unit testing. Other languages, such as C++, Objective-C, Scala, and the languages supported by xUnit, rely on third-party unit-testing libraries or frameworks. Parameterized tests can eliminate a lot of the repetitive code bloat of single-purpose unit tests while maintaining code coverage, and xUnit supports parameterized tests. You can supply the parameters for tests manually; sometimes the test framework can generate test parameters automatically. \ No newline at end of file diff --git a/docs/guides/development/data-visualization/visualize-history/index.md b/docs/guides/development/data-visualization/visualize-history/index.md index 3d8ac150ec3..8d26e82fa14 100644 --- a/docs/guides/development/data-visualization/visualize-history/index.md +++ b/docs/guides/development/data-visualization/visualize-history/index.md @@ -42,7 +42,7 @@ This guide assumes you have some basic familiarity with the following concepts a ## Create Your Data Sets -In this section, you will create a data set using the contents of your [Bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) history file and optionally, your [Zsh](https://en.wikipedia.org/wiki/Z_shell) history file. You will then create a third data set using a Perl script that will extract information from the first two data sets. In the [Create Visualizations for your Data](/cloud/guides/visualize-history/#create-visualizations-for-your-data) section of the guide, you will use these various data sets to create corresponding visualizations. +In this section, you will create a data set using the contents of your [Bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) history file and optionally, your [Zsh](https://en.wikipedia.org/wiki/Z_shell) history file. You will then create a third data set using a Perl script that will extract information from the first two data sets. In the [Create Visualizations for your Data](/cloud/guides/visualize-history#create-visualizations-for-your-data) section of the guide, you will use these various data sets to create corresponding visualizations. ### Data Set 1 - Bash History File A Bash history file stores all commands executed in your command line interpreter. View your 10 most recently executed commands with the following command: @@ -70,7 +70,7 @@ Create a new directory named `data-sets`to store your data and copy your Bash hi ### Data Set 2 - Zsh History File -If you are using the Zsh shell interpreter, you can use its history file as a second data set. Zsh's history file format includes data that you will need to exclude from your data set. Use [AWK](/cloud/guides/introduction-to-awk/) to clean up your Zsh history file and save the output to a new file in the `data-sets` directory: +If you are using the Zsh shell interpreter, you can use its history file as a second data set. Zsh's history file format includes data that you will need to exclude from your data set. Use [AWK](/cloud/guides/introduction-to-awk) to clean up your Zsh history file and save the output to a new file in the `data-sets` directory: awk -F ";" '{$1=""; print $0}' ~/.zsh_history | sed -e "s/^[ \t]*//" -e "/^$/d" > data-sets/data-2 @@ -529,5 +529,5 @@ In this example, your JSON data is hardcoded in `pieChart.html` for simplicity. Now that you are familiar with some data visualization tools and simple techniques, you can begin to explore more sophisticated approaches using the same tools explored in this guide. Here are a few ideas you can consider: - Create a new data set by extracting all `git` related commands from your history files; analyze and visualize them. -- Automate some of the techniques discussed in this guide using [Cron](/cloud/guides/schedule-tasks-with-cron/) jobs to generate your data sets automatically. +- Automate some of the techniques discussed in this guide using [Cron](/cloud/guides/schedule-tasks-with-cron) jobs to generate your data sets automatically. - Explore the [Python for Data Science](http://wavedatalab.github.io/datawithpython/index.html) eBook's [data visualization](http://wavedatalab.github.io/datawithpython/visualize.html) section for a deeper dive into using pandas. diff --git a/docs/guides/development/deno/how-to-install-and-use-deno/index.md b/docs/guides/development/deno/how-to-install-and-use-deno/index.md index b8e23a5d8db..998cfa15bb7 100644 --- a/docs/guides/development/deno/how-to-install-and-use-deno/index.md +++ b/docs/guides/development/deno/how-to-install-and-use-deno/index.md @@ -81,7 +81,7 @@ Under some circumstances, Deno and Node.js can be used together. Many NPM packag 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Deno diff --git a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-debian-10/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-debian-10/index.md index 2acbbb4a4f7..5b77775183f 100644 --- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-debian-10/index.md +++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-debian-10/index.md @@ -28,7 +28,7 @@ Apache Tomcat is an open-source software implementation of the Java Servlet and ## Before You Begin -1. Ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). +1. Ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). 2. Make sure you've followed our instructions for [setting your hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). Issue the following commands to make sure it is set properly: @@ -41,7 +41,7 @@ Apache Tomcat is an open-source software implementation of the Java Servlet and apt-get update && apt-get upgrade {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Apache Tomcat diff --git a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-12/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-12/index.md index e603e9ce98e..490705c841a 100644 --- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-12/index.md +++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-12/index.md @@ -20,7 +20,7 @@ deprecated: true Apache Tomcat is a free and open source software implementation for Java Servlets. It provides support for the Java Server Pages (JSP) that power many popular web-based applications. -This guide assumes that you have a working installation of Fedora 12, and that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to get your system working and up to date. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +This guide assumes that you have a working installation of Fedora 12, and that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to get your system working and up to date. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Apache Tomcat diff --git a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-13/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-13/index.md index 513ab11907e..a612e93795a 100644 --- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-13/index.md +++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true Apache Tomcat is a free and open source software implementation for Java Servlets. It provides support for the Java Server Pages (JSP) that power many popular web-based applications. -This guide assumes that you have a working installation of Fedora 13, and that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to get your system working and up to date. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +This guide assumes that you have a working installation of Fedora 13, and that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to get your system working and up to date. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Apache Tomcat diff --git a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-14/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-14/index.md index 16a0bee1fa4..1eb81ccab1a 100644 --- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-14/index.md +++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-fedora-14/index.md @@ -20,7 +20,7 @@ deprecated: true Apache Tomcat is a free and open source software implementation for Java Servlets. It provides support for the Java Server Pages (JSP) that power many popular web-based applications. -This guide assumes that you have a working installation of Fedora 14, and that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to get your system working and up to date. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +This guide assumes that you have a working installation of Fedora 14, and that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to get your system working and up to date. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname diff --git a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-10-04-lucid/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-10-04-lucid/index.md index ee68c450712..9fb7f6f3d60 100644 --- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true Apache Tomcat is an open source software implementation of the Java Servlet and Java Server Pages technologies. You may choose to run application within Tomcat using either the OpenJDK implementation or the Sun Microsystems implementation of the Java development environment. -Before following this guide, ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). +Before following this guide, ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). ## Set the Hostname diff --git a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-10-10-maverick/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-10-10-maverick/index.md index 54dd4424dc6..4aa2b357b08 100644 --- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true Apache Tomcat is an open source software implementation of the Java Servlet and Java Server Pages technologies. You may choose to run applications within Tomcat using either the OpenJDK implementation or the Sun Microsystems/Oracle implementation of the Java development environment. -Before following this guide, ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). +Before following this guide, ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). ## Set the Hostname diff --git a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-12-04-precise-pangolin/index.md index 64b34ca3826..b60fe6a177a 100644 --- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-12-04-precise-pangolin/index.md @@ -22,7 +22,7 @@ deprecated: true Apache Tomcat is an open source software implementation of the Java Servlet and Java Server Pages technologies. You'll run applications within Tomcat using the OpenJDK implementation of the Java development environment. -Before following this guide, ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). +Before following this guide, ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). ## Prerequisites diff --git a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-16-04/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-16-04/index.md index edf568aa8f3..33659c85428 100644 --- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-16-04/index.md +++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-16-04/index.md @@ -31,7 +31,7 @@ Apache Tomcat is an open-source software implementation of the Java Servlet and ## Before You Begin -1. Ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). +1. Ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). 2. Make sure you've followed our instructions for [setting your hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). Issue the following commands to make sure it is set properly: @@ -44,7 +44,7 @@ Apache Tomcat is an open-source software implementation of the Java Servlet and apt-get update && apt-get upgrade {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Apache Tomcat diff --git a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-18-04/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-18-04/index.md index 16f07d99e83..39987c2e66b 100644 --- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-18-04/index.md +++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-18-04/index.md @@ -28,7 +28,7 @@ Apache Tomcat is an open-source software implementation of the Java Servlet and ## Before You Begin -1. Ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). +1. Ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). 2. Make sure you've followed our instructions for [setting your hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). Issue the following commands to make sure it is set properly: @@ -41,7 +41,7 @@ Apache Tomcat is an open-source software implementation of the Java Servlet and apt-get update && apt-get upgrade {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Apache Tomcat diff --git a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-9-10-karmic/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-9-10-karmic/index.md index 625839e34e0..20bafd8618f 100644 --- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true Apache Tomcat is an open source software implementation of the Java Servlet and Java Server Pages technologies. You may choose to run application within Tomcat using either the OpenJDK implementation or the Sun Microsystems implementation of the Java development environment. -Before following this guide, ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). +Before following this guide, ensure that your system is up to date and that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). ## Choose and Install Java Implementation diff --git a/docs/guides/development/frameworks/apache-tomcat/installing-apache-tomcat-on-ubuntu-9-04-jaunty/index.md b/docs/guides/development/frameworks/apache-tomcat/installing-apache-tomcat-on-ubuntu-9-04-jaunty/index.md index 2f2e6d12cca..b8c7a0e13b1 100644 --- a/docs/guides/development/frameworks/apache-tomcat/installing-apache-tomcat-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/development/frameworks/apache-tomcat/installing-apache-tomcat-on-ubuntu-9-04-jaunty/index.md @@ -20,7 +20,7 @@ deprecated: true Apache Tomcat is an "[open source software implementation of the Java Servlet and JavaServer Pages technologies.](http://tomcat.apache.org/)" You may choose to use either the OpenJDK implementation or the Sun Microsystems implementation of Java when installing Tomcat. -Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). We also assume you're logged into your Linode via SSH as root for this guide. +Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). We also assume you're logged into your Linode via SSH as root for this guide. ## Choose and Install Java Implementation diff --git a/docs/guides/development/frameworks/appsmith/connect-appsmith-to-linode-api/index.md b/docs/guides/development/frameworks/appsmith/connect-appsmith-to-linode-api/index.md index 7316bb12dd3..6fdaf565ac3 100644 --- a/docs/guides/development/frameworks/appsmith/connect-appsmith-to-linode-api/index.md +++ b/docs/guides/development/frameworks/appsmith/connect-appsmith-to-linode-api/index.md @@ -39,7 +39,7 @@ While this tutorial is specifically concerned with the Linode API, similar steps 1. Follow our guide on [How to Self-host Appsmith with Docker Compose](/cloud/guides/deploy-appsmith-docker) for steps to install Docker and start running an Appsmith instance on your own server. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Getting Familiar with the Linode API @@ -48,7 +48,7 @@ The [Linode API](https://www.linode.com/products/linode-api/) gives you complete The API has been designed to give both developers and system administrators tools for managing Linode products and services programmatically. Not only that, but it also allows for integrating those services into other applications. -Take a look at the link to the page on the Linode API above to learn more about the API and its capabilities. Then, see the [Preparing the Linode API](/cloud/guides/connect-appsmith-to-linode-api/#preparing-the-linode-api) section further on to learn about setting up the Linode API for your own use. +Take a look at the link to the page on the Linode API above to learn more about the API and its capabilities. Then, see the [Preparing the Linode API](/cloud/guides/connect-appsmith-to-linode-api#preparing-the-linode-api) section further on to learn about setting up the Linode API for your own use. ## Connecting Appsmith to the Linode API diff --git a/docs/guides/development/frameworks/appsmith/deploy-appsmith-docker/index.md b/docs/guides/development/frameworks/appsmith/deploy-appsmith-docker/index.md index 1539da93f72..558ec1ab405 100644 --- a/docs/guides/development/frameworks/appsmith/deploy-appsmith-docker/index.md +++ b/docs/guides/development/frameworks/appsmith/deploy-appsmith-docker/index.md @@ -34,7 +34,7 @@ In this tutorial, learn how to get started with Appsmith by deploying your own s sudo dnf upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Appsmith? @@ -69,9 +69,9 @@ The first step is to install Docker and Docker Compose. Docker runs Appsmith, wh 1. Install Docker using the steps outlined in one of the following guides, depending on your Linux distribution. - - **Debian** and **Ubuntu**: Use our guide on [How to Install and Use Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/). + - **Debian** and **Ubuntu**: Use our guide on [How to Install and Use Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian). - - **AlmaLinux**, **CentOS Stream**, **Fedora**, and **Rocky Linux**: Use our guide on [How to Install and Use Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora/). + - **AlmaLinux**, **CentOS Stream**, **Fedora**, and **Rocky Linux**: Use our guide on [How to Install and Use Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora). 1. Install Docker Compose using your distribution's package manager. @@ -111,7 +111,7 @@ With the Docker Compose files for Appsmith downloaded, you can now start up Apps With the initial run, Docker Compose starts by downloading the necessary image files for the Appsmith services. For this reason, the first time you run this command may take longer than subsequent times. -Docker Compose starts up the Appsmith services once it has finished with these initial downloads. Read on to the [How to Start Using Appsmith](/cloud/guides/deploy-appsmith-docker/#how-to-start-using-appsmith) section below to see it in action. +Docker Compose starts up the Appsmith services once it has finished with these initial downloads. Read on to the [How to Start Using Appsmith](/cloud/guides/deploy-appsmith-docker#how-to-start-using-appsmith) section below to see it in action. ### Stopping Appsmith @@ -129,9 +129,9 @@ However, doing so is often not feasible, especially not for numerous users. Like You can do so by navigating to the Appsmith server's URL, which may be an IP address, like `192.0.2.0`. But first, you need to ensure that the server's firewall provides external access to the HTTP port, port `80`. -- **Debian** and **Ubuntu**: Refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). +- **Debian** and **Ubuntu**: Refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). -- **AlmaLinux**, **CentOS Stream**, **Fedora**, and **Rocky Linux**: Refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). +- **AlmaLinux**, **CentOS Stream**, **Fedora**, and **Rocky Linux**: Refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos). Having opened the port, navigate to the server's URL/IP address, and you should be greeted by the Appsmith welcome page. @@ -214,7 +214,7 @@ Setting up Appsmith for automatic updates requires a configuration change in a d sudo docker compose up -d -Alternatively, you can make manual updates to your Appsmith instance. Take a look at the section on [Updating Appsmith](/cloud/guides/deploy-appsmith-docker/#updating-appsmith) below for the commands to do so. +Alternatively, you can make manual updates to your Appsmith instance. Take a look at the section on [Updating Appsmith](/cloud/guides/deploy-appsmith-docker#updating-appsmith) below for the commands to do so. ## How to Manage the Appsmith Instance @@ -246,7 +246,7 @@ You can update your Appsmith instance manually, if you have not enabled automati sudo docker rm -f appsmith sudo docker run -d --name appsmith -p 80:80 -v "$PWD/stacks:/appsmith-stacks" appsmith/appsmith-ce -Alternatively, refer to the [Configuring Automatic Updates](/cloud/guides/deploy-appsmith-docker/#configuring-automatic-updates) section above for steps to enable automatic updates on your Appsmith instance. +Alternatively, refer to the [Configuring Automatic Updates](/cloud/guides/deploy-appsmith-docker#configuring-automatic-updates) section above for steps to enable automatic updates on your Appsmith instance. ## Conclusion diff --git a/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-debian-5-lenny/index.md b/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-debian-5-lenny/index.md index 86c739d6405..4ce9f420386 100644 --- a/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-debian-5-lenny/index.md +++ b/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true `mod_mono` is an Apache module that makes it possible to run ASP.NET applications in Linux environments running Apache. While ASP.NET is a Microsoft technology and is traditionally used with IIS, `mod_mono` has become a viable option for deploying ASP.NET applications on Linux. This guide is inspired by the [mod\_mono guide created by the Ubuntu Community](https://help.ubuntu.com/community/ModMono) and the [Mono Project's Apache and Mono document](http://mono-project.com/Mod_mono) with minor modifications. This guide does not cover installation and configuration of the Mono IDE which is used to develop ASP.NET applications on Linux. If you are interested in developing using Visual Studio for Mono, you can download a 30-day trial of the commercial Mono Tools plugin at the [Mono Tools for Visual Studio page](http://go-mono.com/monotools). -This guide assumes that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will install the [Apache web server](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) with very minimal configuration. If you already have Apache installed and configured, you may omit these steps; however, if you have not installed Apache and are unfamiliar with this server read the installation guide for additional documentation. Additionally, `mod_mono` is incompatible with the integrated PHP interpreter described in other guides. If you need to have both mod\_mono and PHP running on the same Apache server you will need to run [PHP scripts using the CGI method](/cloud/guides/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/) +This guide assumes that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will install the [Apache web server](/cloud/guides/apache-2-web-server-on-debian-5-lenny) with very minimal configuration. If you already have Apache installed and configured, you may omit these steps; however, if you have not installed Apache and are unfamiliar with this server read the installation guide for additional documentation. Additionally, `mod_mono` is incompatible with the integrated PHP interpreter described in other guides. If you need to have both mod\_mono and PHP running on the same Apache server you will need to run [PHP scripts using the CGI method](/cloud/guides/run-php-applications-under-cgi-with-apache-on-debian-5-lenny) ## Set the Hostname @@ -62,7 +62,7 @@ When the installation process completes start Apache with the following command: ### Configure Apache -We recommend using name-based virtual hosts for web hosting. Refer to the Apache documentation for [setting up Name-based virtual hosts](/cloud/guides/apache-2-web-server-on-debian-5-lenny/#configure-name-based-virtual-hosts). +We recommend using name-based virtual hosts for web hosting. Refer to the Apache documentation for [setting up Name-based virtual hosts](/cloud/guides/apache-2-web-server-on-debian-5-lenny#configure-name-based-virtual-hosts). Recent versions of `mod_mono` utilize the `AutoHosting` method of application deployment. This allows non-privileged users to deploy new applications without modifying Apache configuration files. While this provides great flexibility, it may also present a security risk. As a result, `mod_mono` must be enabled on a per-virtual host basis. @@ -120,7 +120,7 @@ You can safely ignore this warning, as it won't affect deployment using the meth ## Installing MySQL Connector/Net for ASP.NET -This section assumes that you already have a functioning MySQL installation. Please refer to our [MySQL Installation Guide](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/) for more detailed instructions for installing MySQL, otherwise issue the following command: +This section assumes that you already have a functioning MySQL installation. Please refer to our [MySQL Installation Guide](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny) for more detailed instructions for installing MySQL, otherwise issue the following command: apt-get install mysql-server diff --git a/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-ubuntu-10-04-lucid/index.md b/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-ubuntu-10-04-lucid/index.md index 124c0725915..53915de4399 100644 --- a/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true `mod_mono` is an Apache module that makes it possible to run ASP.NET applications in Linux environments running Apache. While ASP.NET is a Microsoft technology and is traditionally used with IIS, `mod_mono` has become a viable option for deploying ASP.NET applications on Linux. This guide is largely based on the [mod\_mono guide from the Ubuntu Community](https://help.ubuntu.com/community/ModMono) and the [Mono Project's Apache and Mono document](http://mono-project.com/Mod_mono) with minor modifications. This guide does not cover installation and configuration of the Mono IDE which is used to develop ASP.NET applications on Linux. If you are interested in developing using Visual Studio for Mono, you can download a 30-day trial of the commercial Mono Tools plugin at the [Mono Tools for Visual Studio page](http://go-mono.com/monotools). -This guide assumes that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will install the [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) with very minimal configuration. If you already have Apache installed and configured, you may omit these steps; however, if you have not installed Apache and are unfamiliar with this server read the installation guide for additional documentation. Additionally, `mod_mono` is incompatible with the integrated PHP interpreter described in other guides. If you need to have both mod\_mono and PHP running on the same Apache server you will need to run [PHP scripts using the CGI method](/cloud/guides/run-php-applications-under-cgi-with-apache-on-ubuntu-10-04-lts-lucid/) +This guide assumes that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will install the [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid) with very minimal configuration. If you already have Apache installed and configured, you may omit these steps; however, if you have not installed Apache and are unfamiliar with this server read the installation guide for additional documentation. Additionally, `mod_mono` is incompatible with the integrated PHP interpreter described in other guides. If you need to have both mod\_mono and PHP running on the same Apache server you will need to run [PHP scripts using the CGI method](/cloud/guides/run-php-applications-under-cgi-with-apache-on-ubuntu-10-04-lts-lucid) ## Set the Hostname @@ -103,7 +103,7 @@ Accept the default option at this point. When the installation process completes ### Configure Apache -We recommend using name-based virtual hosts for web hosting. Refer to the Apache documentation for [setting up Name-based virtual hosts](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/#configure-name-based-virtual-hosts). +We recommend using name-based virtual hosts for web hosting. Refer to the Apache documentation for [setting up Name-based virtual hosts](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid#configure-name-based-virtual-hosts). Recent versions of `mod_mono` utilize the `AutoHosting` method of application deployment. This allows non-privileged users to deploy new applications without modifying Apache configuration files. While this provides great flexibility, it may also present a security risk. As a result, `mod_mono` must be enabled on a per-virtual host basis. @@ -166,7 +166,7 @@ You can safely ignore this warning, as it won't affect deployment using the meth ## Installing MySQL Connector/Net for ASP.NET -This section assumes that you already have a functioning MySQL installation. Please refer to our [MySQL Installation Guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/) for more detailed instructions for installing MySQL, otherwise issue the following command: +This section assumes that you already have a functioning MySQL installation. Please refer to our [MySQL Installation Guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid) for more detailed instructions for installing MySQL, otherwise issue the following command: apt-get install mysql-server diff --git a/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-ubuntu-9-10-karmic/index.md b/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-ubuntu-9-10-karmic/index.md index f6c69fefe25..4957882ba2d 100644 --- a/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/development/frameworks/asp-net/build-aspnetmono-applications-with-modmono-and-apache-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true `mod_mono` is an Apache module that makes it possible to run ASP.NET applications in Linux environments running Apache. While ASP.NET is a Microsoft technology and is traditionally used with IIS, `mod_mono` has become a viable option for deploying ASP.NET applications on Linux. This guide is largely based on the [mod\_mono guide from the Ubuntu Community](https://help.ubuntu.com/community/ModMono) and the [Mono Project's Apache and Mono document](http://mono-project.com/Mod_mono) with minor modifications. This guide does not cover installation and configuration of the Mono IDE which is used to develop ASP.NET applications on Linux. If you are interested in developing using Visual Studio for Mono, you can download a 30-day trial of the commercial Mono Tools plugin at the [Mono Tools for Visual Studio page](http://go-mono.com/monotools). -This guide assumes that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will install the [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) with very minimal configuration. If you already have Apache installed and configured, you may omit these steps; however, if you have not installed Apache and are unfamiliar with this server read the installation guide for additional documentation. Additionally, `mod_mono` is incompatible with the integrated PHP interpreter described in other guides. If you need to have both mod\_mono and PHP running on the same Apache server you will need to run [PHP scripts using the CGI method](/cloud/guides/run-php-applications-under-cgi-with-apache-on-ubuntu-9-10-karmic/) +This guide assumes that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will install the [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic) with very minimal configuration. If you already have Apache installed and configured, you may omit these steps; however, if you have not installed Apache and are unfamiliar with this server read the installation guide for additional documentation. Additionally, `mod_mono` is incompatible with the integrated PHP interpreter described in other guides. If you need to have both mod\_mono and PHP running on the same Apache server you will need to run [PHP scripts using the CGI method](/cloud/guides/run-php-applications-under-cgi-with-apache-on-ubuntu-9-10-karmic) ## Set the Hostname @@ -103,7 +103,7 @@ Accept the default option at this point. When the installation process completes ### Configure Apache -We recommend using name-based virtual hosts for web hosting. Refer to the Apache documentation for [setting up Name-based virtual hosts](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/#configure-apache-for-named-based-virtual-hosting). +We recommend using name-based virtual hosts for web hosting. Refer to the Apache documentation for [setting up Name-based virtual hosts](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic#configure-apache-for-named-based-virtual-hosting). Recent versions of `mod_mono` utilize the `AutoHosting` method of application deployment. This allows non-privileged users to deploy new applications without modifying Apache configuration files. While this provides great flexibility, it may also present a security risk. As a result, `mod_mono` must be enabled on a per-virtual host basis. @@ -167,7 +167,7 @@ You can safely ignore this warning, as it won't affect deployment using the meth ## Installing MySQL Connector/Net for ASP.NET -This section assumes that you already have a functioning MySQL installation. Please refer to our [MySQL Installation Guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/) for more detailed instructions for installing MySQL, otherwise issue the following command: +This section assumes that you already have a functioning MySQL installation. Please refer to our [MySQL Installation Guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic) for more detailed instructions for installing MySQL, otherwise issue the following command: apt-get install mysql-server diff --git a/docs/guides/development/frameworks/asp-net/tutorial-host-asp-net-core-on-linux/index.md b/docs/guides/development/frameworks/asp-net/tutorial-host-asp-net-core-on-linux/index.md index 8c91da5a1e9..f7fb928b077 100644 --- a/docs/guides/development/frameworks/asp-net/tutorial-host-asp-net-core-on-linux/index.md +++ b/docs/guides/development/frameworks/asp-net/tutorial-host-asp-net-core-on-linux/index.md @@ -28,7 +28,7 @@ This guide shows you how to install ASP.NET Core on your Linux server and how to 1. This guide uses `example-app` as the name of the ASP.NET Core application and `example.com` as your server's domain name. Replace these with your preferred application name and actual server name, respectively. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install ASP.NET Core @@ -90,7 +90,7 @@ These installation steps work for Debian 10 and Ubuntu 20.04. If you are using a .NET Core serves the application on `localhost` port `5001`. To visit the application remotely, you can use an SSH tunnel: - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with `5001`. + - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) guide, replacing the example port number there with `5001`. - On OS X or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. ssh -L5001:localhost:5001 example-user@192.0.2.0 diff --git a/docs/guides/development/frameworks/astro/building-a-website-with-astro/index.md b/docs/guides/development/frameworks/astro/building-a-website-with-astro/index.md index edf4f0168ca..814e9f0bcd9 100644 --- a/docs/guides/development/frameworks/astro/building-a-website-with-astro/index.md +++ b/docs/guides/development/frameworks/astro/building-a-website-with-astro/index.md @@ -25,7 +25,7 @@ Learn more about Astro in this tutorial, covering Astro's key features and provi 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Astro? @@ -50,7 +50,7 @@ The best way to learn about Astro is to start using it. This tutorial walks you ### Install the Prerequisites -Astro only has one prerequisite: the Node Package Manager (NPM). You can install NPM by following our [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#how-to-install-npm) guide. +Astro only has one prerequisite: the Node Package Manager (NPM). You can install NPM by following our [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux#how-to-install-npm) guide. After you install the NPM, you are ready to create a new Astro project. @@ -100,7 +100,7 @@ npm run dev Astro serves the website on `localhost:3000` by default. You can access the server by navigating to that address in your web browser. To access this remotely, you can also use an SSH tunnel. -- On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use `3000` as the **Source port** and `127.0.0.1:3000` as the **Destination**. +- On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use `3000` as the **Source port** and `127.0.0.1:3000` as the **Destination**. - On **macOS** or **Linux**, use the following command to set up the SSH tunnel. Replace `example-user` in the command below with your username on the remote server and `192.0.2.0` with the remote server's IP address. @@ -383,14 +383,14 @@ This creates a `dist/` directory within your project that contains the static fi With Linode, you have two immediate options for deploying your newly-built website. -- Using a [Linode Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/shared-cpu-compute-instances). This method uses an HTTP server like NGINX or Apache to serve the static files. You can learn more through our [Set up a Web Server and Host a Website on Linode](/cloud/guides/set-up-web-server-host-website/) guide. In this case, you would move your site's files from `dist/` to `/var/www/example.com`, replacing `example.com` with your actual domain name. +- Using a [Linode Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/shared-cpu-compute-instances). This method uses an HTTP server like NGINX or Apache to serve the static files. You can learn more through our [Set up a Web Server and Host a Website on Linode](/cloud/guides/set-up-web-server-host-website) guide. In this case, you would move your site's files from `dist/` to `/var/www/example.com`, replacing `example.com` with your actual domain name. -- Using a [Linode Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage) bucket. This method stores your website's built files within an object storage instance, where they can be accessed as a static website. Hosting your website in this way has the advantage of not having to set up and maintain the infrastructure for an HTTP server. You can see an example of this deployment through our tutorial [Deploy a Static Site using Hugo and Object Storage](/cloud/guides/host-static-site-object-storage/). The `public/` directory in that tutorial would be equivalent to the `dist/` directory with Astro. +- Using a [Linode Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage) bucket. This method stores your website's built files within an object storage instance, where they can be accessed as a static website. Hosting your website in this way has the advantage of not having to set up and maintain the infrastructure for an HTTP server. You can see an example of this deployment through our tutorial [Deploy a Static Site using Hugo and Object Storage](/cloud/guides/host-static-site-object-storage). The `public/` directory in that tutorial would be equivalent to the `dist/` directory with Astro. You can learn more about Astro deployments, including other deployment options, through Astro's [official documentation](https://docs.astro.build/en/guides/deploy/). ## Conclusion -We've outlined the process for creating a simple website with Astro. Astro is adaptable, and you can vary this process in numerous ways. From using a different UI framework like React to using a CMS for content, and more. And you can consider additional server software options, like [Caddy](/cloud/guides/how-to-install-and-configure-caddy-on-debian-10/). +We've outlined the process for creating a simple website with Astro. Astro is adaptable, and you can vary this process in numerous ways. From using a different UI framework like React to using a CMS for content, and more. And you can consider additional server software options, like [Caddy](/cloud/guides/how-to-install-and-configure-caddy-on-debian-10). The Astro documentation, linked below, can give you additional ideas of what Astro is capable of. diff --git a/docs/guides/development/frameworks/cakephp/cakephp-on-debian-5-lenny/index.md b/docs/guides/development/frameworks/cakephp/cakephp-on-debian-5-lenny/index.md index 41f6ac3c9ff..8a9136eddcd 100644 --- a/docs/guides/development/frameworks/cakephp/cakephp-on-debian-5-lenny/index.md +++ b/docs/guides/development/frameworks/cakephp/cakephp-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true CakePHP is a framework used to develop PHP applications quickly. Many people choose CakePHP because of the simple deployment process and extensive documentation available on the CakePHP website. -Before installing CakePHP, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) as well as our [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing CakePHP, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) as well as our [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installation diff --git a/docs/guides/development/frameworks/catalyst/catalyst-and-modperl/index.md b/docs/guides/development/frameworks/catalyst/catalyst-and-modperl/index.md index 332c1660de0..ade98b348de 100644 --- a/docs/guides/development/frameworks/catalyst/catalyst-and-modperl/index.md +++ b/docs/guides/development/frameworks/catalyst/catalyst-and-modperl/index.md @@ -13,9 +13,9 @@ aliases: [] deprecated: true --- -The Catalyst web framework is a contemporary Perl-based MVC, or Model View Controller. Like similar projects such as [Django](/cloud/guides/development/frameworks/), [Ruby On Rails](/cloud/guides/development/ror/), and [Seaside](/cloud/guides/deploy-smalltalk-applications-with-seaside/), Catalyst promotes efficient and rapid development, clear application logic, and web centric development paradigms. If you are used to developing applications with Perl and would like to develop modern web applications, you may consider using the Catalyst framework. +The Catalyst web framework is a contemporary Perl-based MVC, or Model View Controller. Like similar projects such as [Django](/cloud/guides/development/frameworks), [Ruby On Rails](/cloud/guides/development/ror), and [Seaside](/cloud/guides/deploy-smalltalk-applications-with-seaside), Catalyst promotes efficient and rapid development, clear application logic, and web centric development paradigms. If you are used to developing applications with Perl and would like to develop modern web applications, you may consider using the Catalyst framework. -In this document, we outline deploying applications developed with Catalyst using the Apache web server and the `mod_perl` method of running Perl applications embedded in the web server process. Before installing Catalyst, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +In this document, we outline deploying applications developed with Catalyst using the Apache web server and the `mod_perl` method of running Perl applications embedded in the web server process. Before installing Catalyst, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing Catalyst @@ -40,7 +40,7 @@ On Arch Linux systems issue the following commands to download the latest packag pacman -Sy pacman -S perl base-devel curl -This document will install all of the required modules for Catalyst using the [CPAN Minus](/cloud/guides/manage-cpan-modules-with-cpan-minus/) interface for CPAN. Install CPAN Minus by issuing the following sequence of commands: +This document will install all of the required modules for Catalyst using the [CPAN Minus](/cloud/guides/manage-cpan-modules-with-cpan-minus) interface for CPAN. Install CPAN Minus by issuing the following sequence of commands: cd /opt/ curl https://github.com/miyagawa/cpanminus/raw/master/cpanm > cpanm @@ -57,11 +57,11 @@ Your application may require additional dependencies and Perl modules. You will cpanm --sudo --skip-installed [Module::Name] -`[Module::Name]` represents the name of the module that you need to install. If your Catalyst application depends on a database system, you will also need to [install MySQL](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/) or [PostgreSQL](/cloud/guides/debian-5-lenny/). +`[Module::Name]` represents the name of the module that you need to install. If your Catalyst application depends on a database system, you will also need to [install MySQL](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny) or [PostgreSQL](/cloud/guides/debian-5-lenny). ### Setting up the Apache Server with mod\_perl -Once the required Catalyst and database dependencies are installed, we will continue to install the Apache HTTP server and its `mod_perl` module. For more information regarding general purpose configuration, consider our more in-depth documentation for [installing Apache](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) and [configuring the HTTP server](/cloud/guides/web-servers/apache-tips-and-tricks/). If you have not already installed these packages, issue the following command: +Once the required Catalyst and database dependencies are installed, we will continue to install the Apache HTTP server and its `mod_perl` module. For more information regarding general purpose configuration, consider our more in-depth documentation for [installing Apache](/cloud/guides/apache-2-web-server-on-debian-5-lenny) and [configuring the HTTP server](/cloud/guides/web-servers/apache-tips-and-tricks). If you have not already installed these packages, issue the following command: apt-get install apache2 libapache2-mod-perl2 apache2-mpm-prefork @@ -71,7 +71,7 @@ In Catalyst deployments, you will need to restart the Apache web server before b ## Deploying Catalyst Applications -For the purposes of this document we will assume that you have configured virtual hosting for the domain `example.com` in the manner described in the [installing Apache](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) document. Please note that you can only deploy one Catalyst application in a given instance of Apache. +For the purposes of this document we will assume that you have configured virtual hosting for the domain `example.com` in the manner described in the [installing Apache](/cloud/guides/apache-2-web-server-on-debian-5-lenny) document. Please note that you can only deploy one Catalyst application in a given instance of Apache. ### Configuring Apache and mod\_perl diff --git a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-centos-5/index.md b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-centos-5/index.md index a978cde83de..7e9682787bc 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-centos-5/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-centos-5/index.md @@ -26,7 +26,7 @@ The EPEL effort is similar to the "backporting" efforts that exist in other dist There are many different ways to deploy Django applications that all have distinct advantages and disadvantages depending on the nature of your deployment. Our setup is designed to be fully functional and simple to set up for people who are new to systems administration. Nevertheless, Django is very flexible with regards to how applications are deployed; you can feel totally free to alter your approach as your needs and abilities change and grow. -As a prerequisite for this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date CentOS 5 system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-centos-5/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-centos-5/). With these prerequisites out of the way, we can begin installing tools for running Django applications on our server. +As a prerequisite for this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date CentOS 5 system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-centos-5) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-centos-5). With these prerequisites out of the way, we can begin installing tools for running Django applications on our server. ## Set the Hostname @@ -45,7 +45,7 @@ Before we begin to install packages we need to first install the EPEL repositori When you install your first package from EPEL, `yum` will ask you to import the PGP key for the EPEL repository. You should accept this request. -Now we can install Django using the `yum` [package management](/cloud/guides/yum-package-manager/) interface. The following command will also install required dependencies on your system: +Now we can install Django using the `yum` [package management](/cloud/guides/yum-package-manager) interface. The following command will also install required dependencies on your system: yum update yum install mod_python Django @@ -54,17 +54,17 @@ This installs `mod_python`, which embeds a Python interpreter in the Apache HTTP ## Installing Database Support -If you would like to use a relational [database server](/cloud/guides/databases/) with Django, you will need to install and configure that independently of this guide. Consider one of our [database installation and configuration guides](/cloud/guides/databases/). +If you would like to use a relational [database server](/cloud/guides/databases) with Django, you will need to install and configure that independently of this guide. Consider one of our [database installation and configuration guides](/cloud/guides/databases). Whichever database system you use, you'll need to install the appropriate bindings for Python to allow Django applications to communicate with the database. The easiest database to install and use is SQLite. SQLite is easy to set up and provides a fully transactional database system inside of a single file. Such a system is likely sufficient for development purposes and deployments that won't need to scale beyond a single server. You can install SQLite support by issuing the following command: yum install python-sqlite2 -If you want to use the [PostgreSQL](/cloud/guides/databases/postgresql/) database system you will need to install the Psycop2 database adapter with the following command: +If you want to use the [PostgreSQL](/cloud/guides/databases/postgresql) database system you will need to install the Psycop2 database adapter with the following command: yum install python-psycopg2 -To use the [MySQL](/cloud/guides/databases/mysql/) engine, download and install a more recent version of the `MySQL-python` package. Django requires at least version 1.2.1p2 of the Python MySQLdb adapter. We'll download and install a later version from [the upstream project](http://sourceforge.net/projects/mysql-python/) First, install the tools needed to build this package: +To use the [MySQL](/cloud/guides/databases/mysql) engine, download and install a more recent version of the `MySQL-python` package. Django requires at least version 1.2.1p2 of the Python MySQLdb adapter. We'll download and install a later version from [the upstream project](http://sourceforge.net/projects/mysql-python/) First, install the tools needed to build this package: yum install python-devel mysql-devel gcc wget python-setuptools @@ -81,7 +81,7 @@ You may choose to install additional Python-related tools for your specific appl ## Configuring Apache -With all of the dependencies installed, we must configure Apache for virtual hosting. If you're new to administering and configuring Apache web servers, please consider our documentation on [configuring and using the Apache HTTP server](/cloud/guides/web-servers/apache/). If you did not previously have Apache installed, it would have been installed when you installed the `mod_python` package. In these cases, [configure Apache for virtual hosting](/cloud/guides/apache-2-web-server-on-centos-5/#configure-apache) before configuring Apache for Django. +With all of the dependencies installed, we must configure Apache for virtual hosting. If you're new to administering and configuring Apache web servers, please consider our documentation on [configuring and using the Apache HTTP server](/cloud/guides/web-servers/apache). If you did not previously have Apache installed, it would have been installed when you installed the `mod_python` package. In these cases, [configure Apache for virtual hosting](/cloud/guides/apache-2-web-server-on-centos-5#configure-apache) before configuring Apache for Django. You will want to insert a `Location` block inside the virtual hosting block for the domain where you want the Django application to run. The location block looks like this: diff --git a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-debian-5-lenny/index.md b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-debian-5-lenny/index.md index fb9fb38fc3c..99137cc5eb8 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-debian-5-lenny/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-debian-5-lenny/index.md @@ -22,7 +22,7 @@ Django is a web development framework for the Python programing language. It ena This guide provides an introduction to getting started with the Django framework on Debian 5 (Lenny). We will be installing Django and related packages from the stable Debian repository, and deploying applications with mod\_python and the Apache web server. This setup is generally accepted as a platform for getting started with Django, although the framework is quite flexible with regards to how applications can be deployed. There are many base platforms that you may consider in the future as your needs grow and change. -We assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date Debian 5 (Lenny) system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/) installed. With these prerequisites out of the way, we can begin installing tools for running Django applications on our server. +We assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date Debian 5 (Lenny) system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-debian-5-lenny) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny) installed. With these prerequisites out of the way, we can begin installing tools for running Django applications on our server. ## Set the Hostname diff --git a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-10-04-lucid/index.md b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-10-04-lucid/index.md index 3124513c04a..0f1f09bcbf1 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-10-04-lucid/index.md @@ -22,7 +22,7 @@ Django is a web development framework for the Python programing language. It ena This guide provides an introduction to getting started with the Django framework. You will be installing Django and related packages from the Ubuntu repository, and deploying applications with `mod_python` and the Apache web server. This setup is generally accepted as a good platform for getting started with Django, although the framework is quite flexible with regards to how applications can be deployed. There are many base platforms that you may consider in the future as your needs grow and change. -We assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date Ubuntu 10.04 (Lucid) system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/) installed. +We assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date Ubuntu 10.04 (Lucid) system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid) installed. ## Set the Hostname diff --git a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-8-04-hardy/index.md b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-8-04-hardy/index.md index 78275750b33..5be83985115 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-8-04-hardy/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-8-04-hardy/index.md @@ -22,7 +22,7 @@ Django is a web development framework for the Python programing language. It ena This guide provides an introduction to getting started with the Django framework. Although Ubuntu Hardy includes Django packages, these contain a dated version of the Django framework, in the 0.9x series. We've decided to install the most recent stable release of Django instead. This provides the best possible balance between the stability and support of the Ubuntu-Hardy release, and the most current Django API. In general the Apache, plus mod\_python, plus Django is accepted as the idea setup for beginning Django deployments, although the framework is quite flexible with regards to how applications can be deployed. There are many base platforms that you may consider in the future as your needs grow and change. -We assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date Ubuntu 8.04 (Hardy) system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-8-04-lts-hardy/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-8-04-hardy/) installed. +We assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date Ubuntu 8.04 (Hardy) system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-8-04-lts-hardy) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-8-04-hardy) installed. ## Installing Python Dependencies diff --git a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-9-04-jaunty/index.md b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-9-04-jaunty/index.md index 4984ef50ebd..52e0a5467c0 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-9-04-jaunty/index.md @@ -22,7 +22,7 @@ Django is a web development framework for the Python programing language. It ena This guide provides an introduction to getting started with the Django Framework. We will be installing Django and related packages from the Ubuntu repository, and deploying applications with mod\_python and the Apache web server. This setup is generally accepted as a good platform for getting started with Django, although the framework is quite flexible with regards to how applications can be deployed. There are many base platforms that you may consider in the future as your needs grow and change. -We assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date Ubuntu 9.04 (Jaunty) system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-04-jaunty/) installed. +We assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date Ubuntu 9.04 (Jaunty) system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-04-jaunty) installed. ## Enabling the "Universe" Repository diff --git a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-9-10-karmic/index.md b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-9-10-karmic/index.md index dbdfb6f110d..748a4530f36 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modpython-on-ubuntu-9-10-karmic/index.md @@ -22,7 +22,7 @@ Django is a web development framework for the Python programing language. It ena This guide provides an introduction to getting started with the Django framework. We will be installing Django and related packages from the Ubuntu repository, and deploying applications with `mod_python` and the Apache web server. This setup is generally accepted as a good platform for getting started with Django, although the framework is quite flexible with regards to how applications can be deployed. There are many base platforms that you may consider in the future as your needs grow and change. -We assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date Ubuntu 9.10 (Karmic) system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/) installed. +We assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and up to date Ubuntu 9.10 (Karmic) system. Furthermore, you will want to have a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic) installed. ## Enabling the "Universe" Repository diff --git a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-centos-5/index.md b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-centos-5/index.md index e8de2f5cd7a..00ee6933137 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-centos-5/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-centos-5/index.md @@ -27,7 +27,7 @@ deprecated: true Django is a web development framework for the Python programing language. It enables rapid development, while favoring pragmatic and clean design. Django was initially developed for use in a newspaper's website division, and as a result the Django framework is very well suited to developing content-centric applications. -This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-centos-5/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-centos-5/) system installed. +This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-centos-5) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-centos-5) system installed. ## Set the Hostname @@ -49,7 +49,7 @@ When you install your first package from EPEL, `yum` will ask you to import the yum update yum install python-setuptools httpd mod_wsgi -Additionally you will need to install a database system and a python driver for this database system. If you want to run the [PostgreSQL database server](/cloud/guides/centos-5/) issue the following command: +Additionally you will need to install a database system and a python driver for this database system. If you want to run the [PostgreSQL database server](/cloud/guides/centos-5) issue the following command: yum install postgresql python-psycopg2 @@ -57,7 +57,7 @@ If you want to use the SQLite embedded database, issue the following command: yum install sqlite python-sqlite -If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-centos-5/), download and install a more recent version of the `MySQL-python` package. Django requires at least version 1.2.1p2 of the Python MySQLdb adapter. We'll download and install a later version from [the upstream project](http://sourceforge.net/projects/mysql-python/) First, install the tools needed to build this package: +If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-centos-5), download and install a more recent version of the `MySQL-python` package. Django requires at least version 1.2.1p2 of the Python MySQLdb adapter. We'll download and install a later version from [the upstream project](http://sourceforge.net/projects/mysql-python/) First, install the tools needed to build this package: yum install python-devel mysql-devel gcc wget python-setuptools diff --git a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-debian-5-lenny/index.md b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-debian-5-lenny/index.md index a7279987863..3a6cb14f645 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-debian-5-lenny/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true Django is a web development framework for the Python programing language. It enables rapid development, while favoring pragmatic and clean design. Django was initially developed for use in a newspaper's website division, and as a result the Django framework is very well suited to developing content-centric applications. -This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/) system installed. +This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-debian-5-lenny) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny) system installed. ## Set the Hostname @@ -39,11 +39,11 @@ Issue the following commands to ensure that your system's package repositories a apt-get upgrade apt-get install python-setuptools libapache2-mod-wsgi -Additionally you will need to install a database system and a python driver for this database system. If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/) issue the following command: +Additionally you will need to install a database system and a python driver for this database system. If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny) issue the following command: apt-get install mysql-server python-mysqldb -If you want to run the [PostgreSQL database server](/cloud/guides/debian-5-lenny/) issue the following command: +If you want to run the [PostgreSQL database server](/cloud/guides/debian-5-lenny) issue the following command: apt-get install postgresql python-psycopg2 diff --git a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-debian-6-squeeze/index.md b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-debian-6-squeeze/index.md index 40b95b34c7a..e94a04fea32 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-debian-6-squeeze/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-debian-6-squeeze/index.md @@ -20,7 +20,7 @@ deprecated: true Django is a web development framework for the Python programing language. It enables rapid development, while favoring pragmatic and clean design. Django was initially developed for use in a newspaper's website division, and as a result the Django framework is very well suited to developing content-centric applications. -This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-debian-6-squeeze/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze/) +This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-debian-6-squeeze) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze) ## Set the Hostname @@ -39,11 +39,11 @@ Issue the following commands to ensure that your system's package repositories a apt-get upgrade apt-get install python-setuptools libapache2-mod-wsgi -Additionally you will need to install a database system and a python driver for this database system. If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze/) issue the following command: +Additionally you will need to install a database system and a python driver for this database system. If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze) issue the following command: apt-get install mysql-server python-mysqldb -If you want to run the [PostgreSQL database server](/cloud/guides/debian-6-squeeze/) issue the following command: +If you want to run the [PostgreSQL database server](/cloud/guides/debian-6-squeeze) issue the following command: apt-get install postgresql python-psycopg2 diff --git a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-fedora-14/index.md b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-fedora-14/index.md index 15270872cfe..541128abf99 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-fedora-14/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-fedora-14/index.md @@ -20,7 +20,7 @@ deprecated: true Django is a web development framework for the Python programing language. It enables rapid development, while favoring pragmatic and clean design. Django was initially developed for use in a newspaper's website division, and as a result the Django framework is very well suited to developing content-centric applications. -This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-fedora-14/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-fedora-14/) system installed. +This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-fedora-14) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-fedora-14) system installed. ## Set the Hostname @@ -38,7 +38,7 @@ Issue the following commands to ensure that your system's package repositories a yum update yum install python-setuptools httpd mod_wsgi -Additionally you will need to install a database system and a python driver for this database system. If you want to run the [PostgreSQL database server](/cloud/guides/fedora-14/) issue the following command: +Additionally you will need to install a database system and a python driver for this database system. If you want to run the [PostgreSQL database server](/cloud/guides/fedora-14) issue the following command: yum install postgresql python-psycopg2 @@ -46,7 +46,7 @@ If you want to use the SQLite embedded database, issue the following command: yum install sqlite python-sqlite -If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-fedora-14/), download and install a more recent version of the `MySQL-python` package. Django requires at least version 1.2.1p2 of the Python MySQLdb adapter. We'll download and install a later version from [the upstream project](http://sourceforge.net/projects/mysql-python/) First, install the tools needed to build this package: +If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-fedora-14), download and install a more recent version of the `MySQL-python` package. Django requires at least version 1.2.1p2 of the Python MySQLdb adapter. We'll download and install a later version from [the upstream project](http://sourceforge.net/projects/mysql-python/) First, install the tools needed to build this package: yum install python-devel mysql-devel gcc wget python-setuptools diff --git a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md index c2b2f3fa06d..7f629ec470b 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true Django is a web development framework for the Python programing language. It enables rapid development, while favoring pragmatic and clean design. Django was initially developed for use in a newspaper's website division, and as a result the Django framework is very well suited to developing content-centric applications. -This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/) system installed. +This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid) system installed. ## Set the Hostname @@ -39,11 +39,11 @@ Issue the following commands to ensure that your system's package repositories a apt-get upgrade apt-get install python-setuptools libapache2-mod-wsgi -Additionally you will need to install a database system and a python driver for this database system. If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/) issue the following command: +Additionally you will need to install a database system and a python driver for this database system. If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid) issue the following command: apt-get install mysql-server python-mysqldb -If you want to run the [PostgreSQL database server](/cloud/guides/ubuntu-10-04-lucid/) issue the following command: +If you want to run the [PostgreSQL database server](/cloud/guides/ubuntu-10-04-lucid) issue the following command: apt-get install postgresql python-psycopg2 diff --git a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-10-10-maverick/index.md b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-10-10-maverick/index.md index 010c2dad298..19dcd4fbad7 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true Django is a web development framework for the Python programing language. It was initially developed for use in a newspaper's website division, and as a result the Django framework is very well suited to developing content-centric applications. -This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-10-10-maverick/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick/) system installed. +This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-10-10-maverick) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick) system installed. ## Set the Hostname @@ -39,11 +39,11 @@ Issue the following commands to ensure that your system's package repositories a apt-get upgrade apt-get install python-setuptools libapache2-mod-wsgi -Additionally, you will need to install a database system and a Python driver for this database system. If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick/), issue the following command: +Additionally, you will need to install a database system and a Python driver for this database system. If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick), issue the following command: apt-get install mysql-server python-mysqldb -If you want to run the [PostgreSQL database server](/cloud/guides/ubuntu-10-10-maverick/), issue the following command: +If you want to run the [PostgreSQL database server](/cloud/guides/ubuntu-10-10-maverick), issue the following command: apt-get install postgresql python-psycopg2 diff --git a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-9-10-karmic/index.md b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-9-10-karmic/index.md index 6e5fc4050c9..86a5e270ddb 100644 --- a/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/development/frameworks/django/django-apache-and-modwsgi-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true Django is a web development framework for the Python programing language. It enables rapid development, while favoring pragmatic and clean design. Django was initially developed for use in a newspaper's website division, and as a result the Django framework is very well suited to developing content-centric applications. -This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/) system installed. +This guide provides an introduction to getting started with the Django framework, using the `mod_wsgi` method of deploying python applications. Please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic) and a functional [MySQL database](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic) system installed. ## Install Dependencies @@ -52,11 +52,11 @@ Issue the following commands to ensure that your system's package repositories a apt-get upgrade apt-get install python-setuptools libapache2-mod-wsgi -Additionally you will need to install a database system and a python driver for this database system. If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/) issue the following command: +Additionally you will need to install a database system and a python driver for this database system. If you want to run the [MySQL database engine](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic) issue the following command: apt-get install mysql-server python-mysqldb -If you want to run the [PostgreSQL database server](/cloud/guides/ubuntu-9-10-karmic/) issue the following command: +If you want to run the [PostgreSQL database server](/cloud/guides/ubuntu-9-10-karmic) issue the following command: apt-get install postgresql python-psycopg2 diff --git a/docs/guides/development/frameworks/dotnet/install-dotnet-on-ubuntu/index.md b/docs/guides/development/frameworks/dotnet/install-dotnet-on-ubuntu/index.md index f835cf67bfc..817258af8c1 100644 --- a/docs/guides/development/frameworks/dotnet/install-dotnet-on-ubuntu/index.md +++ b/docs/guides/development/frameworks/dotnet/install-dotnet-on-ubuntu/index.md @@ -137,7 +137,7 @@ This queries the snap repository and displays a list of available .NET SDK and r ## Server Applications -While many .NET applications are standalone, others connect directly to external systems. If your application connects to other services, you may need to adjust your firewall settings so these connections are not blocked. For instructions on using UFW (the default firewall front-end interface for Ubuntu 22.04), see the guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). Web services typically use ports `443`, `80`, and `8080`, though ports are application-specific. If these ports are blocked, you can adjust the firewall to allow access. +While many .NET applications are standalone, others connect directly to external systems. If your application connects to other services, you may need to adjust your firewall settings so these connections are not blocked. For instructions on using UFW (the default firewall front-end interface for Ubuntu 22.04), see the guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). Web services typically use ports `443`, `80`, and `8080`, though ports are application-specific. If these ports are blocked, you can adjust the firewall to allow access. Scripts installing .NET applications may require sudo rights to effectively change the firewall, files, or environmental settings for the user(s) of the runtime application. In addition, you may need to modify user rights and file accessibility so that your .NET-based application can properly run. diff --git a/docs/guides/development/frameworks/laravel/how-to-create-website-using-laravel/index.md b/docs/guides/development/frameworks/laravel/how-to-create-website-using-laravel/index.md index ca43396caa9..2f35a40eb17 100644 --- a/docs/guides/development/frameworks/laravel/how-to-create-website-using-laravel/index.md +++ b/docs/guides/development/frameworks/laravel/how-to-create-website-using-laravel/index.md @@ -26,7 +26,7 @@ This guide walks you through the setup process for Laravel, then shows you how t 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is Laravel? @@ -93,7 +93,7 @@ This guide is written for non-root user. Commands that require elevated privileg Artisan serves the application on `localhost:8000`. To visit the application remotely, you can use an SSH tunnel: - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with **8000**. + - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) guide, replacing the example port number there with **8000**. - On OS X or Linux, use the example command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. Ensure that you can access the server on port `8000` use the `sudo ufw allow 8000` to be enable access. ssh -L8000:localhost:8000 example-user@192.0.2.0 @@ -310,7 +310,7 @@ These steps assume your application has the same location and name as given in t sudo systemctl enable php-fpm sudo systemctl start php-fpm -1. Your application should now be running — visit it by navigating to your server's domain name in your browser. Make sure you prefix your domain name with `http` rather than `https`, as the server has not been set up with an [SSL certificate](/cloud/guides/security/ssl/). +1. Your application should now be running — visit it by navigating to your server's domain name in your browser. Make sure you prefix your domain name with `http` rather than `https`, as the server has not been set up with an [SSL certificate](/cloud/guides/security/ssl). ## Conclusion diff --git a/docs/guides/development/frameworks/phoenix/using-phoenix-framework/index.md b/docs/guides/development/frameworks/phoenix/using-phoenix-framework/index.md index d4bd9f831ae..0d9b77897fc 100644 --- a/docs/guides/development/frameworks/phoenix/using-phoenix-framework/index.md +++ b/docs/guides/development/frameworks/phoenix/using-phoenix-framework/index.md @@ -25,12 +25,12 @@ In this tutorial, learn more about the Phoenix framework and what sets it apart. 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is the Phoenix Framework? -[Phoenix](https://www.phoenixframework.org/) is a web application development framework, similar in its approach to frameworks like [Ruby on Rails](/cloud/guides/ruby-on-rails-apache-debian/) and [Django](https://www.djangoproject.com/). +[Phoenix](https://www.phoenixframework.org/) is a web application development framework, similar in its approach to frameworks like [Ruby on Rails](/cloud/guides/ruby-on-rails-apache-debian) and [Django](https://www.djangoproject.com/). Like these other frameworks, the Phoenix framework is a server-side solution. And like many modern web development frameworks, Phoenix uses a model-view-controller (MVC) architectural pattern for application development. @@ -131,11 +131,11 @@ Web applications typically utilize a database server for persisting application The official Phoenix documentation recommends [PostgreSQL](https://www.postgresql.org/) for your database server, and this guide follows that recommendation. -To learn more about PostgreSQL, you can refer to our [Introduction to PostgreSQL](/cloud/guides/an-introduction-to-postgresql/) guide. You can also refer to our [8 Most Popular Databases](/cloud/guides/list-of-databases/) guide to compare database solutions. +To learn more about PostgreSQL, you can refer to our [Introduction to PostgreSQL](/cloud/guides/an-introduction-to-postgresql) guide. You can also refer to our [8 Most Popular Databases](/cloud/guides/list-of-databases) guide to compare database solutions. You can learn more about the databases supported by Phoenix through the [official documentation](https://hexdocs.pm/phoenix/ecto.html) on Phoenix and the module it uses by default for database connections, Ecto. -To install PostgreSQL on your system, you can follow one of our guides. See, for instance, [How to Install and Use PostgreSQL on Ubuntu 20.04](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04/) or [How to Install and Use PostgreSQL on CentOS 8](/cloud/guides/centos-install-and-use-postgresql/). +To install PostgreSQL on your system, you can follow one of our guides. See, for instance, [How to Install and Use PostgreSQL on Ubuntu 20.04](/cloud/guides/how-to-install-use-postgresql-ubuntu-20-04) or [How to Install and Use PostgreSQL on CentOS 8](/cloud/guides/centos-install-and-use-postgresql). Additional distributions are covered in PostgreSQL's [official installation guide](https://www.postgresql.org/download/). @@ -241,7 +241,7 @@ Follow these steps to set up a Phoenix project template, run the base applicatio By default, Phoenix serves the application on `localhost:4000`. To access this remotely, you can use an SSH tunnel. - - On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use`4000` as the **Source port** and `127.0.0.1:4000` as the **Destination**. + - On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use`4000` as the **Source port** and `127.0.0.1:4000` as the **Destination**. - On **macOS** or **Linux**, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the remote server and `192.0.2.0` with the remote server's IP address: diff --git a/docs/guides/development/frameworks/seaside/deploy-smalltalk-applications-with-seaside/index.md b/docs/guides/development/frameworks/seaside/deploy-smalltalk-applications-with-seaside/index.md index fcfe667be1c..63f3c4ebaa3 100644 --- a/docs/guides/development/frameworks/seaside/deploy-smalltalk-applications-with-seaside/index.md +++ b/docs/guides/development/frameworks/seaside/deploy-smalltalk-applications-with-seaside/index.md @@ -27,7 +27,7 @@ The architecture and scaling of websites developed with Seaside is highly depend This document provides an overview of getting started with this Smalltalk web development framework. For the purposes of this example we've deployed Seaside and the "Pier" content management system on a Debian 5 (Lenny) system. Because of the image-based nature of Smalltalk environments, the strategies and approaches for running Seaside applications may not vary between distributions much. Nevertheless, there may be some differences regarding the names of packages and configuration details for the web server. Other details should remain the same between various operating system distributions. -Before proceeding with Seaside and Smalltalk installations, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You'll also need to install [Apache](/cloud/guides/web-servers/apache/) in order to serve your Seaside application. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). One final disclaimer: the Smalltalk virtual machines are all built against 32-bit architectures, so for the best performance, do not deploy a 64-bit image with your Linode. +Before proceeding with Seaside and Smalltalk installations, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You'll also need to install [Apache](/cloud/guides/web-servers/apache) in order to serve your Seaside application. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). One final disclaimer: the Smalltalk virtual machines are all built against 32-bit architectures, so for the best performance, do not deploy a 64-bit image with your Linode. ## Installing Smalltalk Environments @@ -46,7 +46,7 @@ First, we need to install the virtual machine to run the Smalltalk images. While unzip pharo-vm-0.15.2f-linux.zip mv pharo-vm-0.15.2f-linux/ pharo-vm-15-2/ -[Upload the image file](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server) of your Seaside application. For the purposes of this guide we will use the image produced by the "Pier" Content Management System. We'll store the application image in the directory beneath `/srv/www/` for the specific virtual host: in this example, we'll use `/srv/www/example.com/`. To download the ready-made image for Pier use the following sequence of commands: +[Upload the image file](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server) of your Seaside application. For the purposes of this guide we will use the image produced by the "Pier" Content Management System. We'll store the application image in the directory beneath `/srv/www/` for the specific virtual host: in this example, we'll use `/srv/www/example.com/`. To download the ready-made image for Pier use the following sequence of commands: cd /srv/www/example.com/ wget http://pier.googlecode.com/files/Pier-1.2.app.zip @@ -63,7 +63,7 @@ To test the Seaside application, access your domain in the browser on port `8080 http://example.com:8080/seaside/ -In this configuration, the Squeak VM instances run in the current terminal session. For production situations we recommend running your Smalltalk images in [GNU Screen](/cloud/guides/using-the-terminal/#gnu-screen). To stop the current instance, simply hit "ctrl-c". +In this configuration, the Squeak VM instances run in the current terminal session. For production situations we recommend running your Smalltalk images in [GNU Screen](/cloud/guides/using-the-terminal#gnu-screen). To stop the current instance, simply hit "ctrl-c". The default configuration of the "Pier" image accessed above binds the Smalltalk server on port `8080` on both the local and the public interface. Ensure that both your application and system firewalls are configured to permit proper access prior to deployment. We're now ready to configure Apache to provide public access to your Smalltalk instance. @@ -147,7 +147,7 @@ Reload the web server configuration to create the virtual host: /etc/init.d/apache2 reload -When building your application point, ensure all static content is served from URLs that begin with `http://static.example.com/` and the files are located at `/srv/www/static.example.com/public_html/`. You must create an [A Record](/cloud/guides/dns-overview/#types-of-dns-records) that points to the domain of your Linode for `static.example.com` domain. +When building your application point, ensure all static content is served from URLs that begin with `http://static.example.com/` and the files are located at `/srv/www/static.example.com/public_html/`. You must create an [A Record](/cloud/guides/dns-overview#types-of-dns-records) that points to the domain of your Linode for `static.example.com` domain. ### Configuring Apache to Proxy Dynamic Requests to Seaside diff --git a/docs/guides/development/frameworks/symfony/symfony-on-centos-5/index.md b/docs/guides/development/frameworks/symfony/symfony-on-centos-5/index.md index 7705be50b98..17c5e47aae2 100644 --- a/docs/guides/development/frameworks/symfony/symfony-on-centos-5/index.md +++ b/docs/guides/development/frameworks/symfony/symfony-on-centos-5/index.md @@ -15,7 +15,7 @@ deprecated: true Symfony is a PHP web application framework, providing the classes and tools required to build and enhance both simple and complex applications. Featuring easy AJAX integration, an admin interface generator, and more, Symfony has become a very popular choice for web application development. -Before installing Symfony, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing Symfony, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Basic System Configuration diff --git a/docs/guides/development/frameworks/webpy/webpy-on-debian-5-lenny/index.md b/docs/guides/development/frameworks/webpy/webpy-on-debian-5-lenny/index.md index 5ae5c7fab65..5fbfd2232eb 100644 --- a/docs/guides/development/frameworks/webpy/webpy-on-debian-5-lenny/index.md +++ b/docs/guides/development/frameworks/webpy/webpy-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true Web.py is a web application framework that stresses minimalism, flexibility, rapid application development, and straight forward deployment. Originally developed to power the popular news and link aggregation site "Reddit," web.py is a powerful option for developing systems for the web. -This guide assumes that have you followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Furthermore a background in Python programing will be useful as you begin to develop applications with Web.py +This guide assumes that have you followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Furthermore a background in Python programing will be useful as you begin to develop applications with Web.py ## Set the Hostname @@ -44,11 +44,11 @@ Issue the following command to install all prerequisite software: apt-get install apache2 python2.5 -The application you develop using Web.py may require additional dependencies that you can discover and install using your system's [package management tool](/cloud/guides/linux-package-management-overview/). The following command will install the PostgreSQL database and appropriate database drivers: +The application you develop using Web.py may require additional dependencies that you can discover and install using your system's [package management tool](/cloud/guides/linux-package-management-overview). The following command will install the PostgreSQL database and appropriate database drivers: apt-get install python-psycopg2 postgresql -For more information about installing and using the PostgreSQL database, [consider our documentation](/cloud/guides/debian-5-lenny/). Conversely, if you only need a simple embedded relational database, consider using SQLite, which you can install with the following command: +For more information about installing and using the PostgreSQL database, [consider our documentation](/cloud/guides/debian-5-lenny). Conversely, if you only need a simple embedded relational database, consider using SQLite, which you can install with the following command: apt-get install python-pysqlite2 sqlite3 @@ -222,7 +222,7 @@ You may wish to consult the following resources for additional information on th - [The Web.py Project Home Page](http://webpy.org/) - [Official Web.py Documentation](http://webpy.org/docs/0.3) -- [Rewrite URLs in Apache with Mod\_Rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/) +- [Rewrite URLs in Apache with Mod\_Rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache) - [WSGI Configuration Options](http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives) diff --git a/docs/guides/development/frameworks/webpy/webpy-on-debian-6-squeeze/index.md b/docs/guides/development/frameworks/webpy/webpy-on-debian-6-squeeze/index.md index aff359fb372..7c3fbcde47b 100644 --- a/docs/guides/development/frameworks/webpy/webpy-on-debian-6-squeeze/index.md +++ b/docs/guides/development/frameworks/webpy/webpy-on-debian-6-squeeze/index.md @@ -20,7 +20,7 @@ deprecated: true Web.py is a web application framework that stresses minimalism, flexibility, rapid application development, and straight forward deployment. Originally developed to power the popular news and link aggregation site "Reddit," web.py is a powerful option for developing systems for the web. -This guide assumes that have you followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Furthermore a background in Python programing will be useful as you begin to develop applications with Web.py +This guide assumes that have you followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) prior to beginning. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Furthermore a background in Python programing will be useful as you begin to develop applications with Web.py ## Set the Hostname @@ -44,11 +44,11 @@ Issue the following command to install the Apache HTTP Server: apt-get install apache2 -The application you develop using Web.py may require additional dependencies that you can discover and install using your system's [package management tool](/cloud/guides/linux-package-management-overview/). The following command will install the PostgreSQL database and appropriate database drivers: +The application you develop using Web.py may require additional dependencies that you can discover and install using your system's [package management tool](/cloud/guides/linux-package-management-overview). The following command will install the PostgreSQL database and appropriate database drivers: apt-get install python-psycopg2 postgresql -For more information about installing and using the PostgreSQL database, [consider our documentation](/cloud/guides/debian-6-squeeze/). Conversely, if you only need a simple embedded relational database, consider using SQLite, which you can install with the following command: +For more information about installing and using the PostgreSQL database, [consider our documentation](/cloud/guides/debian-6-squeeze). Conversely, if you only need a simple embedded relational database, consider using SQLite, which you can install with the following command: apt-get install python-pysqlite2 sqlite3 @@ -224,7 +224,7 @@ You may wish to consult the following resources for additional information on th - [The Web.py Project Home Page](http://webpy.org/) - [Official Web.py Documentation](http://webpy.org/docs/0.3) -- [Rewrite URLs in Apache with Mod\_Rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/) +- [Rewrite URLs in Apache with Mod\_Rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache) - [WSGI Configuration Options](http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives) diff --git a/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-10-04-lucid/index.md b/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-10-04-lucid/index.md index fa60a2dd20c..cbece76fc31 100644 --- a/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-10-04-lucid/index.md @@ -42,11 +42,11 @@ Issue the following command to install all prerequisite software: apt-get install apache2 python -The application you develop with Web.py may require additional dependencies that you can discover and install using your system's [package management tool](/cloud/guides/apt-package-manager/). The following command will install the PostgreSQL database and appropriate database drivers: +The application you develop with Web.py may require additional dependencies that you can discover and install using your system's [package management tool](/cloud/guides/apt-package-manager). The following command will install the PostgreSQL database and appropriate database drivers: apt-get install python-psycopg2 postgresql -For more information about installing and using the PostgreSQL database, [consider our documentation](/cloud/guides/ubuntu-10-04-lucid/). Conversely, if you only need a simple embedded relational database, consider using SQLite, which you can install with the following command: +For more information about installing and using the PostgreSQL database, [consider our documentation](/cloud/guides/ubuntu-10-04-lucid). Conversely, if you only need a simple embedded relational database, consider using SQLite, which you can install with the following command: apt-get install python-pysqlite2 sqlite3 @@ -211,7 +211,7 @@ You may wish to consult the following resources for additional information on th - [The Web.py Project Home Page](http://webpy.org/) - [Official Web.py Documentation](http://webpy.org/docs/0.3) -- [Rewrite URLs in Apache with Mod\_Rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/) +- [Rewrite URLs in Apache with Mod\_Rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache) - [WSGI Configuration Options](http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives) diff --git a/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-10-10-maverick/index.md b/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-10-10-maverick/index.md index 9c59574015a..225395bd28c 100644 --- a/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-10-10-maverick/index.md @@ -42,11 +42,11 @@ Issue the following command to install all prerequisite software: apt-get install apache2 python -The application you develop using Web.py may require additional dependencies that you can discover and install using your system's [package management tool](/cloud/guides/apt-package-manager/). The following command will install the PostgreSQL database and appropriate database drivers: +The application you develop using Web.py may require additional dependencies that you can discover and install using your system's [package management tool](/cloud/guides/apt-package-manager). The following command will install the PostgreSQL database and appropriate database drivers: apt-get install python-psycopg2 postgresql -For more information about installing and using the PostgreSQL database, [consider our documentation](/cloud/guides/ubuntu-10-04-lucid/). Conversely, if you only need a simple embedded relational database, consider using SQLite, which you can install with the following command: +For more information about installing and using the PostgreSQL database, [consider our documentation](/cloud/guides/ubuntu-10-04-lucid). Conversely, if you only need a simple embedded relational database, consider using SQLite, which you can install with the following command: apt-get install python-pysqlite2 sqlite3 @@ -56,7 +56,7 @@ Issue the following commands to download and install Web.py, using a packaged ve > apt-get install python-webpy -If you want to upload a more recent version, consider [this procedure](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/), to install Web.py from source. +If you want to upload a more recent version, consider [this procedure](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin), to install Web.py from source. ## Create a Basic Application with Web.py @@ -200,7 +200,7 @@ You may wish to consult the following resources for additional information on th - [The Web.py Project Home Page](http://webpy.org/) - [Official Web.py Documentation](http://webpy.org/docs/0.3) -- [Rewrite URLs in Apache with Mod\_Rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/) +- [Rewrite URLs in Apache with Mod\_Rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache) - [WSGI Configuration Options](http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives) diff --git a/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-12-04-precise-pangolin/index.md index 961f58fe019..afd1d097fef 100644 --- a/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/development/frameworks/webpy/webpy-on-ubuntu-12-04-precise-pangolin/index.md @@ -42,11 +42,11 @@ Issue the following command to install all prerequisite software: apt-get install apache2 python -The application you develop with Web.py may require additional dependencies that you can discover and install using your system's [package management tool](/cloud/guides/apt-package-manager/). The following command will install the PostgreSQL database and appropriate database drivers: +The application you develop with Web.py may require additional dependencies that you can discover and install using your system's [package management tool](/cloud/guides/apt-package-manager). The following command will install the PostgreSQL database and appropriate database drivers: apt-get install python-psycopg2 postgresql -For more information about installing and using the PostgreSQL database, [consider our documentation](/cloud/guides/ubuntu-10-04-lucid/). Conversely, if you only need a simple embedded relational database, consider using SQLite, which you can install with the following command: +For more information about installing and using the PostgreSQL database, [consider our documentation](/cloud/guides/ubuntu-10-04-lucid). Conversely, if you only need a simple embedded relational database, consider using SQLite, which you can install with the following command: apt-get install python-pysqlite2 sqlite3 @@ -199,7 +199,7 @@ application = app.wsgifunc() This program connects to the PostgreSQL database "webpy" and looks in the table "notes" for a note that matches the text "a note." If the note is found, the program returns the text "a note is found"; otherwise, the page will return "no notes are found." Make sure there is a role or user in your PostgreSQL database called "webpy" with the credentials specified on the `db` line of this example. {{< note >}} -For more information about PostgreSQL, see our [PostgreSQL guides](/cloud/guides/databases/postgresql/). +For more information about PostgreSQL, see our [PostgreSQL guides](/cloud/guides/databases/postgresql). {{< /note >}} At the PostgreSQL prompt, issue the following commands to the PostgreSQL shell statement to create the required database and tables. The "webpy" user for PostgreSQL must already exist: @@ -223,7 +223,7 @@ You may wish to consult the following resources for additional information on th - [The Web.py Project Home Page](http://webpy.org/) - [Official Web.py Documentation](http://webpy.org/docs/0.3) -- [Rewrite URLs in Apache with Mod\_Rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/) +- [Rewrite URLs in Apache with Mod\_Rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache) - [WSGI Configuration Options](http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives) diff --git a/docs/guides/development/frameworks/yesod/yesod-nginx-mysql-on-debian-7-wheezy/index.md b/docs/guides/development/frameworks/yesod/yesod-nginx-mysql-on-debian-7-wheezy/index.md index d696f78f5c5..94bab1d42f0 100644 --- a/docs/guides/development/frameworks/yesod/yesod-nginx-mysql-on-debian-7-wheezy/index.md +++ b/docs/guides/development/frameworks/yesod/yesod-nginx-mysql-on-debian-7-wheezy/index.md @@ -26,7 +26,7 @@ deprecated: true Yesod is a web framework based on the purely functional programming language Haskell. It is designed for productive development of type-safe, RESTful, and high performance web applications. This guide describes the required process for deploying Yesod and Nginx web server, MySQL database on Debian 7 (Wheezy). {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as root or with the sudo prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as root or with the sudo prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites @@ -48,7 +48,7 @@ Before you begin installing and configuring the components described below, plea apt-get update apt-get upgrade -4. You also need Nginx and MySQL software. Please refer to [Websites with Nginx on Debian 7 (Wheezy)](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) and [How to Install MySQL on Debian 7](/cloud/guides/how-to-install-mysql-on-debian-7/) for their installation guides. +4. You also need Nginx and MySQL software. Please refer to [Websites with Nginx on Debian 7 (Wheezy)](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) and [How to Install MySQL on Debian 7](/cloud/guides/how-to-install-mysql-on-debian-7) for their installation guides. ## Install Required Packages @@ -196,7 +196,7 @@ We don't need to modify this configuration file, it's acceptable as is. So you o Please wait for compilation, then you can see the scaffold of your site at http://www.yoursite.com:3000/, where ``www.yoursite.com`` is your FQDN. To stop it, just press ``Enter``. -If your Linode has a firewall, the port ``3000`` is probably inaccessible from outside, so you will not be able to see your site at http://www.yoursite.com:3000/. This port is only for testing or developing, so don't open it on your firewall. Instead, you can set up an SSH tunnel on your Linode, and view your site at http://localhost:3000/ via this tunnel. Please check [Setting up an SSH Tunnel with Your Linode for Safe Browsing](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) for more details. +If your Linode has a firewall, the port ``3000`` is probably inaccessible from outside, so you will not be able to see your site at http://www.yoursite.com:3000/. This port is only for testing or developing, so don't open it on your firewall. Instead, you can set up an SSH tunnel on your Linode, and view your site at http://localhost:3000/ via this tunnel. Please check [Setting up an SSH Tunnel with Your Linode for Safe Browsing](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing) for more details. You may have noticed that we haven't configure Nginx yet. In fact, Yesod applications contain an http server called Warp, which is written in Haskell, and has a very fast run-time. Without http servers like Apache or Nginx installed, you can run standalone Yesod applications. This feature is similar to the Express framework on Node.js. diff --git a/docs/guides/development/go/before-you-begin-install-go-shortguide/index.md b/docs/guides/development/go/before-you-begin-install-go-shortguide/index.md index 8c791851874..169500dd2b8 100644 --- a/docs/guides/development/go/before-you-begin-install-go-shortguide/index.md +++ b/docs/guides/development/go/before-you-begin-install-go-shortguide/index.md @@ -14,7 +14,7 @@ aliases: [] To run the examples in this guide, your workstation or server will need to have Go installed, and the `go` CLI will need to be set in your terminal's PATH: -- If you use Ubuntu, follow our [How to Install Go on Ubuntu](/cloud/guides/install-go-on-ubuntu/) guide. +- If you use Ubuntu, follow our [How to Install Go on Ubuntu](/cloud/guides/install-go-on-ubuntu) guide. - Follow the [Getting Started](https://golang.org/doc/install) guide on Golang's website to install on other operating systems. If you prefer to experiment with Go without installing it first, you can run the examples found in this guide using the [Go Playground](https://play.golang.org). \ No newline at end of file diff --git a/docs/guides/development/go/beginners-guide-to-go/index.md b/docs/guides/development/go/beginners-guide-to-go/index.md index a09934b9202..de8a68ae5c9 100644 --- a/docs/guides/development/go/beginners-guide-to-go/index.md +++ b/docs/guides/development/go/beginners-guide-to-go/index.md @@ -77,7 +77,7 @@ func main() { * Executable programs should have a function named `main()` without any function parameters. You cannot have multiple `main()` functions in the files of a single project. Function definitions begin with the `func` keyword. {{< note respectIndent=false >}} -For more information on how functions in Go are formatted and used, review our [Go Functions, Loops, and Errors](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial/) tutorial. +For more information on how functions in Go are formatted and used, review our [Go Functions, Loops, and Errors](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial) tutorial. {{< /note >}} * Go packages might include `import` statements for importing other Go packages. However, Go demands that you use some functionality from each one of the packages that you import. There is a way to bypass this rule, however, it is considered a bad practice to do this. @@ -323,7 +323,7 @@ Max: 3 ## Next Steps -The next guide in our Go language series is our [Go Functions, Loops, and Errors](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial/) tutorial. More advanced guides are listed in the [Go section index](/cloud/guides/development/go/). +The next guide in our Go language series is our [Go Functions, Loops, and Errors](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial) tutorial. More advanced guides are listed in the [Go section index](/cloud/guides/development/go). ### The Standard Go Library diff --git a/docs/guides/development/go/creating-reading-and-writing-files-in-go-a-tutorial/index.md b/docs/guides/development/go/creating-reading-and-writing-files-in-go-a-tutorial/index.md index eacc7aa4968..022cb8eabd1 100644 --- a/docs/guides/development/go/creating-reading-and-writing-files-in-go-a-tutorial/index.md +++ b/docs/guides/development/go/creating-reading-and-writing-files-in-go-a-tutorial/index.md @@ -21,7 +21,7 @@ aliases: [] This guide provides examples related to performing common file input and output operations in Go. {{< note >}} -This guide is written for a non-root user. However, some commands might require the help of `sudo` in order to properly execute. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. However, some commands might require the help of `sudo` in order to properly execute. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## In This Guide @@ -36,7 +36,7 @@ In this guide, you will learn how to: ## Before You Begin -- To follow this guide you need to have [Go installed on your computer](/cloud/guides/install-go-on-ubuntu/) and access to your preferred text editor. +- To follow this guide you need to have [Go installed on your computer](/cloud/guides/install-go-on-ubuntu) and access to your preferred text editor. - For the purposes of this guide, a text file named `data.txt` with the following contents will be used: diff --git a/docs/guides/development/go/developing-udp-and-tcp-clients-and-servers-in-go/index.md b/docs/guides/development/go/developing-udp-and-tcp-clients-and-servers-in-go/index.md index 2094459929d..c7c252f5d93 100644 --- a/docs/guides/development/go/developing-udp-and-tcp-clients-and-servers-in-go/index.md +++ b/docs/guides/development/go/developing-udp-and-tcp-clients-and-servers-in-go/index.md @@ -12,7 +12,7 @@ external_resources: - '[Go](https://www.golang.com)' aliases: [] --- -Go is a compiled, statically typed programming language developed by Google. Many modern applications, including [Docker](/cloud/guides/introduction-to-docker/), [Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/), and [Terraform](/cloud/guides/beginners-guide-to-terraform/), are written in Go. Go packages allow developers to organize and reuse Go code in a simple and maintainable manner. +Go is a compiled, statically typed programming language developed by Google. Many modern applications, including [Docker](/cloud/guides/introduction-to-docker), [Kubernetes](/cloud/guides/beginners-guide-to-kubernetes), and [Terraform](/cloud/guides/beginners-guide-to-terraform), are written in Go. Go packages allow developers to organize and reuse Go code in a simple and maintainable manner. In this guide, you will use the `net` package, which is a part of [Go's standard library](https://golang.org/pkg/#stdlib), to create TCP and UDP servers and clients. This guide is meant to provide instructional examples to help you become more familiar with the Go programming language. @@ -26,15 +26,15 @@ Throughout this guide you will create the following: ## Before You Begin -1. If you are not familiar with using Go packages, review the [Getting Started with Go Packages](/cloud/guides/getting-started-with-go-packages/) guide. +1. If you are not familiar with using Go packages, review the [Getting Started with Go Packages](/cloud/guides/getting-started-with-go-packages) guide. -1. Install Go on your computer if it is not already installed. You can follow our guide [How to Install Go on Ubuntu](/cloud/guides/install-go-on-ubuntu/) for installation steps. +1. Install Go on your computer if it is not already installed. You can follow our guide [How to Install Go on Ubuntu](/cloud/guides/install-go-on-ubuntu) for installation steps. This guide requires Go version 1.8 or higher. It is considered good practice to have the [latest version of Go](https://golang.org/dl/) installed. You can check your Go version by executing the following command: go version {{< note >}} -This guide is written for a non-root user. Depending on the TCP/IP port number that you use when running the TCP and UDP servers, you may need to prefix commands with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Depending on the TCP/IP port number that you use when running the TCP and UDP servers, you may need to prefix commands with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Protocol Definitions diff --git a/docs/guides/development/go/getting-started-with-go-packages/index.md b/docs/guides/development/go/getting-started-with-go-packages/index.md index 251ed12926c..b70d54136c9 100644 --- a/docs/guides/development/go/getting-started-with-go-packages/index.md +++ b/docs/guides/development/go/getting-started-with-go-packages/index.md @@ -24,7 +24,7 @@ Go packages allow developers to organize and reuse Go code in a simple and maint ## Before You Begin -If you haven't installed Go on your server yet, follow the instructions from the [Install Go on Ubuntu](/cloud/guides/install-go-on-ubuntu/) guide before proceeding. +If you haven't installed Go on your server yet, follow the instructions from the [Install Go on Ubuntu](/cloud/guides/install-go-on-ubuntu) guide before proceeding. If you prefer to experiment with Go without installing it first, you can run the examples found in this guide using the [Go Playground](https://play.golang.org). @@ -34,7 +34,7 @@ Packages provide the capability to organize and reuse source code. ### Declaring a Package -In a text editor, create a `hellogopher.go` file in your [GOPATH](/cloud/guides/install-go-on-ubuntu/#adjust-the-path-variable) and add the following content to create a simple "Hello world" program: +In a text editor, create a `hellogopher.go` file in your [GOPATH](/cloud/guides/install-go-on-ubuntu#adjust-the-path-variable) and add the following content to create a simple "Hello world" program: {{< file "hellogopher.go" go >}} package main diff --git a/docs/guides/development/go/go-context/index.md b/docs/guides/development/go/go-context/index.md index fad3cbacbcd..41b593ea438 100644 --- a/docs/guides/development/go/go-context/index.md +++ b/docs/guides/development/go/go-context/index.md @@ -21,22 +21,22 @@ The context package provides contextual information that a goroutine may need su In this guide you will learn: - - How the [context package](/cloud/guides/go-context/#about-the-context-package) works. + - How the [context package](/cloud/guides/go-context#about-the-context-package) works. - - Work through a [simple example](/cloud/guides/go-context/#a-simple-example) that demonstrate the main `context.Context` features. + - Work through a [simple example](/cloud/guides/go-context#a-simple-example) that demonstrate the main `context.Context` features. - - [Use context for http](/cloud/guides/go-context/#using-context-for-http) requests. + - [Use context for http](/cloud/guides/go-context#using-context-for-http) requests. - - [Use context as a key-value store](/cloud/guides/go-context/#using-contexts-as-key-value-stores). + - [Use context as a key-value store](/cloud/guides/go-context#using-contexts-as-key-value-stores). ## Before You Begin You will need to install a recent version of Go on your computer in order to follow the presented commands. Any Go version newer than 1.8 will do but it is considered a good practice to have the latest version of Go installed. You can check your Go version by executing `go version`. -If you still need to install Go, you can follow our guide for Ubuntu installation [here](/cloud/guides/install-go-on-ubuntu/). +If you still need to install Go, you can follow our guide for Ubuntu installation [here](/cloud/guides/install-go-on-ubuntu). {{< note >}} -This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to get property executed. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to get property executed. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## About the context package diff --git a/docs/guides/development/go/go-data-types/index.md b/docs/guides/development/go/go-data-types/index.md index 079fa44887a..c5c106571fb 100644 --- a/docs/guides/development/go/go-data-types/index.md +++ b/docs/guides/development/go/go-data-types/index.md @@ -28,7 +28,7 @@ This guide serves as an introduction to several useful data types in Go. Specifi ## Before You Begin -If you're just starting with Go, we recommend reading our [Beginner's Guide to Go](/cloud/guides/beginners-guide-to-go/) guide first. +If you're just starting with Go, we recommend reading our [Beginner's Guide to Go](/cloud/guides/beginners-guide-to-go) guide first. {{% content "before-you-begin-install-go-shortguide" %}} @@ -77,7 +77,7 @@ fmt.Println(anInteger) More complex examples of pointers are illustrated in `pointers.go`, including how a pointer can be used with a function: {{< note >}} -For more information on how to use functions in Go, review our [functions, loops, and errors guide](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial/). +For more information on how to use functions in Go, review our [functions, loops, and errors guide](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial). {{< /note >}} {{< file "pointers.go" go >}} @@ -335,7 +335,7 @@ Iterating through threeDimension: 5 -1 7 0 {{< /output >}} {{< note >}} -This example uses the `range` keyword and `for` loops to iterate through the elements of the `threeDimension` array. For more information on how to use loops in Go, review our [functions, loops, and errors guide](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial/). +This example uses the `range` keyword and `for` loops to iterate through the elements of the `threeDimension` array. For more information on how to use loops in Go, review our [functions, loops, and errors guide](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial). {{< /note >}} ### Disadvantages of Arrays @@ -630,7 +630,7 @@ Descending order: [90 50 45 45 0] The `sort.Slice()` function rearranges the elements in the slice according to a sorting function that you provide. The sorting function defines the way any two elements in the slice should be ordered. This function is passed as an argument to `sort.Slice()`. -If a slice contains numeric values or strings, then sorting them is straightforward because the `<` and `>` operators can be used in the sorting function. If you want to sort a slice of [structures](/cloud/guides/go-structures/) based on a given structure field, then the implementation of the sorting function will be slightly more complex. +If a slice contains numeric values or strings, then sorting them is straightforward because the `<` and `>` operators can be used in the sorting function. If you want to sort a slice of [structures](/cloud/guides/go-structures) based on a given structure field, then the implementation of the sorting function will be slightly more complex. ### Appending an Array's Elements to a Slice @@ -683,7 +683,7 @@ aSlice + aSlice: [-1 -2 -3 -1 -2 -3] - Unpacking separates the elements of `sliceFromArray` into individual arguments that are passed to the `append()` function. - - This unpacking is performed because `append()` is a [*variadic* function](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial/#variadic-functions). + - This unpacking is performed because `append()` is a [*variadic* function](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial#variadic-functions). - Line 21 shows that a slice can be appended to itself. @@ -811,4 +811,4 @@ k2 : 13 ## Next Steps -If you haven't visited them yet, then our [Learning Go Functions, Loops, and Errors](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial/) and [Structs in Go](/cloud/guides/go-structures/) tutorials are good next steps when learning Go. Afterwards, other advanced topics are covered in the [Go](/cloud/guides/development/go/) section of our library. \ No newline at end of file +If you haven't visited them yet, then our [Learning Go Functions, Loops, and Errors](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial) and [Structs in Go](/cloud/guides/go-structures) tutorials are good next steps when learning Go. Afterwards, other advanced topics are covered in the [Go](/cloud/guides/development/go) section of our library. \ No newline at end of file diff --git a/docs/guides/development/go/go-structures/index.md b/docs/guides/development/go/go-structures/index.md index 785cdad5c1a..00e7339128a 100644 --- a/docs/guides/development/go/go-structures/index.md +++ b/docs/guides/development/go/go-structures/index.md @@ -33,7 +33,7 @@ In this guide you will: {{% content "before-you-begin-install-go-shortguide" %}} -An introductory-level knowledge of Go is assumed by this guide. If you're just getting started with Go, check out our [Learning Go Functions, Loops, and Errors](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial/) tutorial. +An introductory-level knowledge of Go is assumed by this guide. If you're just getting started with Go, check out our [Learning Go Functions, Loops, and Errors](/cloud/guides/learning-go-functions-loops-and-errors-a-tutorial) tutorial. {{< note >}} This guide was written with Go version 1.13. @@ -735,4 +735,4 @@ Executing `json.go` and processing the data found in `record.json` will generate ## Next Steps -Structs are a versatile Go data type because they allow you to create new types by combining existing data types. If you feel confident in the topics covered in this tutorial, try exploring our [other guides on the Go language](/cloud/guides/development/go/). +Structs are a versatile Go data type because they allow you to create new types by combining existing data types. If you feel confident in the topics covered in this tutorial, try exploring our [other guides on the Go language](/cloud/guides/development/go). diff --git a/docs/guides/development/go/golang-gopath-and-workspaces/index.md b/docs/guides/development/go/golang-gopath-and-workspaces/index.md index 310fb845f55..0f6a99c4b4b 100644 --- a/docs/guides/development/go/golang-gopath-and-workspaces/index.md +++ b/docs/guides/development/go/golang-gopath-and-workspaces/index.md @@ -55,7 +55,7 @@ $GOPATH/go/ ## Go Workspace Configuration: Set the GOPATH -It is not necessary to set your `GOPATH` unless you want to use a location that is different from the default location. The default location of the `GOPATH` is `$HOME/go`. On a Linux system, the full path is `/home/username/go`. Setting your `GOPATH` is similar to [setting any Linux system environment variable](/cloud/guides/how-to-set-linux-environment-variables/). To set your `GOPATH`, use the following command: +It is not necessary to set your `GOPATH` unless you want to use a location that is different from the default location. The default location of the `GOPATH` is `$HOME/go`. On a Linux system, the full path is `/home/username/go`. Setting your `GOPATH` is similar to [setting any Linux system environment variable](/cloud/guides/how-to-set-linux-environment-variables). To set your `GOPATH`, use the following command: export = GOPATH=/home/example_user/a_new_workspace @@ -106,7 +106,7 @@ Hello, World! ## Conclusion -Understanding how the `GOPATH` is used by Go is essential in helping you get started writing Go programs. The `GOPATH` points to the location of a Go Workspace. By default this location is `/home/username/go` on Linux systems. Like any environment variable, you can assign a custom value to your `GOPATH` if you'd like to point it to a different directory. Abiding by Go program conventions around directory hierarchy and organization also helps you keep your Go programs shareable with outside collaborators or users. As a next step, check out our [Getting Started with Go Packages](/cloud/guides/getting-started-with-go-packages/) guide to learn more about organizing, packaging, and distributing your Go programs. +Understanding how the `GOPATH` is used by Go is essential in helping you get started writing Go programs. The `GOPATH` points to the location of a Go Workspace. By default this location is `/home/username/go` on Linux systems. Like any environment variable, you can assign a custom value to your `GOPATH` if you'd like to point it to a different directory. Abiding by Go program conventions around directory hierarchy and organization also helps you keep your Go programs shareable with outside collaborators or users. As a next step, check out our [Getting Started with Go Packages](/cloud/guides/getting-started-with-go-packages) guide to learn more about organizing, packaging, and distributing your Go programs. diff --git a/docs/guides/development/go/golang-unit-testing/index.md b/docs/guides/development/go/golang-unit-testing/index.md index d453497a6fb..6f7967d1f34 100644 --- a/docs/guides/development/go/golang-unit-testing/index.md +++ b/docs/guides/development/go/golang-unit-testing/index.md @@ -39,7 +39,7 @@ All test output and summary lines are printed to Go's standard output. Go's stan ## Go Test Modes -`go test` runs in two different modes. The first, called *local directory mode*, occurs when `go test` is invoked with no package arguments. In this mode, `go test` compiles the package sources and tests found in the current directory and then, runs the resulting test binary. [Caching](/cloud/guides/golang-unit-testing/#go-test-caching) is also disabled in this mode. After the package test finishes, `go test` prints a summary line showing the test status (`ok` or `FAIL`), package name, and elapsed time. +`go test` runs in two different modes. The first, called *local directory mode*, occurs when `go test` is invoked with no package arguments. In this mode, `go test` compiles the package sources and tests found in the current directory and then, runs the resulting test binary. [Caching](/cloud/guides/golang-unit-testing#go-test-caching) is also disabled in this mode. After the package test finishes, `go test` prints a summary line showing the test status (`ok` or `FAIL`), package name, and elapsed time. The second mode, called *package list mode*, occurs when `go test` is invoked with explicit package arguments. For example, the following commands trigger package list mode: `go test math`, `go test ./...`, and `go test .`. In this mode, `go test` compiles and tests each of the packages listed on the command line. When a package test passes, `go test` prints only the final `ok` summary line. When a package test fails, `go test` prints the full test output. When invoked with the `-bench` or `-v` flag, `go test` prints the full output even for package tests that pass. This is done in order to display the requested benchmark results or verbose logging. When all listed package tests finish, and their output is printed, `go test` prints a final `FAIL` status if any package test has failed. diff --git a/docs/guides/development/go/golang-vs-rust/index.md b/docs/guides/development/go/golang-vs-rust/index.md index f1e7527ede3..cb6d997fd6e 100644 --- a/docs/guides/development/go/golang-vs-rust/index.md +++ b/docs/guides/development/go/golang-vs-rust/index.md @@ -47,11 +47,11 @@ How do Rust and Go stack up when it comes to features and usage? The following s The choice between Rust and Go often comes down to the application you're working on and the particular problems you want to solve. -Go excels at compiling code, as [the Performance section below](/cloud/guides/golang-vs-rust/#performance) explains. This makes Go a good choice when you expect to have a large codebase and a large team working on it. In these cases, Go's quick compilation time saves time and vastly improves developer experience over languages that compile more slowly. +Go excels at compiling code, as [the Performance section below](/cloud/guides/golang-vs-rust#performance) explains. This makes Go a good choice when you expect to have a large codebase and a large team working on it. In these cases, Go's quick compilation time saves time and vastly improves developer experience over languages that compile more slowly. Go also features top-notch, built-in support for HTTP. This and Go's general orientation toward web development make it a strong choice for web applications. In fact, you might consider using Go where you might normally find something like Node.js. Because Go is a compiled language, it has a higher level of performance than many other web-oriented languages. -Rust prioritizes secure performance over everything else, which is elaborated in [the Performance section below](/cloud/guides/golang-vs-rust/#performance). This makes Rust a compelling choice when it comes to applications with complex algorithms and large amounts of data to process. In tests, Rust tends to hold its remarkable performance through complex operations and high levels of abstraction. Few other languages compare when speed is the premium. +Rust prioritizes secure performance over everything else, which is elaborated in [the Performance section below](/cloud/guides/golang-vs-rust#performance). This makes Rust a compelling choice when it comes to applications with complex algorithms and large amounts of data to process. In tests, Rust tends to hold its remarkable performance through complex operations and high levels of abstraction. Few other languages compare when speed is the premium. Rust also performs close to "the metal", or the machine components. Its low-level efficiencies and fine-grained control make it an outstanding option for systems programming. It may even outshine C/C++ in this field due to its modern sensibilities and ability to guarantee memory safety without performance compromises. @@ -99,5 +99,5 @@ You should now have what you need to make a decision between Go and Rust. Both a Ready to move forward and learn more? Take a look at our guides on these languages: -- Jump into our [Beginner's Guide to Go](/cloud/guides/beginners-guide-to-go/) for an introduction to programming with Go. -- Check out our [Installing and Using Rust](/cloud/guides/how-to-install-rust/) for steps to get Rust up and running and start working on your own application. \ No newline at end of file +- Jump into our [Beginner's Guide to Go](/cloud/guides/beginners-guide-to-go) for an introduction to programming with Go. +- Check out our [Installing and Using Rust](/cloud/guides/how-to-install-rust) for steps to get Rust up and running and start working on your own application. \ No newline at end of file diff --git a/docs/guides/development/go/learning-go-functions-loops-and-errors-a-tutorial/index.md b/docs/guides/development/go/learning-go-functions-loops-and-errors-a-tutorial/index.md index 4903c1a869f..48f9b665993 100644 --- a/docs/guides/development/go/learning-go-functions-loops-and-errors-a-tutorial/index.md +++ b/docs/guides/development/go/learning-go-functions-loops-and-errors-a-tutorial/index.md @@ -23,7 +23,7 @@ After you've learned the syntax of a simple "Hello World" script in Go, you'll l ## Before You Begin -If you're just starting with Go, we recommend reading our [Beginner's Guide to Go](/cloud/guides/beginners-guide-to-go/) guide first. +If you're just starting with Go, we recommend reading our [Beginner's Guide to Go](/cloud/guides/beginners-guide-to-go) guide first. {{% content "before-you-begin-install-go-shortguide" %}} diff --git a/docs/guides/development/go/unit-test-your-go-application/index.md b/docs/guides/development/go/unit-test-your-go-application/index.md index 67b37bbb564..a0b94ff3533 100644 --- a/docs/guides/development/go/unit-test-your-go-application/index.md +++ b/docs/guides/development/go/unit-test-your-go-application/index.md @@ -14,7 +14,7 @@ external_resources: - '[Benefits of unit testing](https://dzone.com/articles/top-8-benefits-of-unit-testing)' --- -[Go](/cloud/guides/development/go/) is a programming language that was developed around 2007 at Google to address many of the "system programming" tasks typically handled by C. While the syntax of Go is familiar to C programmers, it introduces more powerful and rigorous static typing. Additionally, Go offers the readability and memory safety found in languages like JavaScript and Python. The language also places a strong emphasis on performance, particularly in terms of its built-in [concurrency](https://www.golang-book.com/books/intro/10) features. Go provides a [reference compiler, standard library, and a variety of other tools](https://go.dev/), all of which are freely available as open source. +[Go](/cloud/guides/development/go) is a programming language that was developed around 2007 at Google to address many of the "system programming" tasks typically handled by C. While the syntax of Go is familiar to C programmers, it introduces more powerful and rigorous static typing. Additionally, Go offers the readability and memory safety found in languages like JavaScript and Python. The language also places a strong emphasis on performance, particularly in terms of its built-in [concurrency](https://www.golang-book.com/books/intro/10) features. Go provides a [reference compiler, standard library, and a variety of other tools](https://go.dev/), all of which are freely available as open source. ## When You Should Use Go @@ -28,7 +28,7 @@ It's worth noting that Go may not offer the extensive library of extensions, pac ### The Importance of Unit Tests -As mentioned in the guide, [unit tests](/cloud/guides/what-is-unit-testing/) provide several benefits to a project. They serve as documentation, ensuring the proper usage of code. Unit tests also help maintain the integrity of the source code, mitigating the risks associated with routine maintenance tasks. Furthermore, when implemented effectively, unit tests support [recognized methodologies for software design](https://www.agilealliance.org/glossary/tdd) and implementation. The productivity of a programming environment heavily relies on the effectiveness of unit tests. Therefore, a good programming language should facilitate the process of writing correct programs and conducting thorough testing concurrently. +As mentioned in the guide, [unit tests](/cloud/guides/what-is-unit-testing) provide several benefits to a project. They serve as documentation, ensuring the proper usage of code. Unit tests also help maintain the integrity of the source code, mitigating the risks associated with routine maintenance tasks. Furthermore, when implemented effectively, unit tests support [recognized methodologies for software design](https://www.agilealliance.org/glossary/tdd) and implementation. The productivity of a programming environment heavily relies on the effectiveness of unit tests. Therefore, a good programming language should facilitate the process of writing correct programs and conducting thorough testing concurrently. ### Go’s Special Relationship to Tests diff --git a/docs/guides/development/go/using-cobra/index.md b/docs/guides/development/go/using-cobra/index.md index 15b40cacd6d..4c8cc3de01b 100644 --- a/docs/guides/development/go/using-cobra/index.md +++ b/docs/guides/development/go/using-cobra/index.md @@ -18,10 +18,10 @@ aliases: [] You will need to install a recent version of Go on your computer in order to follow the presented commands. Any Go version newer than 1.7 will do but it is considered a good practice to have the latest version of Go installed. You can check your Go version by executing `go version`. -If you still need to install Go, you can follow our guide for Ubuntu installation [here](/cloud/guides/install-go-on-ubuntu/). +If you still need to install Go, you can follow our guide for Ubuntu installation [here](/cloud/guides/install-go-on-ubuntu). {{< note >}} -This guide is written for a non-root user. Depending on your installation, some commands might require the help of `sudo` in order to get property executed. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Depending on your installation, some commands might require the help of `sudo` in order to get property executed. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Using the Cobra Go Package diff --git a/docs/guides/development/graphql/graphql-apollo-an-introduction/index.md b/docs/guides/development/graphql/graphql-apollo-an-introduction/index.md index dc9d1276f11..8c998eb3609 100644 --- a/docs/guides/development/graphql/graphql-apollo-an-introduction/index.md +++ b/docs/guides/development/graphql/graphql-apollo-an-introduction/index.md @@ -67,7 +67,7 @@ To become more familiar with GraphQL's capabilities refer to the [Apollo blog's ### Apollo GraphQL Client Example -The example in this section queries an open [GraphQL service](https://api.spacex.land/graphql/) that [SpaceX](https://www.spacex.com/) provides. Before beginning the steps in this section, ensure you have [installed Node.js using the Node Version Manager](/cloud/guides/how-to-install-nodejs-and-nginx-on-ubuntu-18-04/#install-nodejs). +The example in this section queries an open [GraphQL service](https://api.spacex.land/graphql/) that [SpaceX](https://www.spacex.com/) provides. Before beginning the steps in this section, ensure you have [installed Node.js using the Node Version Manager](/cloud/guides/how-to-install-nodejs-and-nginx-on-ubuntu-18-04#install-nodejs). From your system's command line, install the GraphQL client: @@ -127,7 +127,7 @@ Several implementations of a [GraphQL server](https://blog.graphqleditor.com/gra ### Server Installation Steps -Before beginning the steps in this section, ensure you have [installed Node.js using the Node Version Manager](/cloud/guides/how-to-install-nodejs-and-nginx-on-ubuntu-18-04/#install-nodejs) on your server. +Before beginning the steps in this section, ensure you have [installed Node.js using the Node Version Manager](/cloud/guides/how-to-install-nodejs-and-nginx-on-ubuntu-18-04#install-nodejs) on your server. To install the Apollo GraphQL server use the following command: diff --git a/docs/guides/development/java/how-to-deploy-spring-boot-applications-nginx-ubuntu-22-04/index.md b/docs/guides/development/java/how-to-deploy-spring-boot-applications-nginx-ubuntu-22-04/index.md index 1621d828510..c4f24d2c1b5 100644 --- a/docs/guides/development/java/how-to-deploy-spring-boot-applications-nginx-ubuntu-22-04/index.md +++ b/docs/guides/development/java/how-to-deploy-spring-boot-applications-nginx-ubuntu-22-04/index.md @@ -41,7 +41,7 @@ The Spring platform is very powerful and contains a large number of features. Fo 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing Spring Boot and all Prerequisites on Ubuntu 22.04 diff --git a/docs/guides/development/java/how-to-install-openjdk-ubuntu-22-04/index.md b/docs/guides/development/java/how-to-install-openjdk-ubuntu-22-04/index.md index 926c647ba38..2f359e1fe57 100644 --- a/docs/guides/development/java/how-to-install-openjdk-ubuntu-22-04/index.md +++ b/docs/guides/development/java/how-to-install-openjdk-ubuntu-22-04/index.md @@ -40,7 +40,7 @@ For more information about OpenJDK, see the [OpenJDK website](https://openjdk.ja 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install OpenJDK diff --git a/docs/guides/development/java/java-development-wildfly-centos-7/index.md b/docs/guides/development/java/java-development-wildfly-centos-7/index.md index 17bfa376f0c..e4cce7e6858 100644 --- a/docs/guides/development/java/java-development-wildfly-centos-7/index.md +++ b/docs/guides/development/java/java-development-wildfly-centos-7/index.md @@ -50,7 +50,7 @@ After full installation of above stack it was consuming around 650 MB of RAM wit sudo systemctl start firewalld sudo systemctl enable firewalld -- Please follow the steps mentioned in [Linode: Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) sections "Installing MySQL", "Optimizing MySQL for a Linode 2GB", "Creating a Database". +- Please follow the steps mentioned in [Linode: Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04) sections "Installing MySQL", "Optimizing MySQL for a Linode 2GB", "Creating a Database". ### Oracle Java 8 SE installation diff --git a/docs/guides/development/java/kotlin-tutorial-learn-the-basics/index.md b/docs/guides/development/java/kotlin-tutorial-learn-the-basics/index.md index 775c4ba62f4..1cc5888fcd0 100644 --- a/docs/guides/development/java/kotlin-tutorial-learn-the-basics/index.md +++ b/docs/guides/development/java/kotlin-tutorial-learn-the-basics/index.md @@ -11,7 +11,7 @@ tags: ['java'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -Kotlin is a new cross-platform, statically typed, general-purpose programming language. It was originally created in 2011 by [JetBrains](https://www.jetbrains.com/) and was initially released in 2016. It relies on the Java Virtual Machine (JVM), just like Java, but there are significant differences that you can learn about in our [Kotlin vs Java guide](/cloud/guides/kotlin-vs-java-understanding-their-differences/). One of the most interesting differences is that you can compile Kotlin to output JavaScript, Android, and Native (which runs on iOS). In 2019, Google announced that Kotlin is now the preferred language for all Android development. This Kotlin tutorial provides you basics to help you no matter what type of output you need. You also learn how to work with Kotlin variables, Kotlin strings, Kotlin arrays, Kotlin lists, Kotlin collections, Kotlin functions. And finally, you develop a simple Kotlin class. +Kotlin is a new cross-platform, statically typed, general-purpose programming language. It was originally created in 2011 by [JetBrains](https://www.jetbrains.com/) and was initially released in 2016. It relies on the Java Virtual Machine (JVM), just like Java, but there are significant differences that you can learn about in our [Kotlin vs Java guide](/cloud/guides/kotlin-vs-java-understanding-their-differences). One of the most interesting differences is that you can compile Kotlin to output JavaScript, Android, and Native (which runs on iOS). In 2019, Google announced that Kotlin is now the preferred language for all Android development. This Kotlin tutorial provides you basics to help you no matter what type of output you need. You also learn how to work with Kotlin variables, Kotlin strings, Kotlin arrays, Kotlin lists, Kotlin collections, Kotlin functions. And finally, you develop a simple Kotlin class. {{< note >}} To execute the Kotlin code snippets demonstrated in this guide, you can use the [Kotlin online playground](https://try.kotlinlang.org/). Or, if you are using an IDE like Android Studio or IntelliJ, you can install the [Kotlin plugin](https://kotlinlang.org/docs/install-eap-plugin.html). @@ -160,7 +160,7 @@ The value of Area is: 8 The value of Area is: 20 {{}} -The value of `area` is computed within the `Square` class for this reason the value of `area` changes. However, a direct assignment of `area` is not possible.[Classes](/cloud/guides/kotlin-tutorial-learn-the-basics/#declare-a-kotlin-class) are discussed in more detail later in this guide. +The value of `area` is computed within the `Square` class for this reason the value of `area` changes. However, a direct assignment of `area` is not possible.[Classes](/cloud/guides/kotlin-tutorial-learn-the-basics#declare-a-kotlin-class) are discussed in more detail later in this guide. The same thing holds true, but in a different way, for read-only variables that contain a [lambda function](https://kotlinlang.org/docs/lambdas.html) like in the following example: @@ -501,7 +501,7 @@ A class always has a primary constructor. If you don’t provide one, then Kotli } } -To instantiate an object based on `Rectangle`, provide the `height` and `width` values, such as `var Test = Rectangle(2, 4)`. If you provide default values for the two parameters, you could call it using the same strategy as when working with [default parameters and named parameters for functions](/cloud/guides/kotlin-tutorial-learn-the-basics/#default-parameters). For example, the class declaration below allows instantiating `Rectangle` without any arguments. +To instantiate an object based on `Rectangle`, provide the `height` and `width` values, such as `var Test = Rectangle(2, 4)`. If you provide default values for the two parameters, you could call it using the same strategy as when working with [default parameters and named parameters for functions](/cloud/guides/kotlin-tutorial-learn-the-basics#default-parameters). For example, the class declaration below allows instantiating `Rectangle` without any arguments. class Rectangle(height: Int = 2, width: Int = 2) { ... @@ -551,4 +551,4 @@ To use the `SayHowdy()` method, call it from `TestStatic` class using `TestStati ## Conclusion -This guide provides the basics of the Kotlin language. Kotlin is a robust language used for a wide variety of needs. It simplifies much of the functionality that Java provides, reduces errors, and speeds development. Kotlin also provides a significant level of flexibility in developing code for a variety of needs and environments. If you are not as familiar with Java, read our [Kotlin vs. Java: Key Differences](/cloud/guides/kotlin-vs-java-understanding-their-differences/) to understand how the two languages compare. +This guide provides the basics of the Kotlin language. Kotlin is a robust language used for a wide variety of needs. It simplifies much of the functionality that Java provides, reduces errors, and speeds development. Kotlin also provides a significant level of flexibility in developing code for a variety of needs and environments. If you are not as familiar with Java, read our [Kotlin vs. Java: Key Differences](/cloud/guides/kotlin-vs-java-understanding-their-differences) to understand how the two languages compare. diff --git a/docs/guides/development/java/play-framework-build-a-website/index.md b/docs/guides/development/java/play-framework-build-a-website/index.md index acd89bfa818..77053d41d47 100644 --- a/docs/guides/development/java/play-framework-build-a-website/index.md +++ b/docs/guides/development/java/play-framework-build-a-website/index.md @@ -27,7 +27,7 @@ This guide helps you learn more about the Play framework and how to get started 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is the Play Framework? @@ -93,7 +93,7 @@ In these steps, you can see how to download and run one of these examples — th Play serves the application on `localhost:9000`. To visit the application remotely, you can use an SSH tunnel. - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with **9000**. + - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) guide, replacing the example port number there with **9000**. - On OS X or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. ssh -L9000:localhost:9000 example-user@192.0.2.0 diff --git a/docs/guides/development/javascript/angular-animations-get-started/index.md b/docs/guides/development/javascript/angular-animations-get-started/index.md index 4f006e0470c..d38cfebc8d0 100644 --- a/docs/guides/development/javascript/angular-animations-get-started/index.md +++ b/docs/guides/development/javascript/angular-animations-get-started/index.md @@ -17,7 +17,7 @@ Web animations add dynamic graphics and effects to a web page. Movement on a web ## Setup the Angular Project -1. Follow the steps in our [Getting Started with Angular](/cloud/guides/angular-tutorial-for-beginners/#getting-started-with-angular) guide to install Node.js, the Node Version Manager (nvm), and Angular. As a result of following those steps, you should have a directory named `example-app` in your home folder. +1. Follow the steps in our [Getting Started with Angular](/cloud/guides/angular-tutorial-for-beginners#getting-started-with-angular) guide to install Node.js, the Node Version Manager (nvm), and Angular. As a result of following those steps, you should have a directory named `example-app` in your home folder. 1. In your Angular project's root application module, enable the animations module by importing the `BrowserAnimationsModule` as shown in the following code: diff --git a/docs/guides/development/javascript/angular-tutorial-for-beginners/index.md b/docs/guides/development/javascript/angular-tutorial-for-beginners/index.md index 64a9a5d1984..90b3ec55fcf 100644 --- a/docs/guides/development/javascript/angular-tutorial-for-beginners/index.md +++ b/docs/guides/development/javascript/angular-tutorial-for-beginners/index.md @@ -33,8 +33,8 @@ Angular should not be confused with [AngularJS](https://angularjs.org/), a front 1. Install Node.js using the steps found in one of the following guides: - - [How to Install Node.js and NGINX](/cloud/guides/how-to-install-nodejs-and-nginx-on-debian-10/) (just select the appropriate Linux distribution from the drop down). - - [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/). + - [How to Install Node.js and NGINX](/cloud/guides/how-to-install-nodejs-and-nginx-on-debian-10) (just select the appropriate Linux distribution from the drop down). + - [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm). 1. Install the Angular command-line interface (CLI) as a global Node.js package: @@ -64,7 +64,7 @@ Unless noted otherwise, all subsequent commands in this guide assume you are sti Angular serves the application on `localhost` port `4200`. To visit the application remotely, you can use an SSH tunnel. - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with **4200**. + - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) guide, replacing the example port number there with **4200**. - On OS X or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. ssh -L4200:127.0.0.1:4200 example-user@192.0.2.0 @@ -87,7 +87,7 @@ Decorators define the following three things for their components: - The **template** — determines how the component is rendered. Together with the component, the template defines a view. - Optionally, the CSS style to be used for rendering the component. -Component classes are where components gather data, implement logic, and assign values. This is where components can call and make use of [Angular Services](/cloud/guides/angular-tutorial-for-beginners/#angular-services). +Component classes are where components gather data, implement logic, and assign values. This is where components can call and make use of [Angular Services](/cloud/guides/angular-tutorial-for-beginners#angular-services). Finally, components are grouped into modules — called `NgModules` in Angular. Every Angular application has at least one `NgModule`, the root module, often called `AppModule`. This groups your application's core functionality and, for many straightforward applications, no other modules need to be created. diff --git a/docs/guides/development/javascript/authenticating-over-websockets-with-jwt/index.md b/docs/guides/development/javascript/authenticating-over-websockets-with-jwt/index.md index 25c89fd9637..41b79cd8962 100644 --- a/docs/guides/development/javascript/authenticating-over-websockets-with-jwt/index.md +++ b/docs/guides/development/javascript/authenticating-over-websockets-with-jwt/index.md @@ -28,7 +28,7 @@ The WebSocket Protocol is an open standard ([RFC 6455](https://tools.ietf.org/ht WebSockets can be useful in numerous contexts where real-time information transmission is key. A typical example is an instant messenger or chat application. WebSockets can also handle things like collaborative document editing and online multiplayer games. -To learn more about WebSockets, take a look at our [Introduction to WebSockets](/cloud/guides/introduction-to-websockets/) guide. +To learn more about WebSockets, take a look at our [Introduction to WebSockets](/cloud/guides/introduction-to-websockets) guide. ## What Are JSON Web Tokens? @@ -36,7 +36,7 @@ JSON Web Token (JWT) is also an open standard ([RCF 7519](https://tools.ietf.org Decoded JWTs are formatted as JSON, as opposed to the XML format often used in similar token standards. This tends to make them more approachable for web development, and also opens up JSON's extensive web development tooling. -For more on JWTs, check out our [How to Authenticate with JSON Web Tokens (JWTs)](/cloud/guides/how-to-authenticate-using-jwt/) guide. +For more on JWTs, check out our [How to Authenticate with JSON Web Tokens (JWTs)](/cloud/guides/how-to-authenticate-using-jwt) guide. ## Using WebSockets and JWTs Together @@ -72,7 +72,7 @@ In this section, you learn how to implement a WebSocket server and how to use JW 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ### Install Node.js @@ -376,7 +376,7 @@ The example application is ready for a test run. Follow the steps below to try i Express serves the application on `localhost:3000`. To visit the application remotely, you can use an SSH tunnel. - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with `3000`. + - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) guide, replacing the example port number there with `3000`. - On OS X or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. ssh -L3000:localhost:3000 example-user@192.0.2.0 diff --git a/docs/guides/development/javascript/build-mern-stack-chat-application/index.md b/docs/guides/development/javascript/build-mern-stack-chat-application/index.md index 45662cc76cc..11ae153f7ff 100644 --- a/docs/guides/development/javascript/build-mern-stack-chat-application/index.md +++ b/docs/guides/development/javascript/build-mern-stack-chat-application/index.md @@ -32,7 +32,7 @@ This MERN tutorial helps you get started building a MERN app of your own for an ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is MERN Stack? @@ -99,7 +99,7 @@ Two of the MERN components should be installed before you start on your project: sudo apt install mongodb-org ``` -See the official documentation for more on installing MongoDB [on Debian](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/) and [on Ubuntu](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/). You can also refer to our [How To Install MongoDB on Ubuntu 16.04](/cloud/guides/install-mongodb-on-ubuntu-16-04/) guide. +See the official documentation for more on installing MongoDB [on Debian](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/) and [on Ubuntu](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/). You can also refer to our [How To Install MongoDB on Ubuntu 16.04](/cloud/guides/install-mongodb-on-ubuntu-16-04) guide. #### Install Node.js @@ -123,7 +123,7 @@ See the official documentation for more on installing MongoDB [on Debian](https: nvm install node ``` -You can additionally refer to our [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#how-to-install-or-update-npm) guide. +You can additionally refer to our [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux#how-to-install-or-update-npm) guide. ### Developing the App @@ -284,7 +284,7 @@ The next sections show you how to set these up for a basic chat application. } ``` -You can learn more about getting started with Express JS in our guide [Express JS Tutorial: Get Started Building a Website](/cloud/guides/express-js-tutorial/). +You can learn more about getting started with Express JS in our guide [Express JS Tutorial: Get Started Building a Website](/cloud/guides/express-js-tutorial). #### Create the React Frontend @@ -459,7 +459,7 @@ With the prerequisites installed and the project set up, you can now start up yo Your MERN stack application should now be running. Access the frontend by navigating to `localhost:3000` in a browser. You can access the application remotely using an SSH tunnel: - - On **Windows**, use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Setting up an SSH Tunnel with Your Linode for Safe Browsing](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/#windows) guide, replacing the example port number there with `3000`. + - On **Windows**, use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Setting up an SSH Tunnel with Your Linode for Safe Browsing](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing#windows) guide, replacing the example port number there with `3000`. - On **macOS** or **Linux**, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. @@ -469,12 +469,12 @@ With the prerequisites installed and the project set up, you can now start up yo ![Example MERN stack application](mern-app-example.png) -When you are ready to make your application accessible to the public, take a look at our [Deploying a React Application on Debian 10](/cloud/guides/how-to-deploy-a-react-app-on-debian-10/) guide. Specifically, the [Configure your Web Server](/cloud/guides/how-to-deploy-a-react-app-on-debian-10/#configure-your-web-server) and [Create your Deployment Script](/cloud/guides/how-to-deploy-a-react-app-on-debian-10/#create-your-deployment-script) sections give you the additional steps you need to make your React frontend available. +When you are ready to make your application accessible to the public, take a look at our [Deploying a React Application on Debian 10](/cloud/guides/how-to-deploy-a-react-app-on-debian-10) guide. Specifically, the [Configure your Web Server](/cloud/guides/how-to-deploy-a-react-app-on-debian-10#configure-your-web-server) and [Create your Deployment Script](/cloud/guides/how-to-deploy-a-react-app-on-debian-10#create-your-deployment-script) sections give you the additional steps you need to make your React frontend available. ## Conclusion You now have a working MERN stack application. This code above can form a basis that you can modify and expand on to your needs. -Ready to deploy your MERN stack app to a server? Refer to our [Deploy a MERN Stack Application on Akamai](/cloud/guides/deploy-a-mern-stack-application/) guide. There, you can learn how to set up a server for a MERN stack and copy over your MERN project for deployment. +Ready to deploy your MERN stack app to a server? Refer to our [Deploy a MERN Stack Application on Akamai](/cloud/guides/deploy-a-mern-stack-application) guide. There, you can learn how to set up a server for a MERN stack and copy over your MERN project for deployment. -One way you can enhance your MERN stack app is by adding authentication. Learn how to implement authentication into your Express JS server through our [User Authentication with JSON Web Tokens (JWTs) and Express](/cloud/guides/how-to-authenticate-using-jwt/) guide. \ No newline at end of file +One way you can enhance your MERN stack app is by adding authentication. Learn how to implement authentication into your Express JS server through our [User Authentication with JSON Web Tokens (JWTs) and Express](/cloud/guides/how-to-authenticate-using-jwt) guide. \ No newline at end of file diff --git a/docs/guides/development/javascript/deploy-a-mern-stack-application/index.md b/docs/guides/development/javascript/deploy-a-mern-stack-application/index.md index 297dc9843b6..672365db45b 100644 --- a/docs/guides/development/javascript/deploy-a-mern-stack-application/index.md +++ b/docs/guides/development/javascript/deploy-a-mern-stack-application/index.md @@ -17,9 +17,9 @@ MERN is a stack for modern web applications. It consists of MongoDB, Express JS, This guide helps you deploy your existing MERN stack project onto Akamai cloud compute, using the MERN Quick Deploy App or by manually installing the MERN stack on a new Compute Instance. After your server is set up, learn how to copy your project to your server. If you do not yet have an existing project and wish to create a new MERN application, review one of the following guides instead: -- [Install the MERN Stack and Create an Example Application](/cloud/guides/install-the-mern-stack/) +- [Install the MERN Stack and Create an Example Application](/cloud/guides/install-the-mern-stack) -- [Build a Basic Chat Application using the MERN Stack](/cloud/guides/build-mern-stack-chat-application/) +- [Build a Basic Chat Application using the MERN Stack](/cloud/guides/build-mern-stack-chat-application) ## Before You Begin @@ -34,7 +34,7 @@ This guide helps you deploy your existing MERN stack project onto Akamai cloud c ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is the MERN Stack? @@ -109,7 +109,7 @@ To get started, you need to install each of the components that make up a MERN s sudo apt install mongodb-org ``` -See the official documentation for more on installing MongoDB [on Debian](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/) and [on Ubuntu](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/). You can also refer to our guide [How To Install MongoDB on Ubuntu 16.04](/cloud/guides/install-mongodb-on-ubuntu-16-04/). +See the official documentation for more on installing MongoDB [on Debian](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/) and [on Ubuntu](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/). You can also refer to our guide [How To Install MongoDB on Ubuntu 16.04](/cloud/guides/install-mongodb-on-ubuntu-16-04). ### Install Node.js @@ -139,7 +139,7 @@ See the official documentation for more on installing MongoDB [on Debian](https: npm install -g yarn ``` -You can additionally refer to our [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#how-to-install-or-update-npm) guide. If you are interested in using Yarn instead of NPM, take a look at our [How to Install and Use the Yarn Package Manager](/cloud/guides/install-and-use-the-yarn-package-manager/) guide. +You can additionally refer to our [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux#how-to-install-or-update-npm) guide. If you are interested in using Yarn instead of NPM, take a look at our [How to Install and Use the Yarn Package Manager](/cloud/guides/install-and-use-the-yarn-package-manager) guide. ### Install Express JS @@ -157,7 +157,7 @@ If you are working on a Yarn project, use the command below instead: yarn add express mongoose ``` -Learn more about getting started with Express JS in our guide [Express JS Tutorial: Get Started Building a Website](/cloud/guides/express-js-tutorial/). +Learn more about getting started with Express JS in our guide [Express JS Tutorial: Get Started Building a Website](/cloud/guides/express-js-tutorial). ### Install React (if necessary for server-side rendering) @@ -175,7 +175,7 @@ Alternatively, use a command like the next one if your project uses Yarn instead yarn add react react-dom axios ``` -Find out more about building applications with React from the [official documentation](https://reactjs.org/docs/getting-started.html) and in our guide [Deploying a React Application on Debian 10](/cloud/guides/how-to-deploy-a-react-app-on-debian-10/#create-an-example-react-app). +Find out more about building applications with React from the [official documentation](https://reactjs.org/docs/getting-started.html) and in our guide [Deploying a React Application on Debian 10](/cloud/guides/how-to-deploy-a-react-app-on-debian-10#create-an-example-react-app). ## Upload Your Application @@ -224,7 +224,7 @@ To follow along, you can download the [MERN stack starter](https://github.com/rf ### Set Up Git Version Control for Your Project -Take a look at our guide [Introduction to Version Control](/cloud/guides/introduction-to-version-control/#installing-git) to learn more about using Git for version control. +Take a look at our guide [Introduction to Version Control](/cloud/guides/introduction-to-version-control#installing-git) to learn more about using Git for version control. The examples in the steps below use GitHub. They assume you have a GitHub account and have created a blank repository on GitHub for pushing your MERN project. You can learn how to create a repository on GitHub using the steps in GitHub's [official documentation](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository). @@ -368,7 +368,7 @@ These next steps then need to be taken on the server instance to pull down the p You can then visit your application in a browser. By default, React runs on `localhost:3000`, and that is the case for the example application referenced above. To access it remotely, you can use an SSH tunnel. -- On **Windows**, use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Setting up an SSH Tunnel with Your Linode for Safe Browsing](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/#windows) guide, replacing the example port number there with **3000**. +- On **Windows**, use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Setting up an SSH Tunnel with Your Linode for Safe Browsing](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing#windows) guide, replacing the example port number there with **3000**. - On **macOS** or **Linux**, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. diff --git a/docs/guides/development/javascript/document-object-model/index.md b/docs/guides/development/javascript/document-object-model/index.md index 8a2a1898c68..d5bc4e624c9 100644 --- a/docs/guides/development/javascript/document-object-model/index.md +++ b/docs/guides/development/javascript/document-object-model/index.md @@ -152,7 +152,7 @@ The `document` object contains numerous other objects that all make up the DOM. You are likely to work most frequently with *element* nodes. DOM element nodes correspond to a web page's HTML elements. They allow you to access and manipulate the building blocks of a web page. -The script used in the [How the DOM Differs from HTML Source](/cloud/guides/document-object-model/#how-the-dom-differs-from-html-source-code) section added a `
    ` element and `
  • ` elements to the page. This added the following two kinds of nodes to the page: +The script used in the [How the DOM Differs from HTML Source](/cloud/guides/document-object-model#how-the-dom-differs-from-html-source-code) section added a `
      ` element and `
    • ` elements to the page. This added the following two kinds of nodes to the page: - *Element nodes*, which were created using the `document.createElement` method. - *Text nodes*, created with the `document.createTextNode` method. diff --git a/docs/guides/development/javascript/express-js-tutorial/index.md b/docs/guides/development/javascript/express-js-tutorial/index.md index e0eb8b3bc1c..7a4fa095cd0 100644 --- a/docs/guides/development/javascript/express-js-tutorial/index.md +++ b/docs/guides/development/javascript/express-js-tutorial/index.md @@ -36,7 +36,7 @@ There are plenty of similar frameworks out there. What sets Express JS apart is 1. Throughout, this guide uses `example-app` as the name of the Express JS application and `example.com` as the server domain name. Replace these with your preferred application name and your server's domain name, respectively. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Express JS @@ -45,7 +45,7 @@ These steps walk you through setting up a basic Express JS application. It uses If you want to manually lay out your application's design, you can follow the [Express JS installation guide](https://expressjs.com/en/starter/installing.html), which shows how to create a minimal Node.js application and add Express JS as a dependency. Node.js is a prerequisite, so use one of the links in the first step below to get instructions for installing it. -1. First, you need to install Node.js. You can follow either the guide for [How to Install Node.js and NGINX](/cloud/guides/how-to-install-nodejs-and-nginx-on-debian-10/) (just select the appropriate Linux distribution from the drop down) or the [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide. +1. First, you need to install Node.js. You can follow either the guide for [How to Install Node.js and NGINX](/cloud/guides/how-to-install-nodejs-and-nginx-on-debian-10) (just select the appropriate Linux distribution from the drop down) or the [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm) guide. 1. Change into the directory where you would like your application to live. This guide's example app lives in the current user's home directory. Then, use the Express application generator to create an application skeleton. diff --git a/docs/guides/development/javascript/getting-started-ember/index.md b/docs/guides/development/javascript/getting-started-ember/index.md index c44f1acc98a..3e093e58fc9 100644 --- a/docs/guides/development/javascript/getting-started-ember/index.md +++ b/docs/guides/development/javascript/getting-started-ember/index.md @@ -40,7 +40,7 @@ With this guide, learn what Ember has to offer and how it structures its applica ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is the Ember Framework? @@ -79,7 +79,7 @@ But Ember does have tools that you likely want to install to make working with E These steps walk you through installing the Ember tooling. -1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). +1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux). 1. Install the Ember command-line (CLI) tool as a global NPM package: @@ -138,9 +138,9 @@ Ember serves the application on port `4200` by default. You can access the appli {{< note >}} To access this remotely, you may first need to open the port in your system's firewall. You can learn about how to do that in one of the guides linked below, depending on your system's Linux distribution. -- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). +- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). -- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) +- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos) {{< /note >}} ![Ember welcome page](ember-default-app.png) diff --git a/docs/guides/development/javascript/getting-started-with-svelte/index.md b/docs/guides/development/javascript/getting-started-with-svelte/index.md index 1fbdacb0731..48143cb0656 100644 --- a/docs/guides/development/javascript/getting-started-with-svelte/index.md +++ b/docs/guides/development/javascript/getting-started-with-svelte/index.md @@ -25,7 +25,7 @@ Through this guide, learn more about what sets the Svelte framework apart and ho 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is the Svelte Framework? @@ -50,7 +50,7 @@ To install Svelte, the recommended approach in the official documentation is to With the SvelteKit installed, your project compiles `.svelte` files into the appropriate JavaScript and CSS at build time. SvelteKit also brings ready access to convenient frontend development features like routing. -1. Install NPM to manage your Svelte project and install its dependencies. Follow the relevant section of our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#how-to-install-npm). +1. Install NPM to manage your Svelte project and install its dependencies. Follow the relevant section of our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux#how-to-install-npm). 1. Create a new NPM project using the SvelteKit template. This example names the project `exampleApp`, and this name gets used for the Svelte project throughout the rest of this guide: @@ -91,7 +91,7 @@ npm run dev To access this URL from a remote machine, you can use an SSH tunnel. Set up the SSH tunnel using one of the methods below, depending on your operating system. -- On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use `5173` as the **Source port** and `127.0.0.1:5173` as the **Destination**. +- On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use `5173` as the **Source port** and `127.0.0.1:5173` as the **Destination**. - On **macOS** or **Linux**, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the remote server and `192.0.2.0` with the remote server's IP address: diff --git a/docs/guides/development/javascript/how-to-add-javascript-to-html/index.md b/docs/guides/development/javascript/how-to-add-javascript-to-html/index.md index 670f237e000..d098042db86 100644 --- a/docs/guides/development/javascript/how-to-add-javascript-to-html/index.md +++ b/docs/guides/development/javascript/how-to-add-javascript-to-html/index.md @@ -166,6 +166,6 @@ Like `async`, using `defer` tells the browser to download a linked JavaScript fi This guide covered the foundational information you need to start using JavaScript on your HTML pages. Whether you plan to embed a script or link a JavaScript file in your HTML, this guide outlined the steps needed to do so. -As a next step, you may be interested in looking at some of our other JavaScript tutorials. For instance, take a look at our [Traversing the Document Object Model with JavaScript](/cloud/guides/traversing-the-dom/) tutorial, our [How to Modify the DOM with JavaScript](/cloud/guides/javascript-dom-manipulation/) tutorial, and our [JavaScript Objects](/cloud/guides/javascript-objects-tutorial/) tutorial. +As a next step, you may be interested in looking at some of our other JavaScript tutorials. For instance, take a look at our [Traversing the Document Object Model with JavaScript](/cloud/guides/traversing-the-dom) tutorial, our [How to Modify the DOM with JavaScript](/cloud/guides/javascript-dom-manipulation) tutorial, and our [JavaScript Objects](/cloud/guides/javascript-objects-tutorial) tutorial. diff --git a/docs/guides/development/javascript/how-to-authenticate-using-jwt/index.md b/docs/guides/development/javascript/how-to-authenticate-using-jwt/index.md index a7b88c7d0c6..800f5eef95a 100644 --- a/docs/guides/development/javascript/how-to-authenticate-using-jwt/index.md +++ b/docs/guides/development/javascript/how-to-authenticate-using-jwt/index.md @@ -54,7 +54,7 @@ To see this in action, you can use the [JWT.IO debugger](https://jwt.io/#debugge ## Example JWT Authentication -In this section, you can follow along to implement your own authentication process using JWTs. Many popular programming languages for web development have libraries to make handing JWTs easy. You use Node.js with Express JS in this section's example. Express gives you tools to get a server up and running quickly. If you want to learn more about Express JS, check out our [Express JS Tutorial: Get Started Building a Website](/cloud/guides/express-js-tutorial/) guide. +In this section, you can follow along to implement your own authentication process using JWTs. Many popular programming languages for web development have libraries to make handing JWTs easy. You use Node.js with Express JS in this section's example. Express gives you tools to get a server up and running quickly. If you want to learn more about Express JS, check out our [Express JS Tutorial: Get Started Building a Website](/cloud/guides/express-js-tutorial) guide. The JWTs encoded in this example provide a lightweight and secure means of authenticating users. However, the in this example JWTs are not encrypted, so they should not be used to transmit sensitive information like passwords. @@ -65,7 +65,7 @@ The JWTs encoded in this example provide a lightweight and secure means of authe 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ### Install Node.js @@ -239,7 +239,7 @@ Follow the steps below to see the JWT process in action. Express serves the application on `localhost:3000`. To visit the application remotely, you can use an SSH tunnel. - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with `3000`. + - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) guide, replacing the example port number there with `3000`. - On OS X or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. ssh -L3000:localhost:3000 example-user@192.0.2.0 @@ -260,4 +260,4 @@ Follow the steps below to see the JWT process in action. You are all set to start working with JWTs and taking advantage of them for lean and secure authentication processes. Take a look at the resources below to continue the journey and learn more about JWT concepts. -You may also be interested in our guide on [Authenticating Over WebSockets with JSON Web Tokens (JWTs)](/cloud/guides/authenticating-over-websockets-with-jwt/). That guide goes more in-depth and shows you how to use them with WebSockets. +You may also be interested in our guide on [Authenticating Over WebSockets with JSON Web Tokens (JWTs)](/cloud/guides/authenticating-over-websockets-with-jwt). That guide goes more in-depth and shows you how to use them with WebSockets. diff --git a/docs/guides/development/javascript/how-to-create-and-use-single-file-components-vuejs/index.md b/docs/guides/development/javascript/how-to-create-and-use-single-file-components-vuejs/index.md index 2c70b102755..907a903be5f 100644 --- a/docs/guides/development/javascript/how-to-create-and-use-single-file-components-vuejs/index.md +++ b/docs/guides/development/javascript/how-to-create-and-use-single-file-components-vuejs/index.md @@ -18,7 +18,7 @@ tags: ["web applications"] aliases: [] --- -When first learning VueJS, and when using it for smaller projects, you will likely use [regular, globally-defined components](/cloud/guides/how-to-build-and-use-vuejs-components/). Once your project grows and you start needing more structure and flexibility, *single file components* can be a better option. +When first learning VueJS, and when using it for smaller projects, you will likely use [regular, globally-defined components](/cloud/guides/how-to-build-and-use-vuejs-components). Once your project grows and you start needing more structure and flexibility, *single file components* can be a better option. Below you can see an example of a barebones single file component, which we will examine part-by-part later in the guide: @@ -64,9 +64,9 @@ You can [download all of the example files for this guide here](vuejs-single-fil ## Before You Begin -If you haven’t read our [Building and Using VueJS Components](/cloud/guides/how-to-build-and-use-vuejs-components/) already, go take a look. +If you haven’t read our [Building and Using VueJS Components](/cloud/guides/how-to-build-and-use-vuejs-components) already, go take a look. -Make sure you have Node.js installed. If you don’t, our [How to Install Node.js](/cloud/guides/how-to-install-nodejs/) guide outlines different installation options. +Make sure you have Node.js installed. If you don’t, our [How to Install Node.js](/cloud/guides/how-to-install-nodejs) guide outlines different installation options. ## What are Single File Components @@ -329,7 +329,7 @@ export default { This is a simple single file component relatively similar to the example we discussed above, but this example shows how to import and use components: - On line 9, the `HelloWorld` component is imported. -- On lines 12-14, the `HelloWorld` component is [*locally registered*](https://vuejs.org/v2/guide/components-registration.html#Local-Registration) for use within the `App` component. The registered component can only be used in the template of the parent component that registered it. Contrast this with the components in [Building and Using VueJS Components](/cloud/guides/how-to-build-and-use-vuejs-components/), which were [*globally registered*](https://vuejs.org/v2/guide/components-registration.html#Global-Registration). +- On lines 12-14, the `HelloWorld` component is [*locally registered*](https://vuejs.org/v2/guide/components-registration.html#Local-Registration) for use within the `App` component. The registered component can only be used in the template of the parent component that registered it. Contrast this with the components in [Building and Using VueJS Components](/cloud/guides/how-to-build-and-use-vuejs-components), which were [*globally registered*](https://vuejs.org/v2/guide/components-registration.html#Global-Registration). {{< note respectIndent=false >}} Local registration is a valuable architectural feature for reusable components within big projects. @@ -339,7 +339,7 @@ Local registration is a valuable architectural feature for reusable components w ## Building your First Single File Components -Now that we’ve covered the basic structure of the project created by Vue CLI, let's build our own components on top of that. As in [Building and Using VueJS Components](/cloud/guides/how-to-build-and-use-vuejs-components/), we will again be building a rating application, but this time it will be a little more sophisticated. +Now that we’ve covered the basic structure of the project created by Vue CLI, let's build our own components on top of that. As in [Building and Using VueJS Components](/cloud/guides/how-to-build-and-use-vuejs-components), we will again be building a rating application, but this time it will be a little more sophisticated. This is what your rating app will look like: diff --git a/docs/guides/development/javascript/how-to-use-javascript-fetch-api/index.md b/docs/guides/development/javascript/how-to-use-javascript-fetch-api/index.md index ad161a13e99..5e8415a124e 100644 --- a/docs/guides/development/javascript/how-to-use-javascript-fetch-api/index.md +++ b/docs/guides/development/javascript/how-to-use-javascript-fetch-api/index.md @@ -17,7 +17,7 @@ This guide explains what the JavaScript Filter API is, what role it plays, and h ## Before You Begin -1. This guide assumes you have a basic understanding of JavaScript. Depending on your level of familiarity, you may also want to go further and look at our [An Introduction to JavaScript Objects](/cloud/guides/javascript-objects-tutorial/) guide. +1. This guide assumes you have a basic understanding of JavaScript. Depending on your level of familiarity, you may also want to go further and look at our [An Introduction to JavaScript Objects](/cloud/guides/javascript-objects-tutorial) guide. 1. To follow along with the examples in this guide, you can use your browser's JavaScript console: diff --git a/docs/guides/development/javascript/install-the-mern-stack/index.md b/docs/guides/development/javascript/install-the-mern-stack/index.md index 53c169b7e0a..e01da2dc5fb 100644 --- a/docs/guides/development/javascript/install-the-mern-stack/index.md +++ b/docs/guides/development/javascript/install-the-mern-stack/index.md @@ -25,19 +25,19 @@ Of all the possible technical bases for a modern website, ["MERN holds the leadi 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is the MERN Stack? MERN refers to MongoDB, Express.js, ReactJS, and Node.js, four software tools that cooperate to power millions of websites worldwide. In broad terms: -- [**MongoDB**](/cloud/guides/databases/mongodb/) manages data, such as customer information, technical measurements, and event records. -- [**Express.js**](/cloud/guides/express-js-tutorial/) is a web application framework for the "behaviors" of particular applications. For example, how data flows from catalog to shopping cart. -- [**ReactJS**](/cloud/guides/development/react/) is a library of user-interface components for managing the visual "state" of a web application. -- [**Node.js**](/cloud/guides/development/nodejs/) is a back-end runtime environment for the server side of a web application. +- [**MongoDB**](/cloud/guides/databases/mongodb) manages data, such as customer information, technical measurements, and event records. +- [**Express.js**](/cloud/guides/express-js-tutorial) is a web application framework for the "behaviors" of particular applications. For example, how data flows from catalog to shopping cart. +- [**ReactJS**](/cloud/guides/development/react) is a library of user-interface components for managing the visual "state" of a web application. +- [**Node.js**](/cloud/guides/development/nodejs) is a back-end runtime environment for the server side of a web application. -Linode has [many articles](/cloud/guides/) on each of these topics and supports thousands of [Linode customers who have created successful applications](https://www.linode.com/content-type/spotlights/) based on these tools. +Linode has [many articles](/cloud/guides) on each of these topics and supports thousands of [Linode customers who have created successful applications](https://www.linode.com/content-type/spotlights/) based on these tools. One of MERN’s important distinctions is the [JavaScript programming language is used throughout](https://javascript.plainenglish.io/why-mern-stack-is-becoming-popular-lets-see-in-detail-8825fd3fd5ee) the entire stack. Certain competing stacks use PHP or Python on the back end, JavaScript on the front end, and perhaps SQL for data storage. MERN developers focus on just a single programming language, [JavaScript, with all the economies](https://javascript.plainenglish.io/should-you-use-javascript-for-everything-f98015ade40a) that implies, for training and tooling. @@ -92,7 +92,7 @@ You can install a basic MERN stack on a 64-bit x86_64 [Linode Ubuntu 20.04 host] sudo apt install mongodb-org ``` -See the official documentation for more on installing MongoDB [on Debian](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/) and [on Ubuntu](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/). You can also refer to our guide [How To Install MongoDB on Ubuntu 16.04](/cloud/guides/install-mongodb-on-ubuntu-16-04/). +See the official documentation for more on installing MongoDB [on Debian](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/) and [on Ubuntu](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/). You can also refer to our guide [How To Install MongoDB on Ubuntu 16.04](/cloud/guides/install-mongodb-on-ubuntu-16-04). #### Start MongoDB and Verify the Installation @@ -176,7 +176,7 @@ While the acronym is MERN, the true order of its dependencies is better written npm install -g yarn ``` -You can additionally refer to our [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#how-to-install-or-update-npm) guide. If you are interested in using Yarn instead of NPM, take a look at our [How to Install and Use the Yarn Package Manager](/cloud/guides/install-and-use-the-yarn-package-manager/) guide. +You can additionally refer to our [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux#how-to-install-or-update-npm) guide. If you are interested in using Yarn instead of NPM, take a look at our [How to Install and Use the Yarn Package Manager](/cloud/guides/install-and-use-the-yarn-package-manager) guide. ### Install React.js diff --git a/docs/guides/development/javascript/introduction-to-bun/index.md b/docs/guides/development/javascript/introduction-to-bun/index.md index bef492f3755..9dede29c331 100644 --- a/docs/guides/development/javascript/introduction-to-bun/index.md +++ b/docs/guides/development/javascript/introduction-to-bun/index.md @@ -34,7 +34,7 @@ In this tutorial, learn about the Bun JavaScript runtime and how it compares to sudo dnf upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Bun? @@ -152,7 +152,7 @@ The example adds a simple analog clock widget to the base React template, which To see the application remotely, you can use an SSH tunnel. - - On Windows, use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Setting up an SSH Tunnel with Your Linode for Safe Browsing](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/#windows) guide, replacing the example port number there with `3000`. + - On Windows, use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Setting up an SSH Tunnel with Your Linode for Safe Browsing](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing#windows) guide, replacing the example port number there with `3000`. - On macOS or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address: diff --git a/docs/guides/development/javascript/javascript-base-64-decode/index.md b/docs/guides/development/javascript/javascript-base-64-decode/index.md index 96b89d5979a..363d1d03f59 100644 --- a/docs/guides/development/javascript/javascript-base-64-decode/index.md +++ b/docs/guides/development/javascript/javascript-base-64-decode/index.md @@ -89,7 +89,7 @@ Unfortunately, there are also some drawbacks to Base64 encoding, mainly involvin 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Encode and Decode with Base64 in JavaScript? diff --git a/docs/guides/development/javascript/javascript-dom-manipulation/index.md b/docs/guides/development/javascript/javascript-dom-manipulation/index.md index 389d8bd2ed8..e9f4894dc4d 100644 --- a/docs/guides/development/javascript/javascript-dom-manipulation/index.md +++ b/docs/guides/development/javascript/javascript-dom-manipulation/index.md @@ -15,7 +15,7 @@ external_resources: The Document Object Model (DOM) is a programming interface for HTML web pages. Scripting languages, like JavaScript, can access and manipulate the DOM to alter the display of a web page. In this guide, you learn about the methods and properties you can use to modify the DOM by adding and removing element nodes. You also learn how to use specialized properties to assign and update a DOM element's CSS styles. -If you are not familiar with the DOM, refer to our [An Introduction to the Document Object Model (DOM)](/cloud/guides/document-object-model/) and [Traversing the Document Object Model with JavaScript](/cloud/guides/traversing-the-dom/) guides before continuing with this guide. +If you are not familiar with the DOM, refer to our [An Introduction to the Document Object Model (DOM)](/cloud/guides/document-object-model) and [Traversing the Document Object Model with JavaScript](/cloud/guides/traversing-the-dom) guides before continuing with this guide. ## Before You Begin @@ -69,8 +69,8 @@ The `document` object has several built-in methods for creating new nodes, like The list below includes an overview of the steps used when creating a new element using JavaScript. - The `createElement()` method accepts the tag name of the element to create as a parameter. It creates the specified tag without any content contained within the tag. -- Once you've created a new element, you have access to properties or additional methods of the element object that can be used to style the element, populate it with text, and achieve many other enhancements. The [How to Modify Element Attributes](/cloud/guides/javascript-dom-manipulation/#how-to-modify-element-attributes) discusses these changes in greater depth. -- When your new element looks and behaves the way you intend, you can add the element node to the DOM's target parent node. For example, you can use the `appendChild()` method to achieve this. The [Inserting Element Nodes](/cloud/guides/javascript-dom-manipulation/#inserting-element-nodes) discusses `appendChild()` and other methods you can use to insert an element into the DOM. +- Once you've created a new element, you have access to properties or additional methods of the element object that can be used to style the element, populate it with text, and achieve many other enhancements. The [How to Modify Element Attributes](/cloud/guides/javascript-dom-manipulation#how-to-modify-element-attributes) discusses these changes in greater depth. +- When your new element looks and behaves the way you intend, you can add the element node to the DOM's target parent node. For example, you can use the `appendChild()` method to achieve this. The [Inserting Element Nodes](/cloud/guides/javascript-dom-manipulation#inserting-element-nodes) discusses `appendChild()` and other methods you can use to insert an element into the DOM. The example below demonstrates the steps used to create and add a new element to the DOM using the `createElement()` method. You can run the JavaScript code on the [example page](example-page.html) using your browser's developer console. The JavaScript code creates a new `li` element and a new `span` element. After adding some styling and text to these new elements, the commands append the elements as children of the existing `ul` element. @@ -140,7 +140,7 @@ The example below uses both the `innerHTML` property and the `createElement()` m There are two methods available to remove an element from the DOM: the `remove()` method and the `removeChild()` method. The `remove()` method completely removes the selected element node from the DOM, while the `removeChild()` method removes the child node of the selected element node. -- Each element within the DOM has a `remove()` method that allows you to remove the element node from the DOM. For instance, using the HTML from the [example page](/cloud/guides/javascript-dom-manipulation/#before-you-begin), the code below removes the `em` element from the `p` element in the `second-div`: +- Each element within the DOM has a `remove()` method that allows you to remove the element node from the DOM. For instance, using the HTML from the [example page](/cloud/guides/javascript-dom-manipulation#before-you-begin), the code below removes the `em` element from the `p` element in the `second-div`: const second_div_em_element = document.querySelector("#second-div em"); second_div_em_element.remove(); @@ -157,7 +157,7 @@ There are two methods available to remove an element from the DOM: the `remove() ### Inserting Element Nodes -Before a new element is displayed on a web page, it must be explicitly added to the DOM. In the [Using the createElement() Method](/cloud/guides/javascript-dom-manipulation/#using-the-createelement-method) section, this was achieved using the `appendChild()` method. There are, in fact, two more methods you can use to add an element to the DOM: the `insertBefore()` and the `replaceChild()` methods. These two methods let you specify where to insert an element, giving you finer control over modifying the DOM. +Before a new element is displayed on a web page, it must be explicitly added to the DOM. In the [Using the createElement() Method](/cloud/guides/javascript-dom-manipulation#using-the-createelement-method) section, this was achieved using the `appendChild()` method. There are, in fact, two more methods you can use to add an element to the DOM: the `insertBefore()` and the `replaceChild()` methods. These two methods let you specify where to insert an element, giving you finer control over modifying the DOM. Below, you can find examples that use each method to insert an element node into the DOM. Each example modifies the HTML displayed below. @@ -206,7 +206,7 @@ After running, in sequence, all the JavaScript examples from this section, your ## How to Modify Element Attributes -All HTML elements can have attributes which provide additional information about the element. In the DOM, attributes are represented as nodes and can be added to the DOM in the same way that you add element nodes. For instance, you can use the `createAttribute()` method to add an attribute to an element node, much in the same way that you [use the `createElement()` method](/cloud/guides/javascript-dom-manipulation/#using-the-createelement-method). +All HTML elements can have attributes which provide additional information about the element. In the DOM, attributes are represented as nodes and can be added to the DOM in the same way that you add element nodes. For instance, you can use the `createAttribute()` method to add an attribute to an element node, much in the same way that you [use the `createElement()` method](/cloud/guides/javascript-dom-manipulation#using-the-createelement-method). The `document` object also has a set of specialized properties that handle the specific needs of attributes. For example, it includes some dedicated properties that deal with attributes like classes and styles. These specialized attributes are discussed below in their own dedicated sections. @@ -246,7 +246,7 @@ numeral-name You can remove any existing attribute from an element object using the `removeAttribute()` method. The `removeAttribute()` method accepts the attribute to remove's name as an argument. -For example, use the `removeAttribute()` method to delete the `id` attribute added to the `first_div_li_element` in the [Setting Attributes](/cloud/guides/javascript-dom-manipulation/#setting-attributes) section above. +For example, use the `removeAttribute()` method to delete the `id` attribute added to the `first_div_li_element` in the [Setting Attributes](/cloud/guides/javascript-dom-manipulation#setting-attributes) section above. first_div_li_element.removeAttribute("id")' console.log(first_div_li_element) @@ -324,7 +324,7 @@ false Some classes, especially with modern CSS frameworks, require toggling for you to achieve the desired behavior for an element on a web page. For instance, the `active` class is often used to highlight an element. Being able to toggle the class via JavaScript could allow you to have a button that toggles highlighting on the element. -The example below uses the `second_p_element` object defined in the [Checking for Classes](/cloud/guides/javascript-dom-manipulation/#checking-for-classes) section. Recall that the element here does not have the `active` class assigned to it. For this reason, toggling the class adds the `active` class to the element. +The example below uses the `second_p_element` object defined in the [Checking for Classes](/cloud/guides/javascript-dom-manipulation#checking-for-classes) section. Recall that the element here does not have the `active` class assigned to it. For this reason, toggling the class adds the `active` class to the element. second_p_element.classList.toggle("active") console.log(second_p_element.classList.contains("active")); @@ -368,4 +368,4 @@ The example below first adds and then removes the `button` class from the `a` el ## Conclusion -Once you understand [what the Document Object Model is](/cloud/guides/document-object-model/#what-is-the-document-object-model) and are familiar with the JavaScript methods that interface with the DOM, you are ready to start manipulating DOM elements with JavaScript. This guide showed you how to use several DOM methods and properties to add and remove elements from the DOM. You also learned how to use specialized properties to assign and update a DOM element's CSS styles. \ No newline at end of file +Once you understand [what the Document Object Model is](/cloud/guides/document-object-model#what-is-the-document-object-model) and are familiar with the JavaScript methods that interface with the DOM, you are ready to start manipulating DOM elements with JavaScript. This guide showed you how to use several DOM methods and properties to add and remove elements from the DOM. You also learned how to use specialized properties to assign and update a DOM element's CSS styles. \ No newline at end of file diff --git a/docs/guides/development/javascript/javascript-objects-tutorial/index.md b/docs/guides/development/javascript/javascript-objects-tutorial/index.md index fa4f3f90c96..56a8b025ca8 100644 --- a/docs/guides/development/javascript/javascript-objects-tutorial/index.md +++ b/docs/guides/development/javascript/javascript-objects-tutorial/index.md @@ -18,7 +18,7 @@ Objects play a fundamental role in JavaScript and appear just about everywhere t ## Before You Begin -This guide's JavaScript examples were originally run in the Node.js interpreter. You can use our [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide to install Node.js on your computer. +This guide's JavaScript examples were originally run in the Node.js interpreter. You can use our [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm) guide to install Node.js on your computer. Alternatively, you can use your web browser's JavaScript console to run this guide's example JavaScript code. @@ -126,7 +126,7 @@ JavaScript offers you a few different ways to create objects. Each one has its o ### Using an Initializer -Object initializers provide the most direct approach for creating an object. You can see it used to declare the `house` example in the [JavaScript Object Properties](/cloud/guides/javascript-objects-tutorial/#javascript-object-properties) section. With this approach, you declare your object as a variable using object literal notation. +Object initializers provide the most direct approach for creating an object. You can see it used to declare the `house` example in the [JavaScript Object Properties](/cloud/guides/javascript-objects-tutorial#javascript-object-properties) section. With this approach, you declare your object as a variable using object literal notation. It has the advantage of being straightforward and is useful when declaring a standalone object that does not need inheritance. diff --git a/docs/guides/development/javascript/mean-stack-tutorial/index.md b/docs/guides/development/javascript/mean-stack-tutorial/index.md index 53bb489584f..fe3487c050e 100644 --- a/docs/guides/development/javascript/mean-stack-tutorial/index.md +++ b/docs/guides/development/javascript/mean-stack-tutorial/index.md @@ -23,7 +23,7 @@ MEAN is an acronym for the combination of technology stacks–**M**ongoDB, **E** - Angular is a web framework for the front end. {{< note >}} -You can learn about each technology of the MEAN stack in our guides on [Angular](/cloud/guides/angular-tutorial-for-beginners/), [Node.js](/cloud/guides/how-to-install-nodejs/), [MongoDB](/cloud/guides/databases/mongodb/), and [Express.js](/cloud/guides/express-js-tutorial/). +You can learn about each technology of the MEAN stack in our guides on [Angular](/cloud/guides/angular-tutorial-for-beginners), [Node.js](/cloud/guides/how-to-install-nodejs), [MongoDB](/cloud/guides/databases/mongodb), and [Express.js](/cloud/guides/express-js-tutorial). {{< /note >}} ## Install the MEAN Stack @@ -179,7 +179,7 @@ users At this point, Node and Mongo are both installed and MongoDB is running successfully. You've created a Node project and a Mongo database with a couple of tables. Now, it’s time for these two components to connect. -1. Navigate to the `my-angular-app` directory you created in the [Angular Installation](/cloud/guides/mean-stack-tutorial/#angular-installation) section. +1. Navigate to the `my-angular-app` directory you created in the [Angular Installation](/cloud/guides/mean-stack-tutorial#angular-installation) section. 1. Install the Node.js MongoDB driver: diff --git a/docs/guides/development/javascript/traversing-the-dom/index.md b/docs/guides/development/javascript/traversing-the-dom/index.md index 385595cdb2d..afd3fab44f9 100644 --- a/docs/guides/development/javascript/traversing-the-dom/index.md +++ b/docs/guides/development/javascript/traversing-the-dom/index.md @@ -14,7 +14,7 @@ external_resources: - '[MDN Web Docs: Document.querySelector()](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector)' --- -The Document Object Model (DOM) is an interface that gives scripting languages, like JavaScript, access to a web page's structure and content. You can learn more about the DOM and how it represents HTML in our guide [Introduction to the DOM](/cloud/guides/document-object-model/). +The Document Object Model (DOM) is an interface that gives scripting languages, like JavaScript, access to a web page's structure and content. You can learn more about the DOM and how it represents HTML in our guide [Introduction to the DOM](/cloud/guides/document-object-model). The DOM is organized as a tree of objects, called nodes, that give access to everything from HTML elements to the text displayed on a web page. Understanding how to navigate and access nodes on this tree is essential to working with the DOM. This guide explains the DOM tree, how to navigate it, and how to access its nodes using JavaScript. @@ -56,7 +56,7 @@ In the following sections, you learn more about the structure of the DOM tree. Y ### What Is the DOM Tree? -The [`document` object](/cloud/guides/document-object-model/#document-object) is the base of all of the DOM's nodes. The nodes are arranged as a tree, with nodes nested under other nodes. Below, is an example of the DOM representation of a simple web page: +The [`document` object](/cloud/guides/document-object-model#document-object) is the base of all of the DOM's nodes. The nodes are arranged as a tree, with nodes nested under other nodes. Below, is an example of the DOM representation of a simple web page:
      @@ -88,9 +88,9 @@ Plotting the nesting structure out, the DOM resembles the following tree: \_ li \_ [text] -Knowing the arrangement of the DOM tree and its leaves, helps you understand how to access specific nodes when working with JavaScript. This is especially true when you are working with more complicated web pages. The [Navigating the DOM Tree](/cloud/guides/traversing-the-dom/#navigating-the-dom-tree) section of this guide includes a more in-depth discussion on moving around the nodes of the DOM tree. +Knowing the arrangement of the DOM tree and its leaves, helps you understand how to access specific nodes when working with JavaScript. This is especially true when you are working with more complicated web pages. The [Navigating the DOM Tree](/cloud/guides/traversing-the-dom#navigating-the-dom-tree) section of this guide includes a more in-depth discussion on moving around the nodes of the DOM tree. -The diagram below provides a visualization of the DOM tree for this guide's [example web page](example-page.html). You can also view the `example-page.html` file in the [Before You Begin](/cloud/guides/traversing-the-dom/#before-you-begin) section of this guide. +The diagram below provides a visualization of the DOM tree for this guide's [example web page](example-page.html). You can also view the `example-page.html` file in the [Before You Begin](/cloud/guides/traversing-the-dom#before-you-begin) section of this guide. ![A DOM tree for an example web page](dom-tree-example.png) @@ -108,7 +108,7 @@ Although this is not always the case, the arrangement of these components above - A **class** can identify a smaller set of those `div` elements. - An **ID** can identify a specific `div` element. -The [Navigating the DOM Tree](/cloud/guides/traversing-the-dom/#navigating-the-dom-tree) section below shows how these components can be used to access particular elements or set of elements. +The [Navigating the DOM Tree](/cloud/guides/traversing-the-dom#navigating-the-dom-tree) section below shows how these components can be used to access particular elements or set of elements. #### Query Selectors @@ -227,9 +227,9 @@ The following examples display some key ways in which you can use query selector document.querySelectorAll("p:not(#first-div > p)") -The above is, in fact, just a selection of some of the most commonly used features of the query selector. You can get more examples of query selector options in the [More Information](/cloud/guides/traversing-the-dom/#more-information) section of this guide. +The above is, in fact, just a selection of some of the most commonly used features of the query selector. You can get more examples of query selector options in the [More Information](/cloud/guides/traversing-the-dom#more-information) section of this guide. ## Conclusion -This tutorial walked you through what the DOM tree looks like, how to navigate its parts, and how to start accessing them. The [links below](/cloud/guides/traversing-the-dom/#more-information) give you some resources to learn more about navigating the DOM, with more examples and coverage of advanced options and scenarios. +This tutorial walked you through what the DOM tree looks like, how to navigate its parts, and how to start accessing them. The [links below](/cloud/guides/traversing-the-dom#more-information) give you some resources to learn more about navigating the DOM, with more examples and coverage of advanced options and scenarios. diff --git a/docs/guides/development/javascript/typescript-modules-getting-started/index.md b/docs/guides/development/javascript/typescript-modules-getting-started/index.md index 26b0c1da635..83fa021d32e 100644 --- a/docs/guides/development/javascript/typescript-modules-getting-started/index.md +++ b/docs/guides/development/javascript/typescript-modules-getting-started/index.md @@ -26,7 +26,7 @@ The list below provides an overview of TypeScript module features: - The use of a module loader places the burden of locating and executing all dependencies of a module on the loader, rather than the developer. -In TypeScript, any file that contains a top-level `import` or `export` statement is considered a module. Files that lack an `import` or `export` statement are automatically viewed as scripts. If you don’t already have your system setup to use TypeScript, you can find step-by-step instructions for doing so in the [How to Use Node.js, TypeScript, and Express to Build a Web Server](/cloud/guides/using-nodejs-typescript-and-express-to-build-a-web-server/) guide. +In TypeScript, any file that contains a top-level `import` or `export` statement is considered a module. Files that lack an `import` or `export` statement are automatically viewed as scripts. If you don’t already have your system setup to use TypeScript, you can find step-by-step instructions for doing so in the [How to Use Node.js, TypeScript, and Express to Build a Web Server](/cloud/guides/using-nodejs-typescript-and-express-to-build-a-web-server) guide. ## Create a TypeScript Module diff --git a/docs/guides/development/javascript/using-nodejs-typescript-and-express-to-build-a-web-server/index.md b/docs/guides/development/javascript/using-nodejs-typescript-and-express-to-build-a-web-server/index.md index 010ecbc9331..97fa355aff6 100644 --- a/docs/guides/development/javascript/using-nodejs-typescript-and-express-to-build-a-web-server/index.md +++ b/docs/guides/development/javascript/using-nodejs-typescript-and-express-to-build-a-web-server/index.md @@ -28,7 +28,7 @@ This guide shows you how to use TypeScript with two tools that are commonly used The majority of the steps in this guide are performed on your computer's local development environment. The following sections show you how to install TypeScript, Node.js, Express, and package dependencies on your computer. Any additional configuration steps required by each tool are also covered. {{< note >}} -If you do not have Node.js and the node version manager (nvm) installed on your computer, follow our [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide. The steps in this guide require a minimum Node.js version of 13.0.0. +If you do not have Node.js and the node version manager (nvm) installed on your computer, follow our [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm) guide. The steps in this guide require a minimum Node.js version of 13.0.0. {{< /note >}} 1. In your home directory, create a new directory named `typescript-nodejs` and move into the new directory. @@ -72,7 +72,7 @@ If you do not have Node.js and the node version manager (nvm) installed on your There is also a field defined in the `package.json` file called the `repository` field. You don't have to provide a value for this field if you don’t have a repository configured to store your code. {{< /note >}} -1. Use [npm](/cloud/guides/install-and-use-npm-on-linux/) to install Express with the command below. Ensure you are still in the `typescript-nodejs` directory when running the command. +1. Use [npm](/cloud/guides/install-and-use-npm-on-linux) to install Express with the command below. Ensure you are still in the `typescript-nodejs` directory when running the command. npm install express @@ -202,4 +202,4 @@ app.listen(3000, () => { ## Conclusion - When you use TypeScript to build a web application, you get the benefits of stricter programming language that is interchangeable with JavaScript. When using Express and Node.js with TypeScript your code is mush less error prone and verbose. Their benefits allow you to spend more time creating your web application's features. If you are a JavaScript programmer, refer to the [TypeScript for JavaScript Programmers](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html) tutorial to learn more about the differences between the two languages. If you are newer to TypeScript, you can refer to our guides on TypeScript [classes](/cloud/guides/typescript-classes-get-started/), [decorators](/cloud/guides/typescript-decorators-getting-started/), [functions](/cloud/guides/typescript-functions-getting-started/), and [types](/cloud/guides/typescript-types-get-started/). \ No newline at end of file + When you use TypeScript to build a web application, you get the benefits of stricter programming language that is interchangeable with JavaScript. When using Express and Node.js with TypeScript your code is mush less error prone and verbose. Their benefits allow you to spend more time creating your web application's features. If you are a JavaScript programmer, refer to the [TypeScript for JavaScript Programmers](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html) tutorial to learn more about the differences between the two languages. If you are newer to TypeScript, you can refer to our guides on TypeScript [classes](/cloud/guides/typescript-classes-get-started), [decorators](/cloud/guides/typescript-decorators-getting-started), [functions](/cloud/guides/typescript-functions-getting-started), and [types](/cloud/guides/typescript-types-get-started). \ No newline at end of file diff --git a/docs/guides/development/javascript/using-socket-io/index.md b/docs/guides/development/javascript/using-socket-io/index.md index 56bea4ebe6f..a287635fa25 100644 --- a/docs/guides/development/javascript/using-socket-io/index.md +++ b/docs/guides/development/javascript/using-socket-io/index.md @@ -23,7 +23,7 @@ Socket.IO provides applications real-time, bidirectional communications. It is s 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Socket.IO? @@ -44,7 +44,7 @@ Beyond that, Socket.IO provides a set of higher-level APIs over WebSockets. This So, why use WebSockets directly? Socket.IO gives a higher-level interface, but for some use cases that is not wanted. In fact, some use cases specifically call for lower-level control over connections and communications. Such cases likely need to work directly with WebSockets. -You can learn more about WebSockets in our tutorial [Introduction to WebSockets](/cloud/guides/introduction-to-websockets/). +You can learn more about WebSockets in our tutorial [Introduction to WebSockets](/cloud/guides/introduction-to-websockets). ## How to Use Socket.IO @@ -56,9 +56,9 @@ This tutorial's example application requires a Socket.IO server, as well as a se More options exist for Socket.IO, including a Python implementation, [python-socketio](https://github.com/miguelgrinberg/python-socketio). The general approach taken here should be similar regardless of the Socket.IO server implementation. -To learn more about Express JS, reference our [Express JS Tutorial](/cloud/guides/express-js-tutorial/). This guide uses a simpler setup, but the Express JS tutorial showcases more capabilities. +To learn more about Express JS, reference our [Express JS Tutorial](/cloud/guides/express-js-tutorial). This guide uses a simpler setup, but the Express JS tutorial showcases more capabilities. -1. Install the Node Package Manager (NPM). Follow the relevant section of our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#how-to-install-npm). +1. Install the Node Package Manager (NPM). Follow the relevant section of our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux#how-to-install-npm). 1. Create a directory for the example project and change into it as the working directory. This tutorial uses the directory name `socket-example`. The client-side code gets added to a subdirectory in the next section. @@ -214,7 +214,7 @@ Below are a couple of notable AI projects. Both are open source, making them eff - [botpress](https://github.com/botpress/botpress) is a full developer stack application for building and running conversational AI applications. botpress provides an easy-to-navigate administrator interface to construct custom chatbots. -See how to set up a chatbot using Rasa through our guide [Introduction to the Rasa Framework for Automated Chats](/cloud/guides/getting-started-with-rasa/). +See how to set up a chatbot using Rasa through our guide [Introduction to the Rasa Framework for Automated Chats](/cloud/guides/getting-started-with-rasa). ### Creating a Client @@ -368,7 +368,7 @@ node index.js Navigate to `localhost:3000` in a web browser to see the application. To access the application remotely, use an SSH tunnel: -- On **Windows**, use the PuTTY tool to set up an SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use `3000` as the **Source port** and `127.0.0.1:3000` as the **Destination**. +- On **Windows**, use the PuTTY tool to set up an SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use `3000` as the **Source port** and `127.0.0.1:3000` as the **Destination**. - On **macOS** or **Linux**, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the remote server and `192.0.2.0` with the remote server's IP address: @@ -384,4 +384,4 @@ This covers the basics of setting up WebSockets with Socket.IO, from developing The example shown here is a brief example of Socket.IO's capabilities, but you can learn more through the link to the official Socket.IO documentation below. -Interested in the idea of integrating a chatbot with a Socket.IO server? Be sure to check out our [Introduction to the Rasa Framework for Automated Chats](/cloud/guides/getting-started-with-rasa/) guide discussed above. +Interested in the idea of integrating a chatbot with a Socket.IO server? Be sure to check out our [Introduction to the Rasa Framework for Automated Chats](/cloud/guides/getting-started-with-rasa) guide discussed above. diff --git a/docs/guides/development/javascript/what-are-javascript-service-workers/index.md b/docs/guides/development/javascript/what-are-javascript-service-workers/index.md index 2cd6585de41..c52a2a00118 100644 --- a/docs/guides/development/javascript/what-are-javascript-service-workers/index.md +++ b/docs/guides/development/javascript/what-are-javascript-service-workers/index.md @@ -33,7 +33,7 @@ A typical scenario has service workers intercepting fetch requests when the brow Theoretically, an API for caching web content already exists in AppCache. So why would you want to use service workers instead? While AppCache's API can make the caching process easy, it makes an array of assumptions about how the cache may be used. AppCache's ease of use made it difficult for developers to deviate from the assumed path without possibly breaking their applications. With service workers, by contrast, you can decide precisely how to manage requests, and caching. -To get started using service workers for crafting offline experiences, take a look at the section below, [Example Service Worker](/cloud/guides/what-are-javascript-service-workers/#example-service-worker), for more details. You may also want to explore the [Caching Strategies](https://serviceworke.rs/caching-strategies.html) section of Mozilla's Service Worker Cookbook. +To get started using service workers for crafting offline experiences, take a look at the section below, [Example Service Worker](/cloud/guides/what-are-javascript-service-workers#example-service-worker), for more details. You may also want to explore the [Caching Strategies](https://serviceworke.rs/caching-strategies.html) section of Mozilla's Service Worker Cookbook. ### Push Notifications @@ -60,7 +60,7 @@ This service worker caches content from a web server and intercepts requests to 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ### Install Node.js @@ -268,7 +268,7 @@ You are all set to run your website with a service worker. Express serves the application on `localhost:3000`. To visit the application remotely, you can use an SSH tunnel. - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with **3000**. + - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) guide, replacing the example port number there with **3000**. - On OS X or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. ssh -L3000:localhost:3000 example-user@192.0.2.0 diff --git a/docs/guides/development/javascript/what-is-jamstack/index.md b/docs/guides/development/javascript/what-is-jamstack/index.md index 2c6a85b002f..b2d1070c68a 100644 --- a/docs/guides/development/javascript/what-is-jamstack/index.md +++ b/docs/guides/development/javascript/what-is-jamstack/index.md @@ -47,7 +47,7 @@ Plenty of web applications already fit the Jamstack architecture. However, not a - Automate your application's builds and deployments. Automation helps you deliver your application quickly, consistently, and lets you focus on developing your application. -- If you need something from the server-side, make use of [microservices](/cloud/guides/what-is-jamstack/#microservices). These keep your server-side logic in self-contained, maintainable units. Each microservice exposes its own RESTful API that your frontend can use. +- If you need something from the server-side, make use of [microservices](/cloud/guides/what-is-jamstack#microservices). These keep your server-side logic in self-contained, maintainable units. Each microservice exposes its own RESTful API that your frontend can use. ## Building a Jamstack Application @@ -55,12 +55,12 @@ This section provides a starting point for you to set up your own Jamstack appli ### Static Site Generators and Automated Deployments -It is common for a Jamstack application to use a static site generator to build the static content from a markup language. The Jamstack website maintains an [extensive list of static site generators](https://jamstack.org/generators/). To help narrow down the list, check out our guide on [How to Choose a Static Site Generator](/cloud/guides/how-to-choose-static-site-generator/). +It is common for a Jamstack application to use a static site generator to build the static content from a markup language. The Jamstack website maintains an [extensive list of static site generators](https://jamstack.org/generators/). To help narrow down the list, check out our guide on [How to Choose a Static Site Generator](/cloud/guides/how-to-choose-static-site-generator). Static site generators render your site's content into static files that you can then host on a CDN, object storage, or similar server. For some ideas, take a look at the following guides: -- [Host a Static Site Using Linode Object Storage](/cloud/guides/host-static-site-object-storage/), which features the [Hugo](https://gohugo.io/) static site generator. -- [Create a CI/CD Pipeline with Gatsby.js, Netlify and Travis CI](/cloud/guides/install-gatsbyjs/) which focuses on the [Gatsby](https://www.gatsbyjs.com/) static site generator. +- [Host a Static Site Using Linode Object Storage](/cloud/guides/host-static-site-object-storage), which features the [Hugo](https://gohugo.io/) static site generator. +- [Create a CI/CD Pipeline with Gatsby.js, Netlify and Travis CI](/cloud/guides/install-gatsbyjs) which focuses on the [Gatsby](https://www.gatsbyjs.com/) static site generator. Here is an example of how you might set up a CI/CD (Continuous Integration/Continuous Delivery) pipeline for a static site generator. @@ -70,9 +70,9 @@ Here is an example of how you might set up a CI/CD (Continuous Integration/Conti 1. Move your site's static files to the CDN or object storage server. - If you are using Linode's Object Storage, you can follow the relevant section of the [Host a Static Site Using Linode Object Storage](/cloud/guides/host-static-site-object-storage/#upload-your-static-site-to-linode-object-storage) guide. + If you are using Linode's Object Storage, you can follow the relevant section of the [Host a Static Site Using Linode Object Storage](/cloud/guides/host-static-site-object-storage#upload-your-static-site-to-linode-object-storage) guide. -If you are looking for a more advanced and automated solution for static site deployment, you can follow the steps in the [guide linked above](/cloud/guides/install-gatsbyjs/) featuring Gatsby. Those steps use Git to store your static site generator's project and [Travis CI](https://travis-ci.com/) to test and automatically deploy the static site to your object storage server. +If you are looking for a more advanced and automated solution for static site deployment, you can follow the steps in the [guide linked above](/cloud/guides/install-gatsbyjs) featuring Gatsby. Those steps use Git to store your static site generator's project and [Travis CI](https://travis-ci.com/) to test and automatically deploy the static site to your object storage server. ### Microservices @@ -84,9 +84,9 @@ Within a Jamstack application, microservices lean into the decoupling of compone The following are a couple of our guides that may help get you started with your own microservices. -- If you are looking to start out developing microservices of your own, you can use [FastAPI](https://fastapi.tiangolo.com/), a Python micro-framework for building REST APIs quickly and easily. Take a look at [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) for designing end-points that read data and the [CRUD Write Operations: Use FastAPI to Write an API](/cloud/guides/crud-write-operations-use-fastapi-to-write-an-api/) for APIs that write data. +- If you are looking to start out developing microservices of your own, you can use [FastAPI](https://fastapi.tiangolo.com/), a Python micro-framework for building REST APIs quickly and easily. Take a look at [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api) for designing end-points that read data and the [CRUD Write Operations: Use FastAPI to Write an API](/cloud/guides/crud-write-operations-use-fastapi-to-write-an-api) for APIs that write data. -- If you already have some microservices built and want some ideas on how you can deploy them, check out the guide on [How to Deploy Microservices with Docker](/cloud/guides/deploying-microservices-with-docker/). +- If you already have some microservices built and want some ideas on how you can deploy them, check out the guide on [How to Deploy Microservices with Docker](/cloud/guides/deploying-microservices-with-docker). ## Where to Go Next diff --git a/docs/guides/development/next-js/getting-started-next-js/index.md b/docs/guides/development/next-js/getting-started-next-js/index.md index 4af94201069..f64c2d43052 100644 --- a/docs/guides/development/next-js/getting-started-next-js/index.md +++ b/docs/guides/development/next-js/getting-started-next-js/index.md @@ -38,7 +38,7 @@ Learn all that you need to get started with Next.js in this tutorial. It explain sudo dnf upgrade {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Next.js? @@ -85,7 +85,7 @@ Next.js has its own script for boostrapping a project template. This guide makes For that and to help with managing application dependencies, the guide uses NPM. You can find a link in the steps below to help you install NPM if you do not already have it. -1. Follow our guide on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). NPM handles the project's dependencies and runs the Next.js frontend. +1. Follow our guide on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux). NPM handles the project's dependencies and runs the Next.js frontend. 1. Create a base Next.js project using `create-next-app`. The example below also names the new project — `example-app` — in the same command. @@ -111,9 +111,9 @@ Now in a web browser navigate to port `3000` on your server. For instance, assum {{< note >}} To access this remotely, you may first need to open the port in your system's firewall. You can learn about how to do that in one of the guides linked below, depending on your system's Linux distribution. -- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). +- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). -- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) +- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos) {{< /note >}} [![Next.js welcome page](next-template-app_small.png)](next-template-app.png) @@ -355,7 +355,7 @@ export async function getStaticProps({ params }) { } {{< /file >}} -The two functions at the end of this file, `getStaticPaths` and `getStaticProps`, should be elaborated on. You can learn more about the `getStaticProps` function in the [server-side pre-rendering](/cloud/guides/getting-started-next-js/#server-side-pre-rendering) section. +The two functions at the end of this file, `getStaticPaths` and `getStaticProps`, should be elaborated on. You can learn more about the `getStaticProps` function in the [server-side pre-rendering](/cloud/guides/getting-started-next-js#server-side-pre-rendering) section. As part of its pre-rendering process, Next requires the `getStaticPaths` function for any dynamic routes. This function provides Next with an array of possible path IDs for the dynamic route. diff --git a/docs/guides/development/next-js/next-js-with-typescript/index.md b/docs/guides/development/next-js/next-js-with-typescript/index.md index 7a0cd02008d..7753494d71f 100644 --- a/docs/guides/development/next-js/next-js-with-typescript/index.md +++ b/docs/guides/development/next-js/next-js-with-typescript/index.md @@ -36,7 +36,7 @@ It only takes a little configuration to get your Next.js project running with Ty sudo dnf upgrade {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Next.js? @@ -71,7 +71,7 @@ Next.js has its own starter script for bootstrapping a project template, `create For running the starter script and managing application dependencies, this guide uses NPM. You can find a link in the steps below to help you install NPM if you do not already have it. -1. Follow our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). NPM handles the project's dependencies and runs the Next.js frontend. +1. Follow our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux). NPM handles the project's dependencies and runs the Next.js frontend. 1. Run the `create-next-app` script with `npx` (included with NPM), and add the `--typescript` or `--ts` flag to initialize the project with TypeScript instead of JavaScript. The example below also names the new project — `example-app` — in the same command. @@ -96,9 +96,9 @@ Now in a web browser navigate to port `3000` on your server. For instance, assum {{< note >}} To access this remotely, you may first need to open the port in your system's firewall. You can learn about how to do that in one of the guides linked below, depending on your system's Linux distribution. -- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). +- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). -- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). +- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos). {{< /note >}} [![Next.js welcome page](next-template-app_small.png)](next-template-app.png) @@ -123,7 +123,7 @@ This guide, instead, focuses on demonstrating, and getting you started with Type ### Set Up the Next.js Project -To perform the initial setup for the project, follow the steps in the [Create a New Next.js Project with TypeScript](/cloud/guides/next-js-with-typescript/#create-a-new-nextjs-project-with-typescript) section above. +To perform the initial setup for the project, follow the steps in the [Create a New Next.js Project with TypeScript](/cloud/guides/next-js-with-typescript#create-a-new-nextjs-project-with-typescript) section above. You have a base Next project with TypeScript after that, and the rest of these steps build on that. @@ -237,7 +237,7 @@ And that is it — your Next application with its todo list is ready to run. Fol ### Run the Next.js App -Running the application now uses the same steps as [shown earlier](/cloud/guides/next-js-with-typescript/#create-a-new-nextjs-project-with-typescript) when running the default application. Execute the following command from the project's base directory to run your Next.js application on a development server: +Running the application now uses the same steps as [shown earlier](/cloud/guides/next-js-with-typescript#create-a-new-nextjs-project-with-typescript) when running the default application. Execute the following command from the project's base directory to run your Next.js application on a development server: npm run dev diff --git a/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-centos-8/index.md b/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-centos-8/index.md index 9dbca857444..44a5b839fbc 100644 --- a/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-centos-8/index.md +++ b/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-centos-8/index.md @@ -277,7 +277,7 @@ In this section, you will create a file named `server.js` that will use Node.js console.log("Server is listening on port 3000.") //Terminal output ``` -1. Run a new [tmux](/cloud/guides/persistent-terminal-sessions-with-tmux/) session: +1. Run a new [tmux](/cloud/guides/persistent-terminal-sessions-with-tmux) session: tmux Press **return** when prompted. diff --git a/docs/guides/development/nodejs/how-to-update-nodejs/index.md b/docs/guides/development/nodejs/how-to-update-nodejs/index.md index 00097126363..f5a591a8285 100644 --- a/docs/guides/development/nodejs/how-to-update-nodejs/index.md +++ b/docs/guides/development/nodejs/how-to-update-nodejs/index.md @@ -17,11 +17,11 @@ Node.js is a cross-platform runtime environment for server-side JavaScript appli ## Before You Begin -1. This guide assumes you are already running Node.js on your Linode or local workstation and are updating the version. If you don't have it installed, see the [How to Install Node.js](/cloud/guides/how-to-install-nodejs/) guide. +1. This guide assumes you are already running Node.js on your Linode or local workstation and are updating the version. If you don't have it installed, see the [How to Install Node.js](/cloud/guides/how-to-install-nodejs) guide. 2. Install NPM, which installs by default with Node.js. -3. This guide assumes you are only updating your version of Node.js and aren't looking to run multiple versions. If you do, see the guide [How to Install and Use the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm/). +3. This guide assumes you are only updating your version of Node.js and aren't looking to run multiple versions. If you do, see the guide [How to Install and Use the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm). 4. Update your Linode's system: sudo apt-get update && sudo apt-get upgrade @@ -53,7 +53,7 @@ NPM is installed by default with Node.js and is the easiest way to update to any ## Updating the Node.js version using NVM -If you need to install NVM, see our guide [How to Install and Use the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm/). It's a useful tool to have, especially in a development environment or if you have to use multiple versions of Node.js. +If you need to install NVM, see our guide [How to Install and Use the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm). It's a useful tool to have, especially in a development environment or if you have to use multiple versions of Node.js. 1. Open the Terminal on Linux or macOS. On Windows, launch the Windows PowerShell as an administrator. Search for it in the search bar and then either right-click or click on the arrow to the right and choose **Run as Administrator**. diff --git a/docs/guides/development/nodejs/install-and-use-npm-on-linux/index.md b/docs/guides/development/nodejs/install-and-use-npm-on-linux/index.md index e4763338fbc..c113e5f56ac 100644 --- a/docs/guides/development/nodejs/install-and-use-npm-on-linux/index.md +++ b/docs/guides/development/nodejs/install-and-use-npm-on-linux/index.md @@ -42,7 +42,7 @@ The steps in this section show you how to install NPM along with Node.js. It als ### How to Install NPM -Since NPM is packaged with Node.js, you just need to install Node.js. The installation path recommended by NPM is using a the Node Version Manager (nvm). This version manager helps you avoid permissions issues and version conflicts with NPM packages. To install nvm follow the steps in our [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide. +Since NPM is packaged with Node.js, you just need to install Node.js. The installation path recommended by NPM is using a the Node Version Manager (nvm). This version manager helps you avoid permissions issues and version conflicts with NPM packages. To install nvm follow the steps in our [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm) guide. Using nvm, you can install the current stable version of Node.js, and its accompanying version of NPM using the following command: diff --git a/docs/guides/development/nodejs/install-and-use-the-yarn-package-manager/index.md b/docs/guides/development/nodejs/install-and-use-the-yarn-package-manager/index.md index 375fff6546a..7625d575aa4 100644 --- a/docs/guides/development/nodejs/install-and-use-the-yarn-package-manager/index.md +++ b/docs/guides/development/nodejs/install-and-use-the-yarn-package-manager/index.md @@ -29,7 +29,7 @@ Yarn previously had an advantage with its `yarn.lock` file. Yarn creates this fi ## How to Install Yarn -1. Follow the steps for installing NPM in our [How to Install and Use Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#how-to-install-npm) guide. +1. Follow the steps for installing NPM in our [How to Install and Use Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux#how-to-install-npm) guide. 1. Install Yarn using NPM. The `-g` flag has NPM install Yarn as a global package, rather than a project package. @@ -54,7 +54,7 @@ Initialize the new project using Yarn. yarn init -Yarn prompts you for information about the project. You can use the defaults for this example. The result is an initial `package.json` file representing the project. For more on the `package.json`, take a look our [How to Install and Use Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#packagejson) guide. +Yarn prompts you for information about the project. You can use the defaults for this example. The result is an initial `package.json` file representing the project. For more on the `package.json`, take a look our [How to Install and Use Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux#packagejson) guide. ### How to Install a Package with Yarn diff --git a/docs/guides/development/nodejs/install-nodejs-on-ubuntu-22-04/index.md b/docs/guides/development/nodejs/install-nodejs-on-ubuntu-22-04/index.md index 27999ca9629..cbc14632c15 100644 --- a/docs/guides/development/nodejs/install-nodejs-on-ubuntu-22-04/index.md +++ b/docs/guides/development/nodejs/install-nodejs-on-ubuntu-22-04/index.md @@ -21,7 +21,7 @@ Developers use [Node.js](https://nodejs.org/) to perform [many tasks](https://no 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing Node.js @@ -106,7 +106,7 @@ A task may require a specific version of Node.js. The example steps below show h ### Node.js for Developers -The Node Version Manager supports multiple versions of Node.js on a single system. This is so it can test scripts using multiple Node.js versions. You can find the procedure for working with NVM [here](/cloud/guides/how-to-install-use-node-version-manager-nvm/). +The Node Version Manager supports multiple versions of Node.js on a single system. This is so it can test scripts using multiple Node.js versions. You can find the procedure for working with NVM [here](/cloud/guides/how-to-install-use-node-version-manager-nvm). ## Securing Node.js diff --git a/docs/guides/development/nodejs/nodejs-twitter-bot/index.md b/docs/guides/development/nodejs/nodejs-twitter-bot/index.md index ed6844386cc..5314f1c270d 100644 --- a/docs/guides/development/nodejs/nodejs-twitter-bot/index.md +++ b/docs/guides/development/nodejs/nodejs-twitter-bot/index.md @@ -17,7 +17,7 @@ external_resources: - "[twit - npm](https://www.npmjs.com/package/twit)" - "[GitHub Desktop](https://desktop.github.com/)" - "[Creating a new User in Ubuntu](https://youtu.be/fDHHKR0nVQg)" - - "[FileZilla](/cloud/guides/filezilla/)" + - "[FileZilla](/cloud/guides/filezilla)" --- ## Introduction @@ -50,17 +50,17 @@ The following software is needed on your workstation to complete the tutorial: These tools are used to download a copy of the GitHub repository that is created in this guide. The GitHub Desktop software can be more user-friendly for beginners, but you might prefer to work out of the command line. Instructions for using both are provided in this tutorial. - To install the command line software, follow our [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide. Then, follow the [Configure Git](/cloud/guides/how-to-configure-git/#configure-git) section of our [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide. When doing this, you don't need to set the `core.editor` option, but it is important to set your username and email for Git. + To install the command line software, follow our [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) guide. Then, follow the [Configure Git](/cloud/guides/how-to-configure-git#configure-git) section of our [Getting Started with Git](/cloud/guides/how-to-configure-git) guide. When doing this, you don't need to set the `core.editor` option, but it is important to set your username and email for Git. - **[Node.js](https://nodejs.org/en/) and the [Node Package Manager](https://www.npmjs.com/) (*npm*)**, which are used to initialize a new npm package for the Twitter bot. - There are a number of different ways to install Node.js and npm. Our [How to Install Node.js](/cloud/guides/how-to-install-nodejs/) guide outlines some of these options. For this tutorial, we recommend using the *Node Version Manager* (*nvm*), which can manage multiple versions of Node.js and npm. Follow the next [Install Node.js and npm via the Node Version Manager](#install-nodejs-and-npm-via-the-node-version-manager) section for instructions. + There are a number of different ways to install Node.js and npm. Our [How to Install Node.js](/cloud/guides/how-to-install-nodejs) guide outlines some of these options. For this tutorial, we recommend using the *Node Version Manager* (*nvm*), which can manage multiple versions of Node.js and npm. Follow the next [Install Node.js and npm via the Node Version Manager](#install-nodejs-and-npm-via-the-node-version-manager) section for instructions. ### Install Node.js and npm via the Node Version Manager The original [nvm](https://github.com/nvm-sh/nvm) software project is used on **Unix, Linux, and macOS**: -1. Follow the [Install NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/#install-nvm) section of our [How to Install and Use the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide to install nvm. +1. Follow the [Install NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm#install-nvm) section of our [How to Install and Use the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm) guide to install nvm. 1. Run this command from your terminal. This installs the latest version of Node.js and npm: @@ -844,7 +844,7 @@ You could certainly let this code run for a long while from your local machine, 1. To log into the server, follow the [Connect to Your Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) section of our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. If you do not have access to an SSH client, or if SSH connections are firewalled on your local network, you can also opt to use [the Lish console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) from the Cloud Manager in your web browser. To do so, follow the [Use a Web Browser](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish#through-cloud-manager-weblish) instructions in our Lish guide. {{< note respectIndent=false >}} -Our [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) guide series has a few other options for SSH clients, like SSH extension for the Chrome web browser. +Our [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh) guide series has a few other options for SSH clients, like SSH extension for the Chrome web browser. {{< /note >}} When logging in for the first time, you use the `root` username and the root password that you set when creating the Linode. However, it's important to create a non-root-user with limited permissions to run your programs from. @@ -883,7 +883,7 @@ The rest of the steps in the [Setting Up and Securing a Compute Instance](https: The server is now ready to run the bot, but you still need to upload the bot's code to the server. We present two ways to do this: -- **Filezilla**: You can transfer your code to the Linux instance from your workstation, via the [Filezilla](/cloud/guides/filezilla/) GUI desktop application. Because you're using a desktop application, this can be a little more user-friendly for beginners. Follow the [Upload the Bot Using Filezilla](#upload-the-bot-using-filezilla) section to do this. +- **Filezilla**: You can transfer your code to the Linux instance from your workstation, via the [Filezilla](/cloud/guides/filezilla) GUI desktop application. Because you're using a desktop application, this can be a little more user-friendly for beginners. Follow the [Upload the Bot Using Filezilla](#upload-the-bot-using-filezilla) section to do this. - **git clone**: You can directly clone your repository on GitHub to your Linode with the Git command line tool. Follow the [Upload the Bot with Git Clone](#upload-the-bot-with-git-clone) section to do this. @@ -916,7 +916,7 @@ After finishing the file transfer, proceed to the [run the bot](#run-the-bot-on- ### Upload the Bot with Git Clone -1. Git is preinstalled on Ubuntu 20.04, but you still need to configure it like you did on your workstation. While inside your SSH or Lish connection to your Linode, follow the [Configure Git](/cloud/guides/how-to-configure-git/#configure-git) section of our [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide. When doing this, you don't need to set the `core.editor` option, but it is important to set your username and email for Git. +1. Git is preinstalled on Ubuntu 20.04, but you still need to configure it like you did on your workstation. While inside your SSH or Lish connection to your Linode, follow the [Configure Git](/cloud/guides/how-to-configure-git#configure-git) section of our [Getting Started with Git](/cloud/guides/how-to-configure-git) guide. When doing this, you don't need to set the `core.editor` option, but it is important to set your username and email for Git. 1. To clone your GitHub repository to your Linode, run the `git clone` command from your SSH or Lish connection. Be sure to substitute your own GitHub username in for `your-github-username` and the name you chose for the repository for `snes-soundtracks` before running the command: @@ -933,7 +933,7 @@ If you previously created a private GitHub repository, then the above command pr The `npm install` command looks at your package.json and installs every dependency that it finds into the `node_modules` folder. -1. The `.env` file was also excluded from version control, so it needs to be copied to your Linode separately. On your workstation, open your local `.env` and copy its contents to your clipboard. Then inside the code repository on the Linode, create a new `.env` file. You can use [the `nano` command line text editor](/cloud/guides/use-nano-to-edit-files-in-linux/) to do this: +1. The `.env` file was also excluded from version control, so it needs to be copied to your Linode separately. On your workstation, open your local `.env` and copy its contents to your clipboard. Then inside the code repository on the Linode, create a new `.env` file. You can use [the `nano` command line text editor](/cloud/guides/use-nano-to-edit-files-in-linux) to do this: nano .env @@ -947,7 +947,7 @@ If you previously created a private GitHub repository, then the above command pr 1. Type `CTRL-x` to exit the editor. -1. Remove file system read and write [file permissions](/cloud/guides/modify-file-permissions-with-chmod/) for groups and other users on the Linode for the `.env` file: +1. Remove file system read and write [file permissions](/cloud/guides/modify-file-permissions-with-chmod) for groups and other users on the Linode for the `.env` file: chmod go-rw .env @@ -963,7 +963,7 @@ Once you’ve transferred the files, you can use your SSH connection or Lish con However, the bot does not stay running if you close your SSH connection (for example, if you put your workstation to sleep), or if you need to perform some other action in the Lish console. -To keep your bot running uninterrupted, you can start a Screen session. [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) is a useful tool for creating terminal sessions that stay alive and that can be accessed from any SSH or Lish connection. It's also preinstalled on Ubuntu 20.04, so you can start using it immediately: +To keep your bot running uninterrupted, you can start a Screen session. [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) is a useful tool for creating terminal sessions that stay alive and that can be accessed from any SSH or Lish connection. It's also preinstalled on Ubuntu 20.04, so you can start using it immediately: 1. If you ran `npm run develop` on your Linode, type `CTRL-c` to stop the bot. diff --git a/docs/guides/development/nodejs/use-nightmarejs-to-automate-headless-browsing/index.md b/docs/guides/development/nodejs/use-nightmarejs-to-automate-headless-browsing/index.md index 804148019dc..d629b29db01 100644 --- a/docs/guides/development/nodejs/use-nightmarejs-to-automate-headless-browsing/index.md +++ b/docs/guides/development/nodejs/use-nightmarejs-to-automate-headless-browsing/index.md @@ -32,7 +32,7 @@ aliases: [] sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} @@ -128,7 +128,7 @@ nightmare xvfb-run node linode.js - The script visits the [Linode docs](/cloud/) page, enters 'Ubuntu' into the input box, and clicks the submit button. It then waits for the results to load and prints the url and title each entry on the first page of results. + The script visits the [Linode docs](/cloud) page, enters 'Ubuntu' into the input box, and clicks the submit button. It then waits for the results to load and prints the url and title each entry on the first page of results. The output will resemble the following: @@ -144,7 +144,7 @@ nightmare This example automates the script to run once every hour. It changes to the `~/automation/` directory, runs the scraping script, and saves the output to a file with a unique filename that includes the date and time it ran. -For more information about using Cron, see our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide. +For more information about using Cron, see our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron) guide. 1. Open the crontab file: diff --git a/docs/guides/development/perl/manage-cpan-modules-with-cpan-minus/index.md b/docs/guides/development/perl/manage-cpan-modules-with-cpan-minus/index.md index 673c096e4f2..82f06bf23cf 100644 --- a/docs/guides/development/perl/manage-cpan-modules-with-cpan-minus/index.md +++ b/docs/guides/development/perl/manage-cpan-modules-with-cpan-minus/index.md @@ -22,7 +22,7 @@ tags: ["perl"] CPAN, the Comprehensive Perl Archive Network, is the primary source for publishing and fetching the latest modules and libraries for the Perl programming language. The default method for installing Perl modules, using the **CPAN Shell**, provides users with a great deal of power and flexibility, but this comes at the cost of a complex configuration and an inelegant default setup. -The `cpanm` client attempts to make the power of CPAN accessible to all users, particularly those who aren't Perl developers, but have experience with the CPAN shell. This document outlines the procedures for installing cpanminus and demonstrates a number of basic use cases. If you're new to the world of Linux systems administration, you may want to review our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/) and [administration basics guide](/cloud/guides/linux-system-administration-basics/) before completing this guide. +The `cpanm` client attempts to make the power of CPAN accessible to all users, particularly those who aren't Perl developers, but have experience with the CPAN shell. This document outlines the procedures for installing cpanminus and demonstrates a number of basic use cases. If you're new to the world of Linux systems administration, you may want to review our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts) and [administration basics guide](/cloud/guides/linux-system-administration-basics) before completing this guide. ## Install Dependencies diff --git a/docs/guides/development/python/boolean-variables-in-python/index.md b/docs/guides/development/python/boolean-variables-in-python/index.md index 7285d1961f6..3d9d92f942b 100644 --- a/docs/guides/development/python/boolean-variables-in-python/index.md +++ b/docs/guides/development/python/boolean-variables-in-python/index.md @@ -30,10 +30,10 @@ Python uses a built-in data type named `bool` to represent Boolean values. The ` 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/cloud/guides/how-to-install-python-on-ubuntu-20-04). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Python Boolean Operators diff --git a/docs/guides/development/python/check-python-version/index.md b/docs/guides/development/python/check-python-version/index.md index 18898825525..9c6b07f37db 100644 --- a/docs/guides/development/python/check-python-version/index.md +++ b/docs/guides/development/python/check-python-version/index.md @@ -84,4 +84,4 @@ The output from the `platform.python_version` is more minimal compared to the `s With that, you have everything you need for checking your current Python version. The steps above cover you whether you need to see the Python version from the command line or from within a Python script. -You can continue learning about Python with our collection of [Python guides](/cloud/guides/development/python/). We cover everything from fundamental Python concepts to building Python web applications. +You can continue learning about Python with our collection of [Python guides](/cloud/guides/development/python). We cover everything from fundamental Python concepts to building Python web applications. diff --git a/docs/guides/development/python/commenting-in-python/index.md b/docs/guides/development/python/commenting-in-python/index.md index 713e181094c..a7fd4ca311f 100644 --- a/docs/guides/development/python/commenting-in-python/index.md +++ b/docs/guides/development/python/commenting-in-python/index.md @@ -26,7 +26,7 @@ Leaving informative comments on any code is important, as it helps others unders 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -2. This guide assumes your Linode is running Python 3 or has a Python Virtual Environment installed. If not, then see our [Python guides](/cloud/guides/development/python/) to find instructions for installing on your preferred Linux distribution. +2. This guide assumes your Linode is running Python 3 or has a Python Virtual Environment installed. If not, then see our [Python guides](/cloud/guides/development/python) to find instructions for installing on your preferred Linux distribution. 2. Finally, this guide assumes you have a basic knowledge of Python and are comfortable editing using a text editor. If you are new to Python, then see the Python Software Foundation's ["Python for Beginners"](https://www.python.org/about/gettingstarted/) guide for more information on what Python is, what it can do, and how to learn to use it. diff --git a/docs/guides/development/python/create-a-python-virtualenv-on-centos-8/index.md b/docs/guides/development/python/create-a-python-virtualenv-on-centos-8/index.md index e9c8684e206..17bb5333bc5 100644 --- a/docs/guides/development/python/create-a-python-virtualenv-on-centos-8/index.md +++ b/docs/guides/development/python/create-a-python-virtualenv-on-centos-8/index.md @@ -37,12 +37,12 @@ A Python virtual environment is an isolated project space on your system that co sudo yum update {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Create a Python Virtual Environment {{< note >}} -CentOS 8 does not include any version of Python by default. To install Python on CentOS 8, read our guide on [installing Python 3 on CentOS 8](/cloud/guides/how-to-install-python-on-centos-8/) +CentOS 8 does not include any version of Python by default. To install Python on CentOS 8, read our guide on [installing Python 3 on CentOS 8](/cloud/guides/how-to-install-python-on-centos-8) {{< /note >}} 1. To install Python's virtual environment: diff --git a/docs/guides/development/python/create-a-python-virtualenv-on-debian-10/index.md b/docs/guides/development/python/create-a-python-virtualenv-on-debian-10/index.md index 7b463f46bd2..2baa4a24857 100644 --- a/docs/guides/development/python/create-a-python-virtualenv-on-debian-10/index.md +++ b/docs/guides/development/python/create-a-python-virtualenv-on-debian-10/index.md @@ -36,7 +36,7 @@ A Python virtual environment is an isolated project space on your system that co sudo apt-get update && sudo apt-get upgrade {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Create a Python Virtual Environment diff --git a/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-18-04/index.md b/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-18-04/index.md index 8fed9c7671f..1aa89d28eb1 100644 --- a/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-18-04/index.md +++ b/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-18-04/index.md @@ -35,7 +35,7 @@ A Python virtual environment is an isolated project space on your system that co sudo apt-get update && sudo apt-get upgrade {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Create a Python Virtual Environment diff --git a/docs/guides/development/python/create-restful-api-using-python-and-flask/index.md b/docs/guides/development/python/create-restful-api-using-python-and-flask/index.md index 332bede2613..e188a0921a5 100644 --- a/docs/guides/development/python/create-restful-api-using-python-and-flask/index.md +++ b/docs/guides/development/python/create-restful-api-using-python-and-flask/index.md @@ -26,7 +26,7 @@ The REST protocol gives clients access to resources stored in a database and all ### Install Flask {{< note >}} -This section makes use of the [virtualenv](https://pypi.org/project/virtualenv/) tool to create a virtual environment on your system. Follow the installation steps in our [How to Create a Python Virtual Environment](/cloud/guides/create-a-python-virtualenv-on-debian-10/) guide if you do not have virtualenv installed on your computer. +This section makes use of the [virtualenv](https://pypi.org/project/virtualenv/) tool to create a virtual environment on your system. Follow the installation steps in our [How to Create a Python Virtual Environment](/cloud/guides/create-a-python-virtualenv-on-debian-10) guide if you do not have virtualenv installed on your computer. {{< /note >}} - Create a directory to store your Flask web application and move into the directory. @@ -43,7 +43,7 @@ This section makes use of the [virtualenv](https://pypi.org/project/virtualenv/) python3 -m venv venv . venv/bin/activate -In order to run a Flask server, you install Flask first using the [Python Package Index (pip)](/cloud/guides/how-to-create-a-private-python-package-repository/). Use the following command to install Flask: +In order to run a Flask server, you install Flask first using the [Python Package Index (pip)](/cloud/guides/how-to-create-a-private-python-package-repository). Use the following command to install Flask: pip install flask diff --git a/docs/guides/development/python/crud-read-operations-use-fastapi-to-write-an-api/index.md b/docs/guides/development/python/crud-read-operations-use-fastapi-to-write-an-api/index.md index 4c59384ff99..a207e287b03 100644 --- a/docs/guides/development/python/crud-read-operations-use-fastapi-to-write-an-api/index.md +++ b/docs/guides/development/python/crud-read-operations-use-fastapi-to-write-an-api/index.md @@ -45,7 +45,7 @@ This guide does not cover integrating FastAPI with a database. FastAPI uses an i FastAPI requires the following items to be installed on your system: - Python 3.6+ and [pip](https://pypi.org/project/pip/) -- [Gunicorn](/cloud/guides/flask-and-gunicorn-on-ubuntu/#install-and-configure-gunicorn) or [Hypercorn](https://pypi.org/project/Hypercorn/). These tools are used as the web server gateway for your API. +- [Gunicorn](/cloud/guides/flask-and-gunicorn-on-ubuntu#install-and-configure-gunicorn) or [Hypercorn](https://pypi.org/project/Hypercorn/). These tools are used as the web server gateway for your API. ### Install FastAPI and Hypercorn diff --git a/docs/guides/development/python/crud-write-operations-use-fastapi-to-write-an-api/index.md b/docs/guides/development/python/crud-write-operations-use-fastapi-to-write-an-api/index.md index 93eaa54b4b0..89d9024aeec 100644 --- a/docs/guides/development/python/crud-write-operations-use-fastapi-to-write-an-api/index.md +++ b/docs/guides/development/python/crud-write-operations-use-fastapi-to-write-an-api/index.md @@ -15,7 +15,7 @@ FastAPI is a high-performance Python *micro-framework* designed to help develope ## In this Guide -This guide shows you how to create write operations for your RESTful API. Its examples continue from the [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) guide. Throughout this guide you learn how to use FastAPI to create the following REST API endpoints: +This guide shows you how to create write operations for your RESTful API. Its examples continue from the [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api) guide. Throughout this guide you learn how to use FastAPI to create the following REST API endpoints: 1. **Create Programming Languages**: creates a new Programming Languages resource using JSON payload data. 1. **Update Programming Language**: updates a resource with new data. @@ -28,10 +28,10 @@ This guide shows you how to create write operations for your RESTful API. Its ex FastAPI requires the following items to be installed on your system: - Python 3.6+ and [pip](https://pypi.org/project/pip/) -- [Gunicorn](/cloud/guides/flask-and-gunicorn-on-ubuntu/#install-and-configure-gunicorn) or [Hypercorn](https://pypi.org/project/Hypercorn/). These tools are used as the web server gateway for your API. +- [Gunicorn](/cloud/guides/flask-and-gunicorn-on-ubuntu#install-and-configure-gunicorn) or [Hypercorn](https://pypi.org/project/Hypercorn/). These tools are used as the web server gateway for your API. {{< note >}} -If you have not followed the steps in the [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) guide, ensure that you have created a `main.py` file with the code included in the previous guide's examples. +If you have not followed the steps in the [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api) guide, ensure that you have created a `main.py` file with the code included in the previous guide's examples. {{< /note >}} ### Install FastAPI and Hypercorn @@ -203,6 +203,6 @@ Visit your API's documentation (`http://127.0.0.1:8000/docs`) to view all the en ![five endpoints together](troy_five_endpoints_together.png) -FastAPI's syntax is similar to the syntax used by [Flask or Bottle](/cloud/guides/how-to-choose-python-api-framework/). With a few adjustments, much of the example code used in this guide would work with those frameworks. Regardless of framework, the RESTful web API conventions covered i this guide, like data lookup efficiency, and idempotence apply across any backend stack. +FastAPI's syntax is similar to the syntax used by [Flask or Bottle](/cloud/guides/how-to-choose-python-api-framework). With a few adjustments, much of the example code used in this guide would work with those frameworks. Regardless of framework, the RESTful web API conventions covered i this guide, like data lookup efficiency, and idempotence apply across any backend stack. diff --git a/docs/guides/development/python/documenting-a-fastapi-app-with-openapi/index.md b/docs/guides/development/python/documenting-a-fastapi-app-with-openapi/index.md index ae7e2c43903..5d8f53e7561 100644 --- a/docs/guides/development/python/documenting-a-fastapi-app-with-openapi/index.md +++ b/docs/guides/development/python/documenting-a-fastapi-app-with-openapi/index.md @@ -17,12 +17,12 @@ external_resources: FastAPI automatically generates an OpenAPI schema that can be accessed by your API's users. The documentation generated by the OpenAPI schema helps users learn about your API's features. This guide introduces how FastAPI creates documentation from your code. It also shows you how to provide custom information related to your API, if necessary. For example, you may want to modify an endpoint's description or label a field as deprecated. {{< note >}} -The examples in this guide rely on the code created in the [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) and [CRUD Write Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) guides. To run the examples in this guide, ensure you follow the [FastAPI Installation Prerequisites](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/#install-fastapi) section of those guides. +The examples in this guide rely on the code created in the [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api) and [CRUD Write Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api) guides. To run the examples in this guide, ensure you follow the [FastAPI Installation Prerequisites](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api#install-fastapi) section of those guides. {{< /note >}} ## How to Document FastAPI Endpoints -FastAPI provides automatic documentation that follows the [OpenAPI specification](https://swagger.io/specification/). In our [CRUD Write Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/#create-the-view-programming-language-endpoint) guide, you write a List Programming Languages endpoint with the annotation, `@app.get('/programming_languages')` as seen in the following example: +FastAPI provides automatic documentation that follows the [OpenAPI specification](https://swagger.io/specification/). In our [CRUD Write Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api#create-the-view-programming-language-endpoint) guide, you write a List Programming Languages endpoint with the annotation, `@app.get('/programming_languages')` as seen in the following example: {{< file "main.py">}} @app.get('/programming_languages') diff --git a/docs/guides/development/python/flask-and-gunicorn-on-ubuntu/index.md b/docs/guides/development/python/flask-and-gunicorn-on-ubuntu/index.md index 50f3da8caaa..59c16ec13e4 100644 --- a/docs/guides/development/python/flask-and-gunicorn-on-ubuntu/index.md +++ b/docs/guides/development/python/flask-and-gunicorn-on-ubuntu/index.md @@ -20,7 +20,7 @@ aliases: [] Flask is a light-weight web framework for Python that includes several utilities and libraries you can use to create a web application. After you have developed a Flask application in a local environment, you need to prepare the application's production environment in order to run the application and serve it to the users of the application through the internet. -This guide walks you through the steps to deploy a Flask application to a production environment running on a Linode. The production environment uses [NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) as the web server and reverse proxy, [Gunicorn](https://gunicorn.org/) as the web server gateway interface (WSGI) application server, and [Supervisor](http://supervisord.org/) for monitoring and auto-reloading Gunicorn should it go down. This guide does not cover creating a Flask application or related Python concepts. +This guide walks you through the steps to deploy a Flask application to a production environment running on a Linode. The production environment uses [NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) as the web server and reverse proxy, [Gunicorn](https://gunicorn.org/) as the web server gateway interface (WSGI) application server, and [Supervisor](http://supervisord.org/) for monitoring and auto-reloading Gunicorn should it go down. This guide does not cover creating a Flask application or related Python concepts. In this guide you complete the following: @@ -36,11 +36,11 @@ In this guide you complete the following: * The [Python programming language](https://docs.python.org/3/tutorial/index.html) * [Setting up a local virtual environment](https://docs.python-guide.org/dev/virtualenvs/) for Python programming * [Creating applications using Flask](https://flask.palletsprojects.com/en/1.1.x/quickstart/#) - * Using a local and remote version control system, like [Git and GitHub](/cloud/guides/how-to-use-git/). + * Using a local and remote version control system, like [Git and GitHub](/cloud/guides/how-to-use-git). {{< /note >}} ## Before You Begin -1. [Create a Flask Application](https://flask.palletsprojects.com/en/1.1.x/tutorial/) or use this [Example Blog Application](https://github.com/abalarin/Flask-on-Linode). Clone and run it on the local machine [using GitHub](/cloud/guides/how-to-use-git/). +1. [Create a Flask Application](https://flask.palletsprojects.com/en/1.1.x/tutorial/) or use this [Example Blog Application](https://github.com/abalarin/Flask-on-Linode). Clone and run it on the local machine [using GitHub](/cloud/guides/how-to-use-git). git clone https://github.com/abalarin/Flask-on-Linode.git flask_app_project @@ -109,13 +109,13 @@ Checking connectivity... done. ## Prepare the Production Environment ### Install and Configure NGINX -[NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) is open-source software that can be used as a high-performance web server, reverse proxy, load-balancer, and more. In this section you configure NGINX as a web server and reverse proxy for the Flask application. This means that NGINX sits between the Flask application and external clients and forwards all client requests to the running Flask application. +[NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) is open-source software that can be used as a high-performance web server, reverse proxy, load-balancer, and more. In this section you configure NGINX as a web server and reverse proxy for the Flask application. This means that NGINX sits between the Flask application and external clients and forwards all client requests to the running Flask application. 1. Install NGINX: sudo apt install nginx -2. Using an editor of choice, create an NGINX configuration file for the app with the example content and save it. This example uses the [nano](/cloud/guides/use-nano-to-edit-files-in-linux/) text editor. Replace `flask_app` with the name of the application and `192.0.2.0` with the IP address of the Linode or the fully qualified domain name (FQDN): +2. Using an editor of choice, create an NGINX configuration file for the app with the example content and save it. This example uses the [nano](/cloud/guides/use-nano-to-edit-files-in-linux) text editor. Replace `flask_app` with the name of the application and `192.0.2.0` with the IP address of the Linode or the fully qualified domain name (FQDN): sudo nano /etc/nginx/sites-enabled/flask_app diff --git a/docs/guides/development/python/get-started-with-bokeh-and-python-data-visualizations/index.md b/docs/guides/development/python/get-started-with-bokeh-and-python-data-visualizations/index.md index 10ab62a563b..f535af81c43 100644 --- a/docs/guides/development/python/get-started-with-bokeh-and-python-data-visualizations/index.md +++ b/docs/guides/development/python/get-started-with-bokeh-and-python-data-visualizations/index.md @@ -26,7 +26,7 @@ When you use Bokeh, you find that it produces beautiful interactive graphics wit This section shows you how to install Bokeh using Pip and Anaconda or Miniconda. {{< note >}} -If you are not familiar with Pip, see our [Managing Python Packages and Versions on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/#what-is-pip) guide. To learn how to install Anaconda, see our [How to Install Anaconda on Ubuntu](/cloud/guides/how-to-install-anaconda/) guide. +If you are not familiar with Pip, see our [Managing Python Packages and Versions on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux#what-is-pip) guide. To learn how to install Anaconda, see our [How to Install Anaconda on Ubuntu](/cloud/guides/how-to-install-anaconda) guide. {{< /note >}} 1. Install Bokeh on your computer using Anaconda or Miniconda: diff --git a/docs/guides/development/python/getting-started-with-black-and-isort/index.md b/docs/guides/development/python/getting-started-with-black-and-isort/index.md index a894627bd55..8dd3ba56432 100644 --- a/docs/guides/development/python/getting-started-with-black-and-isort/index.md +++ b/docs/guides/development/python/getting-started-with-black-and-isort/index.md @@ -10,7 +10,7 @@ keywords: ['getting started with black and isort','python','black','isort','deve license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -[Python](/cloud/guides/development/python/) is one of the world's most widely used programming languages, widely adopted in web development, data science, and embedded systems. Python's formal syntax is somewhat open, as it permits a considerable range of styles. This allows programmers to indent, punctuate, and name according to their personal preferences. +[Python](/cloud/guides/development/python) is one of the world's most widely used programming languages, widely adopted in web development, data science, and embedded systems. Python's formal syntax is somewhat open, as it permits a considerable range of styles. This allows programmers to indent, punctuate, and name according to their personal preferences. However, projects spanning larger teams benefit from consistency. While an application written in a number of different styles is no less correct, these different styles becomes a distraction to those maintaining the code. For instance, the following two example Python fragments execute identically: @@ -166,7 +166,7 @@ As a Python programmer, Black and isort are entirely optional. If your formattin ## Black and isort Examples -Black and isort can be used in a number of different ways. Use the following command to invoke both Black and isort as command line utilities on your local desktop or [Linode server](/cloud/guides/use-a-linode-for-web-development-on-remote-devices/): +Black and isort can be used in a number of different ways. Use the following command to invoke both Black and isort as command line utilities on your local desktop or [Linode server](/cloud/guides/use-a-linode-for-web-development-on-remote-devices): ```command black example.py; isort example.py diff --git a/docs/guides/development/python/how-to-choose-python-api-framework/index.md b/docs/guides/development/python/how-to-choose-python-api-framework/index.md index 50ca3bf0e2a..80c4ea0f1b8 100644 --- a/docs/guides/development/python/how-to-choose-python-api-framework/index.md +++ b/docs/guides/development/python/how-to-choose-python-api-framework/index.md @@ -16,7 +16,7 @@ As one of the most popular programming languages, the Python ecosystem offers a ## Django-REST -Django is a full-featured web development framework that includes out-of-the-box solutions for user management, security, and database connections. To build a web API, you can use the [Django REST framework](https://www.django-rest-framework.org/tutorial/quickstart/) that is built on top of standard Django. If you ever wrote an API using [Ruby on Rails](/cloud/guides/development/ror/), [Spring with Kotlin](https://spring.io/guides/tutorials/spring-boot-kotlin/), or Java, then Django will feel familiar. +Django is a full-featured web development framework that includes out-of-the-box solutions for user management, security, and database connections. To build a web API, you can use the [Django REST framework](https://www.django-rest-framework.org/tutorial/quickstart/) that is built on top of standard Django. If you ever wrote an API using [Ruby on Rails](/cloud/guides/development/ror), [Spring with Kotlin](https://spring.io/guides/tutorials/spring-boot-kotlin/), or Java, then Django will feel familiar. ### When to Choose Django-REST to Build Your API @@ -143,4 +143,4 @@ Since Bottle is fairly new, the framework has little organic documentation. Its If you'd like to learn how to write an API using the FastAPI framework, take a look at the following guide: -- [CRUD READ operations in Python Using FastAPI: View, List](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) +- [CRUD READ operations in Python Using FastAPI: View, List](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api) diff --git a/docs/guides/development/python/how-to-convert-datatypes-in-python/index.md b/docs/guides/development/python/how-to-convert-datatypes-in-python/index.md index 2cb20d1c4ea..b4094670134 100644 --- a/docs/guides/development/python/how-to-convert-datatypes-in-python/index.md +++ b/docs/guides/development/python/how-to-convert-datatypes-in-python/index.md @@ -44,7 +44,7 @@ The Python `type` function is used to determine the type of the data. In this ex ## Before You Begin -Ensure Python is already installed on your machine and you understand how to launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For more information regarding how to use Python, see the [Linode guide to Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). +Ensure Python is already installed on your machine and you understand how to launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For more information regarding how to use Python, see the [Linode guide to Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04). ## Converting Integers and Floats in Python @@ -140,7 +140,7 @@ Some information is permanently lost whenever a float is converted to an integer ## Converting Strings in Python -A Python string consists of an immutable sequence of Unicode characters, and is represented internally as an array. The individual characters in a string can be accessed using *string indexing*, which is similar to [how list items are accessed](/cloud/guides/python-lists-and-how-to-use-them/). Python string indexing is zero-based, so the index `[1]` refers to the second character in the string. Python provides a number of built-in methods for use in string processing and manipulation. +A Python string consists of an immutable sequence of Unicode characters, and is represented internally as an array. The individual characters in a string can be accessed using *string indexing*, which is similar to [how list items are accessed](/cloud/guides/python-lists-and-how-to-use-them). Python string indexing is zero-based, so the index `[1]` refers to the second character in the string. Python provides a number of built-in methods for use in string processing and manipulation. Integers can be converted to strings and vice versa. Strings can also be converted to complex data types including lists, sets, and tuples. For more information on strings, see the [*Python documentation*](https://docs.python.org/3/library/string.html). @@ -225,7 +225,7 @@ In Python, a *list* is an ordered array of objects. The items are mutable, so th Lists and strings are conceptually very similar. Both are ordered sequences, and the individual items are accessed the same way. This makes it easy to convert a string to a list. The first letter in the string becomes item `[0]` in the list. The second letter becomes the second list item, and so on. {{< note >}} -The elements of a list can be strings or numbers, or even compound objects. However, strings can only contain a sequence of Unicode characters. [Lists can also be converted to strings in Python](/cloud/guides/python-lists-and-how-to-use-them/#convert-a-python-list-to-a-string), but the steps are more complicated. +The elements of a list can be strings or numbers, or even compound objects. However, strings can only contain a sequence of Unicode characters. [Lists can also be converted to strings in Python](/cloud/guides/python-lists-and-how-to-use-them#convert-a-python-list-to-a-string), but the steps are more complicated. {{< /note >}} To convert a Python string to a list, use the `list()` function and provide the string as input. This results in a list containing the characters in the original string, formatted in list notation. @@ -253,7 +253,7 @@ z is ('t', 'e', 's', 't') and is of type Although it is relatively uncommon, a string can also be converted to a *set*. A set is an unordered collection of unique elements. Use the function `set()` and provide the string as a parameter. {{< /note >}} -To learn more about Python tuples, see our guide [An Introduction to Python Tuples](/cloud/guides/python-tuples/#convert-a-python-tuple-to-a-list). +To learn more about Python tuples, see our guide [An Introduction to Python Tuples](/cloud/guides/python-tuples#convert-a-python-tuple-to-a-list). ## Conclusion diff --git a/docs/guides/development/python/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb/index.md b/docs/guides/development/python/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb/index.md index 536ad3cdc7d..e6d81cf59e5 100644 --- a/docs/guides/development/python/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb/index.md +++ b/docs/guides/development/python/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb/index.md @@ -293,7 +293,7 @@ You are now ready to run your Flask app locally to view your rendered Stadia Map ## Next Steps -- Consult the [Prepare Your Production Environment](/cloud/guides/flask-and-gunicorn-on-ubuntu/#prepare-the-production-environment) section of our [Deploy A Flask Application on Ubuntu](/cloud/guides/flask-and-gunicorn-on-ubuntu/) guide to familiarize yourself with some of the tools you can use to prepare a Flask application for production. +- Consult the [Prepare Your Production Environment](/cloud/guides/flask-and-gunicorn-on-ubuntu#prepare-the-production-environment) section of our [Deploy A Flask Application on Ubuntu](/cloud/guides/flask-and-gunicorn-on-ubuntu) guide to familiarize yourself with some of the tools you can use to prepare a Flask application for production. - Adopt the example app to use a different data set. Many cities provide open GIS data that you can easily consume and create your own GIS app. See [Philadelphia's Open Data site](https://www.opendataphilly.org/) for possible sources. diff --git a/docs/guides/development/python/how-to-manage-packages-and-virtual-environments-on-linux/index.md b/docs/guides/development/python/how-to-manage-packages-and-virtual-environments-on-linux/index.md index fb47a4f113d..2b38ac678e5 100644 --- a/docs/guides/development/python/how-to-manage-packages-and-virtual-environments-on-linux/index.md +++ b/docs/guides/development/python/how-to-manage-packages-and-virtual-environments-on-linux/index.md @@ -133,7 +133,7 @@ If you do not have virtualenv on your machine install it using Pip: Pipenv combines the process of using Pip and Virtualenv and merges it into one command, `pipenv`. Pipenv also opts to using a `pipfile`, and `pipfile.lock` to manage dependencies for projects. {{< note >}} -To install Pipenv, or to learn about `pipfile`, please check out our guide: [How to Manage Python Packages and Virtual Environments with pipenv](/cloud/guides/manage-python-environments-pipenv/). +To install Pipenv, or to learn about `pipfile`, please check out our guide: [How to Manage Python Packages and Virtual Environments with pipenv](/cloud/guides/manage-python-environments-pipenv). {{< /note >}} Pipenv introduces the ability to use separate Python binaries for each project. For example, projects that depend on Python 3.8 and projects that depend on Python 3.7 can be installed on the same system. To create a virtual environment that utilizes Python 3.8, you would use the following syntax: diff --git a/docs/guides/development/python/how-to-reverse-a-string-in-python/index.md b/docs/guides/development/python/how-to-reverse-a-string-in-python/index.md index f0e8b90dff0..30fe910fd80 100644 --- a/docs/guides/development/python/how-to-reverse-a-string-in-python/index.md +++ b/docs/guides/development/python/how-to-reverse-a-string-in-python/index.md @@ -10,13 +10,13 @@ keywords: ['how to reverse a string in python','python reverse string','reverse license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -Python supports several common string operations, like [slicing, indexing, searching,](/cloud/guides/how-to-slice-and-index-strings-in-python/) and [advanced formatting](/cloud/guides/string-manipulation-python-3/). However, it lacks a dedicated, built-in method for reversing strings. This guide shows you how to reverse a string in Python by leveraging Python's tools for working with sequences. +Python supports several common string operations, like [slicing, indexing, searching,](/cloud/guides/how-to-slice-and-index-strings-in-python) and [advanced formatting](/cloud/guides/string-manipulation-python-3). However, it lacks a dedicated, built-in method for reversing strings. This guide shows you how to reverse a string in Python by leveraging Python's tools for working with sequences. ## Before You Begin This guide's example rely on Python 3. Make sure that you have Python 3 installed on your system before getting started. -You can learn how to install Python 3 from our guide [How to Install Python 3](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). Be sure to use the drop-down menu at the top of the guide to select the Linux distribution that is compatible with your system. +You can learn how to install Python 3 from our guide [How to Install Python 3](/cloud/guides/how-to-install-python-on-ubuntu-20-04). Be sure to use the drop-down menu at the top of the guide to select the Linux distribution that is compatible with your system. ## How to Reverse a String in Python: 5 Ways @@ -30,7 +30,7 @@ The string, when reversed, reads "flow mood". ### Using Slicing -Python's *slice* notation is a powerful tool for manipulating lists and other sequences. You can learn more about Python slices in our guide [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them/). +Python's *slice* notation is a powerful tool for manipulating lists and other sequences. You can learn more about Python slices in our guide [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them). Slice notation also extends to strings, where it treats each character in a string as an item in a list. This means you can use the slice notation you would use for reversing a list to reverse a string: @@ -57,7 +57,7 @@ Of the methods for reversing a string covered in this guide, slicing is the fast ### Reverse a String Using a Loop -Loops can be used to "manually" reverse a string by iterating through each character. Python provides two kinds of loops you can use: the `while` loop and the `for` loop. See our [For and While Loops in Python 3](/cloud/guides/python-for-and-while-loops/) guide for deeper dive into these loop statements. +Loops can be used to "manually" reverse a string by iterating through each character. Python provides two kinds of loops you can use: the `while` loop and the `for` loop. See our [For and While Loops in Python 3](/cloud/guides/python-for-and-while-loops) guide for deeper dive into these loop statements. #### While Loop @@ -115,7 +115,7 @@ A `for` loop takes a sequence and loops through each item in it. You can use it flow mood {{< /output >}} -The `for` loop used above is one of the fastest ways to reverse a string using Python. It is second only to the slice method, and it roughly ties with Python's own `reversed()` method. The `reversed()` method is covered [later on in this guide](/cloud/guides/how-to-reverse-a-string-in-python/#using-the-reversed-method). +The `for` loop used above is one of the fastest ways to reverse a string using Python. It is second only to the slice method, and it roughly ties with Python's own `reversed()` method. The `reversed()` method is covered [later on in this guide](/cloud/guides/how-to-reverse-a-string-in-python#using-the-reversed-method). ### Using Join @@ -218,7 +218,7 @@ Aside from the slicing approach, the `reversed()` method is faster than the othe ### Using a Custom Function -In the [Using Recursion](/cloud/guides/how-to-reverse-a-string-in-python/#using-recursion) section, a custom function is used to reverse a string. In fact, you can use a custom function for any of the approaches outlined in this guide. +In the [Using Recursion](/cloud/guides/how-to-reverse-a-string-in-python#using-recursion) section, a custom function is used to reverse a string. In fact, you can use a custom function for any of the approaches outlined in this guide. Creating a dedicated function for reversing a string can be convenient when you want to use the same approach in multiple places. This is especially the case when you are using a more complicated approach, like the `while` or `for` loop. @@ -269,4 +269,4 @@ wolf doom There are many ways to reverse a string in Python. However, some approaches are more efficient than others and which you choose depends on your own needs. For example, if execution speed is a concern, you should use slicing, since it is the fastest. You can also create a custom function that employs looping if you'd like to reuse the function throughout your code. If you're not as concerned with performance, you may choose to use a recursive function. -If you'de like to learn more about Python, take a look through our other [Python guides and tutorials](/cloud/guides/development/python/). \ No newline at end of file +If you'de like to learn more about Python, take a look through our other [Python guides and tutorials](/cloud/guides/development/python). \ No newline at end of file diff --git a/docs/guides/development/python/how-to-slice-and-index-strings-in-python/index.md b/docs/guides/development/python/how-to-slice-and-index-strings-in-python/index.md index 34a789ea24b..70a42404d06 100644 --- a/docs/guides/development/python/how-to-slice-and-index-strings-in-python/index.md +++ b/docs/guides/development/python/how-to-slice-and-index-strings-in-python/index.md @@ -27,10 +27,10 @@ It is possible to access any character in a Python string using array-based inde 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. **Do not** follow the *Configure a Firewall* section yet. This guide includes firewall rules specifically for an OpenVPN server. -1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. For information on how to use Python, see our guide on [How to Install Python 3](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. For information on how to use Python, see our guide on [How to Install Python 3](/cloud/guides/how-to-install-python-on-ubuntu-20-04). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How Indexing Strings Works in Python 3 @@ -158,7 +158,7 @@ A stride can be used together with start and end indices. The next example demon oe ytm {{< /output >}} -For a deeper dive into reversing string in Python using slicing and other methods, see our guide [Reversing a String in Python](/cloud/guides/how-to-reverse-a-string-in-python/) +For a deeper dive into reversing string in Python using slicing and other methods, see our guide [Reversing a String in Python](/cloud/guides/how-to-reverse-a-string-in-python) ## Use the Slice Object to Simplify Repetitive Tasks diff --git a/docs/guides/development/python/how-to-use-python-markdown-to-convert-markdown-to-html/index.md b/docs/guides/development/python/how-to-use-python-markdown-to-convert-markdown-to-html/index.md index 593bf2f9a4e..361305094a4 100644 --- a/docs/guides/development/python/how-to-use-python-markdown-to-convert-markdown-to-html/index.md +++ b/docs/guides/development/python/how-to-use-python-markdown-to-convert-markdown-to-html/index.md @@ -45,10 +45,10 @@ There are a few minor differences between the behavior of Python-Markdown and th 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Ensure Python is properly installed on the Linode. You must be able to launch and use the Python programming environment and have some basic knowledge of the Python programming language. For information on how to install and use Python, see the [Linode guide to Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode. You must be able to launch and use the Python programming environment and have some basic knowledge of the Python programming language. For information on how to install and use Python, see the [Linode guide to Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Python-Markdown diff --git a/docs/guides/development/python/how-to-write-and-run-python-script/index.md b/docs/guides/development/python/how-to-write-and-run-python-script/index.md index 4e5ddea29cd..0da6aa023b8 100644 --- a/docs/guides/development/python/how-to-write-and-run-python-script/index.md +++ b/docs/guides/development/python/how-to-write-and-run-python-script/index.md @@ -22,7 +22,7 @@ external_resources: ## Understanding How Python Works -Python is a good example of a modern high-level programming language. It is open source and is designed for general use, capable of working in many domains. Python is simple and easy to use and is highly readable, so it is considered a good language for beginners. Python is packed with useful built-in features, but it can also be extended through the use of modules. Python is dynamically-typed, platform-independent, and supports *Object-Oriented Programming* (OOP) techniques. Check the [More Information](/cloud/guides/how-to-write-and-run-python-script/#more-information) section of this guide for some of the Python tutorials and reference materials. +Python is a good example of a modern high-level programming language. It is open source and is designed for general use, capable of working in many domains. Python is simple and easy to use and is highly readable, so it is considered a good language for beginners. Python is packed with useful built-in features, but it can also be extended through the use of modules. Python is dynamically-typed, platform-independent, and supports *Object-Oriented Programming* (OOP) techniques. Check the [More Information](/cloud/guides/how-to-write-and-run-python-script#more-information) section of this guide for some of the Python tutorials and reference materials. Python is an interpreted language that allows users to write and run scripts interactively. Interpreted languages are processed by an interpreter, not compiled. Users can run a program as soon as they write it, with no intermediate steps. Python interpreters evaluate Python scripts. Scripts are plain text files that are written in a text editor or an interactive development environment. Every script contains a sequence of commands written in the Python programming language. Due to Python's interpreted nature, Python scripts are completely portable from one system to another. Only the source code and a Python interpreter are required to run a Python script. @@ -43,7 +43,7 @@ Python makes heavy use of external modules. Unlike a script, a module is not a s 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{< note >}} @@ -102,9 +102,9 @@ markdown.markdown('## Work Tasks') '

      Work Tasks

      ' ``` -For more detailed information on modules, see our [How to Install and Import Python Modules](/cloud/guides/installing-and-importing-modules-in-python-3/) guide. +For more detailed information on modules, see our [How to Install and Import Python Modules](/cloud/guides/installing-and-importing-modules-in-python-3) guide. -Development environments with many Python projects, packages and modules are often complicated to manage. Package conflicts can occur when new releases of existing packages overwrite older releases. Python *virtual environments* help manage these dependencies and avoid conflicts. For more information, review the Linode guide on [Managing Python Packages and Versions on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/). +Development environments with many Python projects, packages and modules are often complicated to manage. Package conflicts can occur when new releases of existing packages overwrite older releases. Python *virtual environments* help manage these dependencies and avoid conflicts. For more information, review the Linode guide on [Managing Python Packages and Versions on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux). ## How to Write a Python Script @@ -174,12 +174,12 @@ Python programs are built out of fundamental control and data structures. Withou A control structure controls the execution flow of a program. Operators are used to making logical decisions. Data structures store and organize data, and often provide mechanisms to retrieve and manipulate the data. -- **Comparison Operations**: These operators are used to compare two variables or a variable and a constant. The `==` operator tests for equality, while `!=` tests for inequality. The `<` ("less than") and `>` ("greater than") symbols are relational comparators. For convenience, Python also provides the `<=` ("less than or equal") and `>=` ("greater than or equal") operators. Python allows programs to use comparison operators on strings, characters, and other objects. However, not all operations are valid on all objects. The Linode guide to [ Boolean Variables, Operators, and Conditional Statements in Python](/cloud/guides/boolean-variables-in-python/) provides more options. -- **Conditional Statements**: Conditional statements use *Boolean expressions* to make decisions. These decisions determine the control flow of the program. If the result of the Boolean expression is *True*, the program runs a sequence of commands. If the result is *False*, it might run other lines of code, or it might do nothing at all. In Python, the most important conditional statement is the `if` statement, along with the `if not` and `if else` variants. For more information, see the Linode guide to [If Statements and Chained Conditionals](/cloud/guides/if-statements-and-conditionals-in-python/). -- **Logical Operators**: Logical operators combine several comparison operations into larger compound statements. The main logical operators are `and`, `or`, and `not`. The expression` a and b` means `a` must be `True` and `b` must also be `True`. The expression `a or b` is `True` if either `a` or `b` is `True`, or if both are `True`. `not a` is only `True` when `a` evaluates to `False`. The Linode guide to [Boolean Variables, Operators, and Conditional Statements in Python](/cloud/guides/boolean-variables-in-python/#logical-operators-in-python) introduces the logical operators. -- **Loop Statements**: Python loop statements execute a block of code zero or more times. A `for` loop is used when the number of repetitions is known before entering the loop. The `while` statement is better for situations where a loop keeps running until some condition is met. Loops can also iterate across a sequential data type such as a list or dictionary. The Linode guide to [For and While Loops](/cloud/guides/python-for-and-while-loops/) provides more information. +- **Comparison Operations**: These operators are used to compare two variables or a variable and a constant. The `==` operator tests for equality, while `!=` tests for inequality. The `<` ("less than") and `>` ("greater than") symbols are relational comparators. For convenience, Python also provides the `<=` ("less than or equal") and `>=` ("greater than or equal") operators. Python allows programs to use comparison operators on strings, characters, and other objects. However, not all operations are valid on all objects. The Linode guide to [ Boolean Variables, Operators, and Conditional Statements in Python](/cloud/guides/boolean-variables-in-python) provides more options. +- **Conditional Statements**: Conditional statements use *Boolean expressions* to make decisions. These decisions determine the control flow of the program. If the result of the Boolean expression is *True*, the program runs a sequence of commands. If the result is *False*, it might run other lines of code, or it might do nothing at all. In Python, the most important conditional statement is the `if` statement, along with the `if not` and `if else` variants. For more information, see the Linode guide to [If Statements and Chained Conditionals](/cloud/guides/if-statements-and-conditionals-in-python). +- **Logical Operators**: Logical operators combine several comparison operations into larger compound statements. The main logical operators are `and`, `or`, and `not`. The expression` a and b` means `a` must be `True` and `b` must also be `True`. The expression `a or b` is `True` if either `a` or `b` is `True`, or if both are `True`. `not a` is only `True` when `a` evaluates to `False`. The Linode guide to [Boolean Variables, Operators, and Conditional Statements in Python](/cloud/guides/boolean-variables-in-python#logical-operators-in-python) introduces the logical operators. +- **Loop Statements**: Python loop statements execute a block of code zero or more times. A `for` loop is used when the number of repetitions is known before entering the loop. The `while` statement is better for situations where a loop keeps running until some condition is met. Loops can also iterate across a sequential data type such as a list or dictionary. The Linode guide to [For and While Loops](/cloud/guides/python-for-and-while-loops) provides more information. -Many programs use data structures to contain and organize a series of values. Simple data structures like strings and arrays are extremely commonplace. More complex data structures including stacks, queues, graphs, trees, and hash tables are used in specialized situations. The Linode guide to [Data Structures in Computer Programming](/cloud/guides/data-structure/) explains data structures in more depth. +Many programs use data structures to contain and organize a series of values. Simple data structures like strings and arrays are extremely commonplace. More complex data structures including stacks, queues, graphs, trees, and hash tables are used in specialized situations. The Linode guide to [Data Structures in Computer Programming](/cloud/guides/data-structure) explains data structures in more depth. Python also features a large number of built-in data structures, including a list, set, and dictionary. Each data structure has its own built-in methods to implement core operations for the structure. Python modules provide access to more specialized data structures. Pre-existing data structures are ready-to-use. They help programmers save development and test time and avoid errors. See the [Python data structure documentation](https://docs.python.org/3/tutorial/datastructures.html) for additional information about the built-in types. diff --git a/docs/guides/development/python/if-statements-and-conditionals-in-python/index.md b/docs/guides/development/python/if-statements-and-conditionals-in-python/index.md index 054f3de4064..0cbf67c3827 100644 --- a/docs/guides/development/python/if-statements-and-conditionals-in-python/index.md +++ b/docs/guides/development/python/if-statements-and-conditionals-in-python/index.md @@ -54,10 +54,10 @@ An `if then` conditional can be extended using the `else` option to form an `if 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/cloud/guides/how-to-install-python-on-ubuntu-20-04). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Python Conditionals diff --git a/docs/guides/development/python/installing-and-importing-modules-in-python-3/index.md b/docs/guides/development/python/installing-and-importing-modules-in-python-3/index.md index 8c64e7a364a..71842b72ea5 100644 --- a/docs/guides/development/python/installing-and-importing-modules-in-python-3/index.md +++ b/docs/guides/development/python/installing-and-importing-modules-in-python-3/index.md @@ -45,10 +45,10 @@ Some of the reasons to use Python modules include the following: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu](/cloud/guides/how-to-install-python-on-ubuntu-20-04). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Modules in Python 3 @@ -61,7 +61,7 @@ These instructions are geared toward Ubuntu users but are generally applicable f ### Install Modules with pip -1. Ensure the `pip` module is already installed. `pip` can be installed using the [APT package manager](/cloud/guides/apt-package-manager/). +1. Ensure the `pip` module is already installed. `pip` can be installed using the [APT package manager](/cloud/guides/apt-package-manager). sudo apt install python3-pip diff --git a/docs/guides/development/python/mock-testing-using-the-python-unittest-library/index.md b/docs/guides/development/python/mock-testing-using-the-python-unittest-library/index.md index dcce305ef0d..1bc22263efd 100644 --- a/docs/guides/development/python/mock-testing-using-the-python-unittest-library/index.md +++ b/docs/guides/development/python/mock-testing-using-the-python-unittest-library/index.md @@ -10,7 +10,7 @@ keywords: ['python unittest','unittest mock','python unittest assert','mock obje license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -The Python unittest library helps you test your application code for errors in an automated way. It’s one of the testing methods discussed in our guide, [An Overview of Python Testing Frameworks for Unit Testing](/cloud/guides/python-testing-frameworks-for-software-unit-testing/#unittest-python-testing-framework-example). Mock testing is especially useful while your code is yet to be completed and your development is progressing. It performs continuous testing during development and provides good insights into how an application might ultimately function. This guide shows you how to use the Python unittest library to create mock objects to test your code. +The Python unittest library helps you test your application code for errors in an automated way. It’s one of the testing methods discussed in our guide, [An Overview of Python Testing Frameworks for Unit Testing](/cloud/guides/python-testing-frameworks-for-software-unit-testing#unittest-python-testing-framework-example). Mock testing is especially useful while your code is yet to be completed and your development is progressing. It performs continuous testing during development and provides good insights into how an application might ultimately function. This guide shows you how to use the Python unittest library to create mock objects to test your code. ## What is the Purpose of Mock Objects in Unit Testing? diff --git a/docs/guides/development/python/pros-and-cons-of-python/index.md b/docs/guides/development/python/pros-and-cons-of-python/index.md index 01728c16388..36cd0afd9ec 100644 --- a/docs/guides/development/python/pros-and-cons-of-python/index.md +++ b/docs/guides/development/python/pros-and-cons-of-python/index.md @@ -95,7 +95,7 @@ Nonetheless, there are some situations where Python is the right choice. There a It is easy to start using Python. A good place to begin is the [Python Beginner's Guide](https://wiki.python.org/moin/BeginnersGuide). The Python Wiki also has a list of tutorials and resources for [New](https://wiki.python.org/moin/BeginnersGuide/NonProgrammers) or [Experienced Programmers](https://wiki.python.org/moin/BeginnersGuide/Programmers). -To run Python on Ubuntu or another Linux distribution, use the command `python3`. Python is usually already installed on most Linux systems. To download Python for other platforms, see the [Python downloads page](https://www.python.org/downloads/). For more information about how to use Python on a Linode system, see the [Linode guide to Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). +To run Python on Ubuntu or another Linux distribution, use the command `python3`. Python is usually already installed on most Linux systems. To download Python for other platforms, see the [Python downloads page](https://www.python.org/downloads/). For more information about how to use Python on a Linode system, see the [Linode guide to Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04). ### Alternatives to Python diff --git a/docs/guides/development/python/python-3-dictionaries/index.md b/docs/guides/development/python/python-3-dictionaries/index.md index b3ebbbdca14..e5db27b0feb 100644 --- a/docs/guides/development/python/python-3-dictionaries/index.md +++ b/docs/guides/development/python/python-3-dictionaries/index.md @@ -85,7 +85,7 @@ A tuple is a built-in Python data structure that stores multiple comma-separated map_coordinates = {(0,1): 100, (2,1): 200} -To learn more about the syntax of Python tuples and other topics, like built-in tuple methods, and tuple unpacking, see our guide [An Introduction to Python Tuples](/cloud/guides/python-tuples/). +To learn more about the syntax of Python tuples and other topics, like built-in tuple methods, and tuple unpacking, see our guide [An Introduction to Python Tuples](/cloud/guides/python-tuples). ### Dictionary Comprehension @@ -129,7 +129,7 @@ Dictionary comprehensions require less typing due to its concise syntax. It also After creating a dictionary, you can access its values in several different ways. The two common methods for performing this task are to access the value directly or to access it as part of a loop. A dictionary often contains unwanted values, so using Python comprehensions can cut the dictionary down to size before you access its values. These techniques appear in the following sections. -If you are newer to for and while loops in Python, you can view several examples in our guide [For and While Loops in Python 3](/cloud/guides/python-for-and-while-loops/). +If you are newer to for and while loops in Python, you can view several examples in our guide [For and While Loops in Python 3](/cloud/guides/python-for-and-while-loops). ### Access a Dictionary's Values diff --git a/docs/guides/development/python/python-arrays/index.md b/docs/guides/development/python/python-arrays/index.md index 4f16ef92224..748c9c28a66 100644 --- a/docs/guides/development/python/python-arrays/index.md +++ b/docs/guides/development/python/python-arrays/index.md @@ -37,11 +37,11 @@ When creating an array in Python, you must indicate the type of data to be store Generally, though, for arrays containing numbers, you can focus on using just two of the available codes. Use the `i` code for arrays containing integers. Use the `d` code for arrays containing floating point numbers. -You can see an example showing how to use a code to initiate an array at the beginning of the [How to Use Arrays in Python](/cloud/guides/python-arrays/#how-to-use-arrays-in-python) section of this guide. +You can see an example showing how to use a code to initiate an array at the beginning of the [How to Use Arrays in Python](/cloud/guides/python-arrays#how-to-use-arrays-in-python) section of this guide. ### Python Arrays vs. Lists -Often, people talking about arrays in Python are actually referring to [Python *lists*](/cloud/guides/python-lists-and-how-to-use-them/). While lists and arrays share some similarities in Python, they are two distinct types of collections. +Often, people talking about arrays in Python are actually referring to [Python *lists*](/cloud/guides/python-lists-and-how-to-use-them). While lists and arrays share some similarities in Python, they are two distinct types of collections. The main difference between lists and arrays is that arrays constrain the object type it can store. Lists do not give you a way to limit the types of objects they contain. When using an array, you can be sure that it only contains the type that was specified upon creation. @@ -114,7 +114,7 @@ The next example slices the range from index `0` through index `3`. It progresse array('i', [2, 6]) {{< /output >}} -Python's slice notation is a powerful tool that can be used to perform many more complicated operations than demonstrated in this guide. To see more examples with in-depth explanations, check out our guides [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python/) and [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them/). While these guides do not deal directly with Python arrays, the concepts apply equally well. +Python's slice notation is a powerful tool that can be used to perform many more complicated operations than demonstrated in this guide. To see more examples with in-depth explanations, check out our guides [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python) and [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them). While these guides do not deal directly with Python arrays, the concepts apply equally well. #### Looping Over Array Elements diff --git a/docs/guides/development/python/python-data-types/index.md b/docs/guides/development/python/python-data-types/index.md index b25ee30e169..ea27ea7fc6e 100644 --- a/docs/guides/development/python/python-data-types/index.md +++ b/docs/guides/development/python/python-data-types/index.md @@ -170,7 +170,7 @@ In the section above, strings are called sequences of characters. Strings act as Many of these operations can be used on strings as well. Using them can give you powerful tools for manipulating and extracting data from strings in Python. -To see these capabilities and learn more about them, take a look at our guide on [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python/). +To see these capabilities and learn more about them, take a look at our guide on [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python). ### Collections @@ -224,7 +224,7 @@ print(set_variable) Python's collections are powerful but more complicated than most other data types. As such, they have many operations, more than we can cover here. -Instead, take a look at our other guides to learn more about the basics of Python collections. See our [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them/) guide. You may also want to refer to the guide on slicing and indexing strings, [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python/), for an in-depth look at slice notation. +Instead, take a look at our other guides to learn more about the basics of Python collections. See our [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them) guide. You may also want to refer to the guide on slicing and indexing strings, [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python), for an in-depth look at slice notation. ### Dictionaries @@ -266,7 +266,7 @@ else: Melissa is taller than Edgar. ``` -You can learn more about Python dictionaries and how to make the most of them by reading our [Using Dictionaries in Python 3](/cloud/guides/python-3-dictionaries/) guide. +You can learn more about Python dictionaries and how to make the most of them by reading our [Using Dictionaries in Python 3](/cloud/guides/python-3-dictionaries) guide. ## Python Data Type Operations @@ -335,12 +335,12 @@ Python has three functions for casting between numbers and strings. You now have what you need to start working effectively with the most common data types in Python. Following this guide can help you get more familiar with everything from basic types like Boolean and integers to strings, collections, and dictionaries. -Looking to deepen your understanding? Then be sure to look at our other [guides on Python](/cloud/guides/development/python/). A few of these have been linked throughout this guide, but here is a list gathering those together: +Looking to deepen your understanding? Then be sure to look at our other [guides on Python](/cloud/guides/development/python). A few of these have been linked throughout this guide, but here is a list gathering those together: - - [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python/) + - [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python) -- [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them/) +- [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them) - **Getting Started with Python Sets** -- [Using Dictionaries in Python 3](/cloud/guides/python-3-dictionaries/) \ No newline at end of file +- [Using Dictionaries in Python 3](/cloud/guides/python-3-dictionaries) \ No newline at end of file diff --git a/docs/guides/development/python/python-for-and-while-loops/index.md b/docs/guides/development/python/python-for-and-while-loops/index.md index 13671900111..3a1b89c5f6e 100644 --- a/docs/guides/development/python/python-for-and-while-loops/index.md +++ b/docs/guides/development/python/python-for-and-while-loops/index.md @@ -49,10 +49,10 @@ To summarize, a `for` statement is used when the maximum number of iterations is 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/cloud/guides/how-to-install-python-on-ubuntu-20-04). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Python Loops @@ -278,7 +278,7 @@ The name of the city is New York and the name of the state is New York The name of the city is Miami and the name of the state is Florida {{< /output >}} -Built-in Python dictionary methods, like `items()` can be used to efficiently loop over a Python dictionary. To learn about these built-in dictionary methods, see our guide [How to Use Dictionaries in Python 3](/cloud/guides/python-3-dictionaries/). +Built-in Python dictionary methods, like `items()` can be used to efficiently loop over a Python dictionary. To learn about these built-in dictionary methods, see our guide [How to Use Dictionaries in Python 3](/cloud/guides/python-3-dictionaries). ### How to Break or Exit from a For Loop in Python diff --git a/docs/guides/development/python/python-lists-and-how-to-use-them/index.md b/docs/guides/development/python/python-lists-and-how-to-use-them/index.md index 4cf4ee832df..d7e158e4e80 100644 --- a/docs/guides/development/python/python-lists-and-how-to-use-them/index.md +++ b/docs/guides/development/python/python-lists-and-how-to-use-them/index.md @@ -18,7 +18,7 @@ Python includes many built-in methods and operations that help you manipulate li ## Before You Begin -1. This guide uses Python 3 syntax. Although there is some overlap, some of the code may not work with Python 2. To install Python 3, follow our [How to Install Python 3](/cloud/guides/how-to-install-python-on-debian-10/) guide, using the **Distribution** drop down to select your Linux distribution. +1. This guide uses Python 3 syntax. Although there is some overlap, some of the code may not work with Python 2. To install Python 3, follow our [How to Install Python 3](/cloud/guides/how-to-install-python-on-debian-10) guide, using the **Distribution** drop down to select your Linux distribution. 1. All commands in this guide can be entered either in a **Python script** or in the **Python interpreter** (also known as the Python Interactive Shell). You can learn more about either method through the Python 3 installation guide linked above. @@ -161,7 +161,7 @@ Print the remaining items in `example_list`: [0, 4, 8] {{< /output >}} -You can learn more about Python's slice notation in the [Reverse a List](/cloud/guides/python-lists-and-how-to-use-them/#reverse-a-list) section below. The links provided at the end of this guide also provide more information. +You can learn more about Python's slice notation in the [Reverse a List](/cloud/guides/python-lists-and-how-to-use-them#reverse-a-list) section below. The links provided at the end of this guide also provide more information. ## How to Sort a List in Python @@ -279,7 +279,7 @@ Print the strings stored in the `example_string_from_list` variable: 1 2 3 4 5 {{< /output >}} -To learn how to convert a string to a list, see our guide [How to Convert Data Types in Python](/cloud/guides/how-to-convert-datatypes-in-python/#converting-strings-to-lists). +To learn how to convert a string to a list, see our guide [How to Convert Data Types in Python](/cloud/guides/how-to-convert-datatypes-in-python#converting-strings-to-lists). ## How to Find an Item in a List in Python diff --git a/docs/guides/development/python/python-priority-queue/index.md b/docs/guides/development/python/python-priority-queue/index.md index 1b862a69049..6bc18505745 100644 --- a/docs/guides/development/python/python-priority-queue/index.md +++ b/docs/guides/development/python/python-priority-queue/index.md @@ -22,7 +22,7 @@ In Python, queues are frequently used to process items using a *first in first o ### What is a Queue? -A queue is a fundamental [programming data structure](/cloud/guides/data-structure/). Data structures are used to organize, manage, and store data. They make programs easier to understand and write, and often faster and more reliable too. +A queue is a fundamental [programming data structure](/cloud/guides/data-structure). Data structures are used to organize, manage, and store data. They make programs easier to understand and write, and often faster and more reliable too. Conceptually, a queue represents data items as an ordered list. Items are removed from the list in the same order they arrived. Queues are a familiar concept in everyday life. Every time a group of people line up for something, they form a queue. For instance, a line of people at a bank or a coffee shop is a queue. The first person to arrive is at the front of the queue. They are the next person to be served. When a new customer arrives, they join the back of the queue. diff --git a/docs/guides/development/python/python-sets/index.md b/docs/guides/development/python/python-sets/index.md index 6b0ba900cba..a31e09638a2 100644 --- a/docs/guides/development/python/python-sets/index.md +++ b/docs/guides/development/python/python-sets/index.md @@ -63,7 +63,7 @@ The members of a set must be *[hashable](https://docs.python.org/3/glossary.html Technically, a hashable object's `__hash__()` function must always return the same value for the lifetime of the object, rather than the object itself being immutable. [This blog post](https://inventwithpython.com/blog/2019/02/01/hashable-objects-must-be-immutable/) describes why, in practice, hashable objects used with sets are also immutable. {{< /note >}} -Integers and strings are built-in Python types that are hashable and can be stored in a set. Mutable container types like lists, dictionaries, and sets are not hashable, because their contents can change. A [Python tuple](/cloud/guides/python-tuples/) is hashable if each of its values is hashable. +Integers and strings are built-in Python types that are hashable and can be stored in a set. Mutable container types like lists, dictionaries, and sets are not hashable, because their contents can change. A [Python tuple](/cloud/guides/python-tuples) is hashable if each of its values is hashable. ## Create a Python Set @@ -75,7 +75,7 @@ Python provides a few ways to create sets: example_set = {2, 4, 6, 8} ``` - An empty set cannot be expressed with the set literal syntax. An empty pair of curly braces `{}` represents an empty [Python dictionary](/cloud/guides/python-3-dictionaries/). Use the `set()` constructor (below) to create an empty set. + An empty set cannot be expressed with the set literal syntax. An empty pair of curly braces `{}` represents an empty [Python dictionary](/cloud/guides/python-3-dictionaries). Use the `set()` constructor (below) to create an empty set. - The [`set()` constructor function](https://docs.python.org/3/library/stdtypes.html#set) accepts a Python list (or any other [iterable](https://docs.python.org/3/glossary.html#term-iterable) object) as input and returns a set with unique values from the list. The items in the input list/iterable must be hashable. @@ -136,8 +136,8 @@ The operations for Python sets differ from those available for lists and arrays. {{< note >}} The Linode docs library has guides for learning about Python lists and arrays: -- [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them/) -- [Python Arrays: What They Are and How to Use Them](/cloud/guides/python-arrays/) +- [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them) +- [Python Arrays: What They Are and How to Use Them](/cloud/guides/python-arrays) {{< /note >}} ## Fetch from a Set diff --git a/docs/guides/development/python/python-string-interpolation/index.md b/docs/guides/development/python/python-string-interpolation/index.md index 1a0016f8f33..0945aa5b34b 100644 --- a/docs/guides/development/python/python-string-interpolation/index.md +++ b/docs/guides/development/python/python-string-interpolation/index.md @@ -209,7 +209,7 @@ The Python interpreter returns the interpolated string: 'Welcome, Frida!' {{}} -The Python 3 Template class provides more readable code, especially when using a single template with various values stored in a [dictionary](/cloud/guides/python-3-dictionaries/). For example: +The Python 3 Template class provides more readable code, especially when using a single template with various values stored in a [dictionary](/cloud/guides/python-3-dictionaries). For example: {{< file "~/home/username/template_example.py">}} from string import Template diff --git a/docs/guides/development/python/python-testing-frameworks-for-software-unit-testing/index.md b/docs/guides/development/python/python-testing-frameworks-for-software-unit-testing/index.md index cd30b452340..e6fa208a998 100644 --- a/docs/guides/development/python/python-testing-frameworks-for-software-unit-testing/index.md +++ b/docs/guides/development/python/python-testing-frameworks-for-software-unit-testing/index.md @@ -17,7 +17,7 @@ This guide provides an introduction to popular Python testing frameworks used to The list below includes some of the most popular Python testing frameworks and what you can expect from each one. -- [**doctest**](https://docs.python.org/3/library/doctest.html): Provides an interactive command-line shell and can be integrated with tools like [Jupyter Notebook](/cloud/guides/install-a-jupyter-notebook-server-on-a-linode-behind-an-apache-reverse-proxy/) with greater ease than other testing packages. +- [**doctest**](https://docs.python.org/3/library/doctest.html): Provides an interactive command-line shell and can be integrated with tools like [Jupyter Notebook](/cloud/guides/install-a-jupyter-notebook-server-on-a-linode-behind-an-apache-reverse-proxy) with greater ease than other testing packages. Doctest is not as feature-rich as other frameworks, which limits it to simpler testing scenarios. @@ -208,7 +208,7 @@ If you’re looking for a more feature-rich test tool, then Pytest is a good cho Before you can use Pytest, you must install it on your system. {{< note >}} -If you have not already installed `conda`, see our [How to Install Anaconda](/cloud/guides/how-to-install-anaconda/) guide for the installation instructions. +If you have not already installed `conda`, see our [How to Install Anaconda](/cloud/guides/how-to-install-anaconda) guide for the installation instructions. {{< /note >}} To install Pytest using conda, issue the following command: diff --git a/docs/guides/development/python/python-tuples/index.md b/docs/guides/development/python/python-tuples/index.md index 0ddd78d871d..f32e33fbee5 100644 --- a/docs/guides/development/python/python-tuples/index.md +++ b/docs/guides/development/python/python-tuples/index.md @@ -14,7 +14,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' A tuple is a built-in Python data structure that stores multiple comma-separated values. Tuples are an immutable *sequence* type that can store values of any data type. A mix of different data types can also be stored in a tuple. This guide describes the characteristics of tuples and shows you the various ways you can create a Python tuple. {{< note >}} -You should have [Python 3.0 installed on your machine](/cloud/guides/how-to-install-python-on-ubuntu-20-04/) to follow along with the examples in this guide. +You should have [Python 3.0 installed on your machine](/cloud/guides/how-to-install-python-on-ubuntu-20-04) to follow along with the examples in this guide. {{< /note >}} ## Python Tuple Syntax @@ -147,7 +147,7 @@ Use the `print()` method to view the contents of `dict_to_tuple_example`: dict_items([('first', 'Jane'), ('last', 'Doe'), ('year', '2000')]) {{}} -Python dictionaries also support the use of tuples as a key. See our guide [How to use Dictionaries in Python 3](/cloud/guides/python-3-dictionaries/) to learn more. +Python dictionaries also support the use of tuples as a key. See our guide [How to use Dictionaries in Python 3](/cloud/guides/python-3-dictionaries) to learn more. ## Tuple Unpacking @@ -225,7 +225,7 @@ Use the `type()` method to confirm that the `tuple_to_list_example` variable con {{}} -To learn how to convert a string to a tuple, see our guide [How to Convert Data Types in Python](/cloud/guides/how-to-convert-datatypes-in-python/#converting-strings-to-tuples). +To learn how to convert a string to a tuple, see our guide [How to Convert Data Types in Python](/cloud/guides/how-to-convert-datatypes-in-python#converting-strings-to-tuples). ## Built-in Tuple Methods diff --git a/docs/guides/development/python/python-variables/index.md b/docs/guides/development/python/python-variables/index.md index 599f201ec9a..d08f8d4f602 100644 --- a/docs/guides/development/python/python-variables/index.md +++ b/docs/guides/development/python/python-variables/index.md @@ -201,7 +201,7 @@ Traceback (most recent call last): TypeError: can only concatenate str (not "int") to str ``` -There are many more data types than integers and strings, and much more to know about them. To keep learning more, take a look at our [The Basics of Python Data Types](/cloud/guides/python-data-types/) guide. +There are many more data types than integers and strings, and much more to know about them. To keep learning more, take a look at our [The Basics of Python Data Types](/cloud/guides/python-data-types) guide. ### Casting Variables @@ -226,4 +226,4 @@ Hello, 5! This guide has covered the foundations you need to start working with variables in Python, including variable assignment, variable operations, types, and scopes. -In addition to this guide, you may be interested in [The Basics of Python Data Types](/cloud/guides/python-data-types/), or our other [guides on Python development](/cloud/guides/development/python/). These can give you tools to elevate your Python skills and start making your Python code more effective. \ No newline at end of file +In addition to this guide, you may be interested in [The Basics of Python Data Types](/cloud/guides/python-data-types), or our other [guides on Python development](/cloud/guides/development/python). These can give you tools to elevate your Python skills and start making your Python code more effective. \ No newline at end of file diff --git a/docs/guides/development/python/pytorch-installation-ubuntu-2004/index.md b/docs/guides/development/python/pytorch-installation-ubuntu-2004/index.md index d871b112bcf..29657903a87 100644 --- a/docs/guides/development/python/pytorch-installation-ubuntu-2004/index.md +++ b/docs/guides/development/python/pytorch-installation-ubuntu-2004/index.md @@ -44,7 +44,7 @@ The NVIDIA CUDA Toolkit is not needed on CPU-only (non-GPU) instances. ### Use Conda to Install PyTorch -[Anaconda](https://www.anaconda.com/) is a package manager for [Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04/) and [R](/cloud/guides/how-to-install-r-on-ubuntu-and-debian/). The steps in this section uses Anaconda to install PyTorch. +[Anaconda](https://www.anaconda.com/) is a package manager for [Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04) and [R](/cloud/guides/how-to-install-r-on-ubuntu-and-debian). The steps in this section uses Anaconda to install PyTorch. 1. In your home directory, create a directory to install Anaconda and move into it. @@ -113,7 +113,7 @@ Verifying transaction: done ### Use Pip to Install PyTorch -If you don't have access to Anaconda, PyTorch can be installed with Python Pip. Learn about Pip and Python programming environments in our [Using Pipenv to Manage Python Packages and Versions](/cloud/guides/manage-python-environments-pipenv/) guide. +If you don't have access to Anaconda, PyTorch can be installed with Python Pip. Learn about Pip and Python programming environments in our [Using Pipenv to Manage Python Packages and Versions](/cloud/guides/manage-python-environments-pipenv) guide. 1. To install Pip, use the following command: diff --git a/docs/guides/development/python/string-manipulation-python-3/index.md b/docs/guides/development/python/string-manipulation-python-3/index.md index 7aff018a8ec..a128502812d 100644 --- a/docs/guides/development/python/string-manipulation-python-3/index.md +++ b/docs/guides/development/python/string-manipulation-python-3/index.md @@ -124,7 +124,7 @@ The inverse operation of `split` is `join`, which will combine a list of strings 'one,two,three,four,five' {{< /output >}} -For a full list of available string methods, see the [official documentation](https://docs.python.org/3/library/stdtypes.html#string-methods). Since there is no built-in string method to reverse a string, see our guide [Reversing a String in Python](/cloud/guides/how-to-reverse-a-string-in-python/) to learn several ways to do so. +For a full list of available string methods, see the [official documentation](https://docs.python.org/3/library/stdtypes.html#string-methods). Since there is no built-in string method to reverse a string, see our guide [Reversing a String in Python](/cloud/guides/how-to-reverse-a-string-in-python) to learn several ways to do so. ## String Formatting diff --git a/docs/guides/development/python/task-queue-celery-rabbitmq/index.md b/docs/guides/development/python/task-queue-celery-rabbitmq/index.md index d7035813b0d..17a149d7eb3 100644 --- a/docs/guides/development/python/task-queue-celery-rabbitmq/index.md +++ b/docs/guides/development/python/task-queue-celery-rabbitmq/index.md @@ -30,7 +30,7 @@ Celery can be used in multiple configuration. Most frequent uses are horizontal 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install a Python 3 Environment diff --git a/docs/guides/development/python/use-paramiko-python-to-ssh-into-a-server/index.md b/docs/guides/development/python/use-paramiko-python-to-ssh-into-a-server/index.md index f492a2b322b..d9e30051266 100644 --- a/docs/guides/development/python/use-paramiko-python-to-ssh-into-a-server/index.md +++ b/docs/guides/development/python/use-paramiko-python-to-ssh-into-a-server/index.md @@ -28,10 +28,10 @@ You must install Paramiko on your system before being able to use it in your Pyt pip install paramiko {{< note >}} -If you are not familiar with Pip or do not have it installed on your system, see our [How to Manage Python Packages and Virtual Environments on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/#how-pip-works) guide. +If you are not familiar with Pip or do not have it installed on your system, see our [How to Manage Python Packages and Virtual Environments on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux#how-pip-works) guide. {{< /note >}} -If your system is [configured to use Anaconda](/cloud/guides/how-to-install-anaconda/), you can use the following command to install Paramiko: +If your system is [configured to use Anaconda](/cloud/guides/how-to-install-anaconda), you can use the following command to install Paramiko: conda install -c anaconda paramiko @@ -81,7 +81,7 @@ The file above provides a high-level example that you can use to incorporate Par ## Second Paramiko Example: Connect to your Server Using SSH Keys -One of Paramiko’s specific strengths is the correct handling of [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). The introductory example above depended on the use of your limited user account's password. It is more secure, however, to use SSH keys for server authentication. The example file below, provides a report that alerts you of any logins by users that are not included in your list of `expected` users. The Python script relies on Paramiko (notice the `key_based_connect()` function) to use SSHv2 authentication to connect to any of the servers provided in the code's `server_list` list. +One of Paramiko’s specific strengths is the correct handling of [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh). The introductory example above depended on the use of your limited user account's password. It is more secure, however, to use SSH keys for server authentication. The example file below, provides a report that alerts you of any logins by users that are not included in your list of `expected` users. The Python script relies on Paramiko (notice the `key_based_connect()` function) to use SSHv2 authentication to connect to any of the servers provided in the code's `server_list` list. {{< file "key_based_login.py">}} # This is a small tool to report on successful logins diff --git a/docs/guides/development/python/use-scrapy-to-extract-data-from-html-tags/index.md b/docs/guides/development/python/use-scrapy-to-extract-data-from-html-tags/index.md index ec5913def86..4e51e85686e 100644 --- a/docs/guides/development/python/use-scrapy-to-extract-data-from-html-tags/index.md +++ b/docs/guides/development/python/use-scrapy-to-extract-data-from-html-tags/index.md @@ -30,7 +30,7 @@ This guide will provide you with instructions to build a spider which recursivel 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install a Python 3 Environment diff --git a/docs/guides/development/python/using-grpc-for-remote-procedural-calls/index.md b/docs/guides/development/python/using-grpc-for-remote-procedural-calls/index.md index 1624283cb8a..5c4c938ba97 100644 --- a/docs/guides/development/python/using-grpc-for-remote-procedural-calls/index.md +++ b/docs/guides/development/python/using-grpc-for-remote-procedural-calls/index.md @@ -71,7 +71,7 @@ gRPC has many advantages over traditional client-server architectures. gRPC is often compared and contrasted with **Representational State Transfer** (REST). REST also uses a client-server architecture. Both systems are useful for implementing microservices. However, there are major differences between the two technologies. - REST does not use RPCs. In a RESTful system, a client sends a request to a remote **Uniform Resource Identifier** (URI). It later receives a response encoded in XML, HTML, JSON, or another similar format. The request and reply typically use HTTP/HTTPS methods such as `GET` and `POST`. -- All browsers support REST, and it is widely used throughout the internet. gRPC has more limited web capabilities. **gRPC Web** does provide some measure of web support. (gRPC Web is explained in the [next section](/cloud/guides/using-grpc-for-remote-procedural-calls/#grpc-web)). In general, REST is more commonly used for web applications, while gRPC is used inside internal networks. gRPC is also frequently used in embedded systems, facilitating communication between the different components of the device. +- All browsers support REST, and it is widely used throughout the internet. gRPC has more limited web capabilities. **gRPC Web** does provide some measure of web support. (gRPC Web is explained in the [next section](/cloud/guides/using-grpc-for-remote-procedural-calls#grpc-web)). In general, REST is more commonly used for web applications, while gRPC is used inside internal networks. gRPC is also frequently used in embedded systems, facilitating communication between the different components of the device. - gRPC uses HTTP/2 and can take advantage of its inherent client-response communication model. This allows it to transmit requests or responses via a stream. REST uses HTTP version 1.1 and has to handle one request at a time using inefficient short-lived connections. - Performance is better with gRPC compared to REST. It also more efficiently uses bandwidth due to its lightweight design. - gRPC can be quickly translated into the target programming language for the application using the protoc compiler. REST does not have an equivalent feature, although third-party tools can streamline the process somewhat. @@ -111,7 +111,7 @@ This procedure is geared towards Ubuntu users but is generally applicable to all 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ### Install Python** diff --git a/docs/guides/development/python/web-programming-languages/index.md b/docs/guides/development/python/web-programming-languages/index.md index e2c9f11481f..ecbf1c82bb6 100644 --- a/docs/guides/development/python/web-programming-languages/index.md +++ b/docs/guides/development/python/web-programming-languages/index.md @@ -79,15 +79,15 @@ Understanding what you want to do and why you want to do it is a good first step ### JavaScript -[JavaScript](/cloud/guides/development/javascript/) is often seen as part of the HTML page. Other languages in this guide often generate JavaScript based on your application code. So, even when using another language, expect to see JavaScript. One of the most important considerations for choosing JavaScript is that the language is incredibly flexible and it’s also quite forgiving of mistakes. In addition, [JavaScript is standardized across all browsers](https://developer.mozilla.org/en-US/docs/Web/JavaScript) so your code works no matter where you use it. You can also use JavaScript for server-side development, but you need a third-party product like Node.js to do it. Consequently, you need to learn another product in order to use JavaScript as a complete solution when you want to generate dynamic content. +[JavaScript](/cloud/guides/development/javascript) is often seen as part of the HTML page. Other languages in this guide often generate JavaScript based on your application code. So, even when using another language, expect to see JavaScript. One of the most important considerations for choosing JavaScript is that the language is incredibly flexible and it’s also quite forgiving of mistakes. In addition, [JavaScript is standardized across all browsers](https://developer.mozilla.org/en-US/docs/Web/JavaScript) so your code works no matter where you use it. You can also use JavaScript for server-side development, but you need a third-party product like Node.js to do it. Consequently, you need to learn another product in order to use JavaScript as a complete solution when you want to generate dynamic content. ### Java -[Java](/cloud/guides/how-to-install-openjdk-on-ubuntu-20-04/) is seen in all sorts of applications. Once you learn Java, you can create everything from desktop applications to backend code to produce dynamic content for your website. Java is also used for Android development and you see it in Internet of Things (IoT) devices. One of the reasons Java is incredibly popular is that it enjoys vast support in the form of well-maintained libraries. It’s also possible to create multi-threaded applications with Java. If you’re building a large scale website designed to handle millions of users, this is probably the best choice. However, Java comes with a significant learning curve so it’s probably not a good choice as a first language. +[Java](/cloud/guides/how-to-install-openjdk-on-ubuntu-20-04) is seen in all sorts of applications. Once you learn Java, you can create everything from desktop applications to backend code to produce dynamic content for your website. Java is also used for Android development and you see it in Internet of Things (IoT) devices. One of the reasons Java is incredibly popular is that it enjoys vast support in the form of well-maintained libraries. It’s also possible to create multi-threaded applications with Java. If you’re building a large scale website designed to handle millions of users, this is probably the best choice. However, Java comes with a significant learning curve so it’s probably not a good choice as a first language. ### Python -[Python](/cloud/guides/create-a-python-virtualenv-on-ubuntu-18-04/) is not a difficult language to learn and it enjoys strong community support in the form of libraries. In fact, Python is now used by many school systems as an aid to learning how to program. You can use Python for a wide variety of tasks that includes machine learning, statistical analysis, image processing, and computer vision. To use Python for backend web development, you must rely on add-on products such as the Django framework. If you’re creating a website that focuses on statistics, such as a weather forecast generation site, then Python is likely the best choice because so many of the required features are built right in. +[Python](/cloud/guides/create-a-python-virtualenv-on-ubuntu-18-04) is not a difficult language to learn and it enjoys strong community support in the form of libraries. In fact, Python is now used by many school systems as an aid to learning how to program. You can use Python for a wide variety of tasks that includes machine learning, statistical analysis, image processing, and computer vision. To use Python for backend web development, you must rely on add-on products such as the Django framework. If you’re creating a website that focuses on statistics, such as a weather forecast generation site, then Python is likely the best choice because so many of the required features are built right in. ### Ruby @@ -103,7 +103,7 @@ Scala is an offshoot of Java that supports [functional programming techniques](h ### Angular -[Angular](/cloud/guides/angular-tutorial-for-beginners/) is based on TypeScript and provides a flexible, component-based development environment. One of the advantages of using Angular is that you can turn static HTML documents into dynamic content. In addition, Angular tracks dependencies between components so you don’t find yourself with a dead application due to a seemingly small change in one component. [This language is a work in progress](https://www.altexsoft.com/blog/engineering/the-good-and-the-bad-of-angular-development/); Google continually updates its functionality to provide more of the features that developers need to create great looking websites. The downside of using Angular is that it can produce sluggish webpages and it also has a steep learning curve. +[Angular](/cloud/guides/angular-tutorial-for-beginners) is based on TypeScript and provides a flexible, component-based development environment. One of the advantages of using Angular is that you can turn static HTML documents into dynamic content. In addition, Angular tracks dependencies between components so you don’t find yourself with a dead application due to a seemingly small change in one component. [This language is a work in progress](https://www.altexsoft.com/blog/engineering/the-good-and-the-bad-of-angular-development/); Google continually updates its functionality to provide more of the features that developers need to create great looking websites. The downside of using Angular is that it can produce sluggish webpages and it also has a steep learning curve. ### Swift @@ -111,7 +111,7 @@ Swift is a very specific programming language because you use it exclusively for ### Kotlin -[Kotlin](/cloud/guides/kotlin-tutorial-learn-the-basics/) is a general purpose language, meaning it can perform a wide variety of tasks. Its claim to fame is Android development. You can use it for either client-side or server-side web development. In addition, it works well for mobile development. Many developers prefer Kotlin to Java because it provides type safety and you can create an application with fewer lines of code. In addition, Kotlin’s learning curve is smaller than Java. Kotlin is one hundred percent compatible with Java, so you can use all of the Java libraries. This is the language to use if you need the potential of Java, but don’t want to delve into all of the Java coding details. +[Kotlin](/cloud/guides/kotlin-tutorial-learn-the-basics) is a general purpose language, meaning it can perform a wide variety of tasks. Its claim to fame is Android development. You can use it for either client-side or server-side web development. In addition, it works well for mobile development. Many developers prefer Kotlin to Java because it provides type safety and you can create an application with fewer lines of code. In addition, Kotlin’s learning curve is smaller than Java. Kotlin is one hundred percent compatible with Java, so you can use all of the Java libraries. This is the language to use if you need the potential of Java, but don’t want to delve into all of the Java coding details. ## Conclusion diff --git a/docs/guides/development/r/how-to-deploy-rshiny-server-on-ubuntu-and-debian/index.md b/docs/guides/development/r/how-to-deploy-rshiny-server-on-ubuntu-and-debian/index.md index d03c2f5d922..444ccf49c42 100644 --- a/docs/guides/development/r/how-to-deploy-rshiny-server-on-ubuntu-and-debian/index.md +++ b/docs/guides/development/r/how-to-deploy-rshiny-server-on-ubuntu-and-debian/index.md @@ -26,7 +26,7 @@ aliases: [] ## Before You Begin -If you do not have RStudio installed on your local computer, follow our [How to Deploy RStudio Using an NGINX Reverse Proxy](/cloud/guides/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/) guide to set up a remote workstation on a Linode. +If you do not have RStudio installed on your local computer, follow our [How to Deploy RStudio Using an NGINX Reverse Proxy](/cloud/guides/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy) guide to set up a remote workstation on a Linode. ## Build a Shiny Test App diff --git a/docs/guides/development/r/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/index.md b/docs/guides/development/r/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/index.md index a67382ddc68..c754d6490df 100644 --- a/docs/guides/development/r/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/index.md +++ b/docs/guides/development/r/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/index.md @@ -23,7 +23,7 @@ aliases: [] ## Before You Begin -This guide assumes an R installation version of R 3.0.1+ and will show how to install RStudio Server 1.1. See our guide on [installing R on Ubuntu and Debian](/cloud/guides/how-to-install-r-on-ubuntu-and-debian/) for steps on installing the latest version of R. +This guide assumes an R installation version of R 3.0.1+ and will show how to install RStudio Server 1.1. See our guide on [installing R on Ubuntu and Debian](/cloud/guides/how-to-install-r-on-ubuntu-and-debian) for steps on installing the latest version of R. The steps in this guide are for Ubuntu 16.04 and should be adapted to your specific distribution installation. diff --git a/docs/guides/development/react/create-react-app-with-appwrite/index.md b/docs/guides/development/react/create-react-app-with-appwrite/index.md index 627799e97d4..d482fe38c2b 100644 --- a/docs/guides/development/react/create-react-app-with-appwrite/index.md +++ b/docs/guides/development/react/create-react-app-with-appwrite/index.md @@ -28,7 +28,7 @@ This tutorial gets you started making your own application using Appwrite and Re 1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guides. {{< note >}} - To automatically install Appwrite on a Compute Instance, consider deploying [Appwrite through the Linode Marketplace](/cloud/marketplace-docs/guides/appwrite/). + To automatically install Appwrite on a Compute Instance, consider deploying [Appwrite through the Linode Marketplace](/cloud/marketplace-docs/guides/appwrite). {{< /note >}} 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. @@ -43,7 +43,7 @@ This tutorial gets you started making your own application using Appwrite and Re sudo dnf upgrade ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Create an Appwrite Backend @@ -56,7 +56,7 @@ The goal of these steps is to give you a fully operational Appwrite backend serv First, you need to install your own self-hosted Appwrite instance. You also need to do some specific set up to prepare Appwrite to support your React application. The next series of steps show you how. -1. Follow the steps in our guide [Getting Started with Appwrite as a Backend Server](/cloud/guides/getting-started-appwrite/). This shows you how to install and configure your own Appwrite instance. +1. Follow the steps in our guide [Getting Started with Appwrite as a Backend Server](/cloud/guides/getting-started-appwrite). This shows you how to install and configure your own Appwrite instance. 1. Make sure that the Docker services are started and enabled. Enabling the services ensures that they initiate at system startup: @@ -132,7 +132,7 @@ The example application built here shows two lists, one of films marked "To Watc This guide assumes you are creating a fresh React application to interact with the Appwrite backend. The next steps show you how to initialize and perform the necessary setup for putting together the new React application. -1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). This example uses NPM to bootstrap a React project, to install the Appwrite web SDK, and to run the React frontend. +1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux). This example uses NPM to bootstrap a React project, to install the Appwrite web SDK, and to run the React frontend. 1. Create the React project. This example uses `create-react-app` to bootstrap a new React project and names the new project `example-app`. The command results in an `example-app` directory being created in the current directory. @@ -419,9 +419,9 @@ You are now about ready to run the React application. First, you need to open port `3000` on your server's firewall. This is the default port for React to serve your frontend on, and it is the port this guide uses to get you started. -- **Debian / Ubuntu**: Refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). +- **Debian / Ubuntu**: Refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). -- **AlmaLinux / CentOS Stream / Fedora / Rocky Linux**: Refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) +- **AlmaLinux / CentOS Stream / Fedora / Rocky Linux**: Refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos) Once you have done that, you can start up the React server with the following command: diff --git a/docs/guides/development/react/deploy-a-react-app-on-linode/index.md b/docs/guides/development/react/deploy-a-react-app-on-linode/index.md index ceb99d98629..dbc139d773d 100644 --- a/docs/guides/development/react/deploy-a-react-app-on-linode/index.md +++ b/docs/guides/development/react/deploy-a-react-app-on-linode/index.md @@ -32,11 +32,11 @@ Since a basic React app is static (it consists of compiled HTML, CSS, and JavaSc 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. You will need a [web server](/cloud/guides/web-servers/) configured to host a website on your Linode. +1. You will need a [web server](/cloud/guides/web-servers) configured to host a website on your Linode. 1. This guide assumes you already have a React app you'd like to deploy. If you don't have one, you can bootstrap a project quickly using [create-react-app](https://github.com/facebookincubator/create-react-app). -1. Make sure [Git](/cloud/guides/how-to-configure-git/) is installed on your system: +1. Make sure [Git](/cloud/guides/how-to-configure-git) is installed on your system: sudo apt install git @@ -137,4 +137,4 @@ echo "Deployment complete" Deployment can be a complex topic and there are many factors to consider when working with production systems. This guide is meant to be a simple example for personal projects, and isn't necessarily suitable on its own for a large scale production application. -More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. +More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu) to get started. diff --git a/docs/guides/development/react/how-to-deploy-a-react-app-on-centos-8/index.md b/docs/guides/development/react/how-to-deploy-a-react-app-on-centos-8/index.md index b72f5354484..6c7d2493eab 100644 --- a/docs/guides/development/react/how-to-deploy-a-react-app-on-centos-8/index.md +++ b/docs/guides/development/react/how-to-deploy-a-react-app-on-centos-8/index.md @@ -30,7 +30,7 @@ aliases: [] [React](https://reactjs.org/) is a popular JavaScript library for building user interfaces. While React is often used as a frontend for more complex applications, it's also powerful enough to be used for full client-side applications on its own. -Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/cloud/guides/introduction-to-rsync/). This guide shows how to set up your CentOS 8 Linode and local machine so that you can easily deploy your app whenever changes are made. +Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/cloud/guides/introduction-to-rsync). This guide shows how to set up your CentOS 8 Linode and local machine so that you can easily deploy your app whenever changes are made. ## Before You Begin @@ -38,7 +38,7 @@ Since a basic React app is static (it consists of compiled HTML, CSS, and JavaSc 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install and configure a [web server](/cloud/guides/web-servers/) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8/) guide or the [Installing NGINX on CentOS 8](/cloud/guides/how-to-install-nginx-centos-8/) guide. +1. Install and configure a [web server](/cloud/guides/web-servers) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8) guide or the [Installing NGINX on CentOS 8](/cloud/guides/how-to-install-nginx-centos-8) guide. 1. This guide assumes you already have a React app you'd like to deploy. If you don't have one, you can quickly bootstrap a project following the steps in the [Create an Example React App](#create-an-example-react-app) section of this guide. This step should be completed on your local system. @@ -46,7 +46,7 @@ Since a basic React app is static (it consists of compiled HTML, CSS, and JavaSc sudo yum install rsync -1. Install [Git](/cloud/guides/how-to-configure-git/) on your local computer if it is not already installed. +1. Install [Git](/cloud/guides/how-to-configure-git) on your local computer if it is not already installed. sudo yum install git @@ -173,7 +173,7 @@ echo "Deployment complete" This script will check out the `master` branch of your project on Git, build the app using `npm run build`, and then sync the build files to the remote Linode using Rsync. If your React app was not built with `create-react-app`, the build command may be different and the built files may be stored in a different directory (such as `dist`). Modify the script accordingly. {{< note respectIndent=false >}} -If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/cloud/guides/how-to-configure-git/#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. +If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/cloud/guides/how-to-configure-git#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. {{< /note >}} 1. Make the script executable: @@ -194,4 +194,4 @@ If your React app's directory is not initialized as a Git repository, the comman Deployment can be a complex topic and there are many factors to consider when working with production systems. This guide is meant to be a simple example for personal projects, and isn't necessarily suitable on its own for a large scale production application. -More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. +More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu) to get started. diff --git a/docs/guides/development/react/how-to-deploy-a-react-app-on-debian-10/index.md b/docs/guides/development/react/how-to-deploy-a-react-app-on-debian-10/index.md index 0684e3c4cd5..671b298a139 100644 --- a/docs/guides/development/react/how-to-deploy-a-react-app-on-debian-10/index.md +++ b/docs/guides/development/react/how-to-deploy-a-react-app-on-debian-10/index.md @@ -28,7 +28,7 @@ aliases: [] [React](https://reactjs.org/) is a popular JavaScript library for building user interfaces. While React is often used as a frontend for more complex applications, it's also powerful enough to be used for full client-side applications on its own. -Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/cloud/guides/introduction-to-rsync/). This guide shows how to set up your Debian 10 Linode and local machine so that you can easily deploy your app whenever changes are made. +Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/cloud/guides/introduction-to-rsync). This guide shows how to set up your Debian 10 Linode and local machine so that you can easily deploy your app whenever changes are made. ## Before You Begin @@ -36,7 +36,7 @@ Since a basic React app is static (it consists of compiled HTML, CSS, and JavaSc 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install and configure a [web server](/cloud/guides/web-servers/) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on Debian 10](/cloud/guides/how-to-install-apache-web-server-debian-10/) guide or the [Installing NGINX on Debian 10](/cloud/guides/how-to-install-nginx-debian-10/) guide. +1. Install and configure a [web server](/cloud/guides/web-servers) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on Debian 10](/cloud/guides/how-to-install-apache-web-server-debian-10) guide or the [Installing NGINX on Debian 10](/cloud/guides/how-to-install-nginx-debian-10) guide. 1. This guide assumes you already have a React app you'd like to deploy. If you don't have one, you can bootstrap a project quickly following the steps in the already have a React app you'd like to deploy. If you don't have one, you can quickly bootstrap a project following the steps in the [Create an Example React App](#create-an-example-react-app) section of this guide. This step should be completed on your local system. @@ -44,7 +44,7 @@ Since a basic React app is static (it consists of compiled HTML, CSS, and JavaSc sudo apt install rsync -1. Install [Git](/cloud/guides/how-to-configure-git/) on your local computer if it is not already installed. +1. Install [Git](/cloud/guides/how-to-configure-git) on your local computer if it is not already installed. sudo apt install git @@ -173,7 +173,7 @@ echo "Deployment complete" This script will check out the `master` branch of your project on Git, build the app using `npm run build`, and then sync the build files to the remote Linode using Rsync. If your React app was not built with `create-react-app`, the build command may be different and the built files may be stored in a different directory (such as `dist`). Modify the script accordingly. {{< note respectIndent=false >}} -If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/cloud/guides/how-to-configure-git/#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. +If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/cloud/guides/how-to-configure-git#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. {{< /note >}} 1. Make the script executable: @@ -194,4 +194,4 @@ If your React app's directory is not initialized as a Git repository, the comman Deployment can be a complex topic and there are many factors to consider when working with production systems. This guide is meant to be a simple example for personal projects, and isn't necessarily suitable on its own for a large scale production application. -More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. +More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu) to get started. diff --git a/docs/guides/development/react/how-to-deploy-a-react-app-on-ubuntu-18-04/index.md b/docs/guides/development/react/how-to-deploy-a-react-app-on-ubuntu-18-04/index.md index d2f35100afb..d5aa8601938 100644 --- a/docs/guides/development/react/how-to-deploy-a-react-app-on-ubuntu-18-04/index.md +++ b/docs/guides/development/react/how-to-deploy-a-react-app-on-ubuntu-18-04/index.md @@ -28,7 +28,7 @@ aliases: [] [React](https://reactjs.org/) is a popular JavaScript library for building user interfaces. While React is often used as a frontend for more complex applications, it's also powerful enough to be used for full client-side applications on its own. -Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/cloud/guides/introduction-to-rsync/). This guide shows how to set up your Ubuntu 18.04 Linode and local machine so that you can easily deploy your app whenever changes are made. +Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/cloud/guides/introduction-to-rsync). This guide shows how to set up your Ubuntu 18.04 Linode and local machine so that you can easily deploy your app whenever changes are made. ## Before You Begin @@ -36,11 +36,11 @@ Since a basic React app is static (it consists of compiled HTML, CSS, and JavaSc 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install and configure a [web server](/cloud/guides/web-servers/) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) guide or the [Installing NGINX on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-nginx-ubuntu-18-04/) guide. +1. Install and configure a [web server](/cloud/guides/web-servers) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04) guide or the [Installing NGINX on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-nginx-ubuntu-18-04) guide. 1. This guide assumes you already have a React app you'd like to deploy. If you don't have one, you can quickly bootstrap a project following the steps in the [Create an Example React App](#create-an-example-react-app) section of this guide. This step should be completed on your local system. -1. Install [Git](/cloud/guides/how-to-configure-git/) on your local computer if it is not already installed. +1. Install [Git](/cloud/guides/how-to-configure-git) on your local computer if it is not already installed. sudo apt install git @@ -169,7 +169,7 @@ echo "Deployment complete" This script will check out the `master` branch of your project on Git, build the app using `npm run build`, and then sync the build files to the remote Linode using Rsync. If your React app was not built with `create-react-app`, the build command may be different and the built files may be stored in a different directory (such as `dist`). Modify the script accordingly. {{< note respectIndent=false >}} -If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/cloud/guides/how-to-configure-git/#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. +If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/cloud/guides/how-to-configure-git#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. {{< /note >}} 1. Make the script executable: @@ -190,4 +190,4 @@ If your React app's directory is not initialized as a Git repository, the comman Deployment can be a complex topic and there are many factors to consider when working with production systems. This guide is meant to be a simple example for personal projects, and isn't necessarily suitable on its own for a large scale production application. -More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. +More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu) to get started. diff --git a/docs/guides/development/ror/ruby-on-rails-apache-debian-8/index.md b/docs/guides/development/ror/ruby-on-rails-apache-debian-8/index.md index 3d2bbba0e01..ce82bf7ae0b 100644 --- a/docs/guides/development/ror/ruby-on-rails-apache-debian-8/index.md +++ b/docs/guides/development/ror/ruby-on-rails-apache-debian-8/index.md @@ -30,7 +30,7 @@ Ruby on Rails is a rapid development web framework that allows web designers and ![Ruby on Rails with Apache on Debian 8](ruby_on_rails_with_apache_debian_8.png "Ruby on Rails with Apache on Debian 8") {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the sudo command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the sudo command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -71,7 +71,7 @@ gem install rails --version 3.0.4 This will install the appropriate versions of all required packages including ruby, rack, and other dependencies needed for basic Rails development. -4. (Optional) Install additional dependencies for your application, such as [MySQL](/cloud/guides/how-to-install-mysql-on-debian-8/) support: +4. (Optional) Install additional dependencies for your application, such as [MySQL](/cloud/guides/how-to-install-mysql-on-debian-8) support: sudo apt-get install mysql-server libmysqlclient-dev mysql-client mysql-common sudo gem install mysql @@ -96,7 +96,7 @@ echo "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/gam ## Configuring Apache to Work with Passenger -If your Apache virtual hosts file(s) mimics the ones create in the [Apache Web Server on Debian 8](/cloud/guides/apache-web-server-debian-8/) guide, you will have a `` block containing a `DocumentRoot` value similar to `/var/www/html/example.com/public_html/`. +If your Apache virtual hosts file(s) mimics the ones create in the [Apache Web Server on Debian 8](/cloud/guides/apache-web-server-debian-8) guide, you will have a `` block containing a `DocumentRoot` value similar to `/var/www/html/example.com/public_html/`. 1. Open the file in a text editor, and edit the `DocumentRoot` to reflect the public directory of your application: diff --git a/docs/guides/development/ror/ruby-on-rails-nginx-debian/index.md b/docs/guides/development/ror/ruby-on-rails-nginx-debian/index.md index f1831b07220..792b0b9cb3f 100644 --- a/docs/guides/development/ror/ruby-on-rails-nginx-debian/index.md +++ b/docs/guides/development/ror/ruby-on-rails-nginx-debian/index.md @@ -18,7 +18,7 @@ external_resources: - '[Ruby on Rails Documentation](http://rubyonrails.org/documentation)' - '[NGINX Home Page](http://nginx.org/)' - '[NGINX Documentation](http://nginx.org/en/docs/)' - - '[NGINX Configuration](/cloud/guides/how-to-configure-nginx/)' + - '[NGINX Configuration](/cloud/guides/how-to-configure-nginx)' audiences: ["beginner"] concentrations: ["Web Applications"] languages: ["ruby"] @@ -35,7 +35,7 @@ deprecated: true Ruby on Rails is a web framework that allows web designers and developers to implement dynamic, fully featured web applications. When deploying a Rails app in production, developers can choose from several popular app servers including Puma, Unicorn, and Passenger. This guide will use Passenger, because of its convenient integration with NGINX. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -126,7 +126,7 @@ PID VMSize Private Name ## Install MySQL Support (Optional) -If the application deployed uses MySQL, install the database server by following our [MySQL on Debian 8](/cloud/guides/how-to-install-mysql-on-debian-8/) guide. Once it's installed and configured properly, issue the following command: +If the application deployed uses MySQL, install the database server by following our [MySQL on Debian 8](/cloud/guides/how-to-install-mysql-on-debian-8) guide. Once it's installed and configured properly, issue the following command: sudo apt-get install libmysqlclient-dev diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-6-squeeze/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-6-squeeze/index.md index 6cadd846f02..592d00d9e22 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-6-squeeze/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-6-squeeze/index.md @@ -13,8 +13,8 @@ aliases: [] external_resources: - '[Ruby on Rails Homepage](http://rubyonrails.org/)' - '[mod\_rails Documentation for Apache Servers](http://www.modrails.com/documentation/Users%20guide%20Apache.html)' -- '[Install the Apache HTTP Server on Debian 6 (Squeeze)](/cloud/guides/apache-2-web-server-on-debian-6-squeeze/)' -- '[Install the MySQL Database System on Debian 6 (Squeeze)](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze/)' +- '[Install the Apache HTTP Server on Debian 6 (Squeeze)](/cloud/guides/apache-2-web-server-on-debian-6-squeeze)' +- '[Install the MySQL Database System on Debian 6 (Squeeze)](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze)' relations: platform: key: ruby-on-rails-apache @@ -72,7 +72,7 @@ After issuing this command, attempt to run `rails` again. If it works, then you Alternatively, you can amend your global \$PATH by adding it to your "/etc/environment" file. -To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze/) in Rails, issue the following commands: +To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze) in Rails, issue the following commands: apt-get install mysql-server libmysqlclient16 libmysqlclient-dev mysql-client mysql-common gem install mysql @@ -81,7 +81,7 @@ Additionally, the application you deploy will likely have additional dependencie ## Configuring Apache to Work with Passenger -If you configured Apache virtual hosting as outlined in the [Debian 6 (Squeeze) Apache guide](/cloud/guides/apache-2-web-server-on-debian-6-squeeze/), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +If you configured Apache virtual hosting as outlined in the [Debian 6 (Squeeze) Apache guide](/cloud/guides/apache-2-web-server-on-debian-6-squeeze), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-7-wheezy/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-7-wheezy/index.md index aed5bb4d7d7..98cec49d9f2 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-7-wheezy/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-7-wheezy/index.md @@ -74,7 +74,7 @@ After issuing this command, attempt to run `rails` again. If it works, then you Alternatively, you can amend your global \$PATH by adding it to your "/etc/environment" file. -To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze/) in Rails, issue the following commands: +To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze) in Rails, issue the following commands: apt-get install mysql-server libmysqlclient16 libmysqlclient-dev mysql-client mysql-common gem install mysql @@ -83,7 +83,7 @@ Additionally, the application you deploy will likely have additional dependencie ## Configuring Apache to Work with Passenger -If you configured Apache virtual hosting as outlined in the [Debian 6 (Squeeze) Apache guide](/cloud/guides/apache-2-web-server-on-debian-6-squeeze/), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +If you configured Apache virtual hosting as outlined in the [Debian 6 (Squeeze) Apache guide](/cloud/guides/apache-2-web-server-on-debian-6-squeeze), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-04-lucid/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-04-lucid/index.md index 95bd1984468..7fffd511e5c 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-04-lucid/index.md @@ -13,8 +13,8 @@ aliases: [] external_resources: - '[Ruby on Rails Homepage](http://rubyonrails.org/)' - '[mod\_rails Documentation for Apache Servers](http://www.modrails.com/documentation/Users%20guide%20Apache.html)' - - '[Install the Apache HTTP Server on Ubuntu 10.04 (Lucid)](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/)' - - '[Install the MySQL Database System on Ubuntu 10.04 (Lucid)](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/)' + - '[Install the Apache HTTP Server on Ubuntu 10.04 (Lucid)](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid)' + - '[Install the MySQL Database System on Ubuntu 10.04 (Lucid)](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid)' relations: platform: key: ruby-on-rails-apache @@ -70,7 +70,7 @@ If you are unsure of the version you require, you can install the latest version gem install rails -This should install the appropriate versions of all required packages including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/) in Rails, issue the following commands: +This should install the appropriate versions of all required packages including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid) in Rails, issue the following commands: apt-get install mysql-server libmysqlclient16 libmysqlclient16-dev mysql-client mysql-common gem install mysql @@ -79,7 +79,7 @@ Additionally, the application you deploy will likely have additional dependencie ## Configuring Apache to Work with Passenger -If you configured Apache virtual hosting as outlined in the [Ubuntu 10.04 (Lucid) Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +If you configured Apache virtual hosting as outlined in the [Ubuntu 10.04 (Lucid) Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-10-maverick/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-10-maverick/index.md index 905fc956cef..e2bb61813a0 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-10-maverick/index.md @@ -13,8 +13,8 @@ aliases: [] external_resources: - '[Ruby on Rails Homepage](http://rubyonrails.org/)' - '[mod\_rails Documentation for Apache Servers](http://www.modrails.com/documentation/Users%20guide%20Apache.html)' - - '[Install the Apache HTTP Server on Ubuntu 10.10 (Maverick)](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/)' - - '[Install the MySQL Database System on Ubuntu 10.10 (Maverick)](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick/)' + - '[Install the Apache HTTP Server on Ubuntu 10.10 (Maverick)](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04)' + - '[Install the MySQL Database System on Ubuntu 10.10 (Maverick)](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick)' relations: platform: key: ruby-on-rails-apache @@ -60,7 +60,7 @@ If you are unsure of the version you require, you can install the latest version gem install rails -This should install the appropriate versions of all required packages including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick/) in Rails, issue the following commands: +This should install the appropriate versions of all required packages including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick) in Rails, issue the following commands: apt-get install mysql-server libmysqlclient16 libmysqlclient16-dev mysql-client mysql-common gem install mysql @@ -69,7 +69,7 @@ Additionally, the application you deploy will likely have additional dependencie ## Configuring Apache to Work with Passenger -If you configured Apache virtual hosting as outlined in the [Ubuntu 10.10 (Maverick) Apache guide](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +If you configured Apache virtual hosting as outlined in the [Ubuntu 10.10 (Maverick) Apache guide](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-04-jaunty/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-04-jaunty/index.md index 8b3e6f10ac4..1fa85927214 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-04-jaunty/index.md @@ -28,7 +28,7 @@ This guide takes us from a fresh install of Ubuntu 9.04 (Jaunty), to a running R Our goal is to provide instructions that are accessible and will have you up and running your with your Rails app as quickly as possible. We assume you've deployed and updated your Ubuntu 9.04 Jaunty Linode according to our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -In addition to updating your system before beginning this guide, we recommend you review other guides in the Linode Docs so that you have a functioning installation of the [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/) and a working installation of the [MySQL database server](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-04-jaunty/). With those prerequisites out of the way, we can get started with Rails. We will assume that you're logged in to your Linode via SSH and have a root prompt for the purpose of this tutorial. +In addition to updating your system before beginning this guide, we recommend you review other guides in the Linode Docs so that you have a functioning installation of the [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty) and a working installation of the [MySQL database server](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-04-jaunty). With those prerequisites out of the way, we can get started with Rails. We will assume that you're logged in to your Linode via SSH and have a root prompt for the purpose of this tutorial. ## Installing Passenger and Dependencies @@ -80,7 +80,7 @@ The output of this should look like this: /etc/apache2/mods-enabled/passenger.conf /etc/apache2/mods-enabled/passenger.load -These files load and enable the Passenger module for use in your sites. If you configured Apache virtual hosting as outlined in the [Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +These files load and enable the Passenger module for use in your sites. If you configured Apache virtual hosting as outlined in the [Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ @@ -108,9 +108,9 @@ You now have a functioning environment for your Ruby on Rails application. ## Deploying Multiple Rails Apps -If you need to install multiple Rails applications the easiest way to accomplish this is by installing each application in its own virtual host. Create multiple virtual hosts, as described in [Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/) and link the `public/` directory of your application to the DocumentRoot (e.g. `public_html/`) of the virtual host, as described above. +If you need to install multiple Rails applications the easiest way to accomplish this is by installing each application in its own virtual host. Create multiple virtual hosts, as described in [Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty) and link the `public/` directory of your application to the DocumentRoot (e.g. `public_html/`) of the virtual host, as described above. -This presents a number of advantages. The Apache mpm\_itk module (described in the [Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/)) allows you to isolate the permissions of each running application from Apache and each other. Furthermore, virtual hosting allows you to separate all log files for each host (and thus application) from the other applications and sites on your server. +This presents a number of advantages. The Apache mpm\_itk module (described in the [Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty)) allows you to isolate the permissions of each running application from Apache and each other. Furthermore, virtual hosting allows you to separate all log files for each host (and thus application) from the other applications and sites on your server. Passenger also supports deploying more than one Rails application within a single virtual host configuration. By adding `RailsBaseURI` options with the path to your Application within the virtual host, you can deploy multiple applications within one site. For example: @@ -135,5 +135,5 @@ In this setup the directories for each Rails application are located in the `/sr If you're new to Linux systems administration or Debian/Ubuntu based systems, we've collected some additional tips which you might find helpful. -- Consider reading the Debian/Ubuntu section of our [package management guide](/cloud/guides/linux-package-management-overview/) to learn how to get the most out of the `apt` and `dpkg` tools. +- Consider reading the Debian/Ubuntu section of our [package management guide](/cloud/guides/linux-package-management-overview) to learn how to get the most out of the `apt` and `dpkg` tools. - Note that if you want to use the [Git Version Control System](http://www.git-scm.com/), the package name in Ubuntu is "git-core", not "git". diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-10-karmic/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-10-karmic/index.md index 6869d2141cb..afff3349779 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-10-karmic/index.md @@ -13,8 +13,8 @@ aliases: [] external_resources: - '[Ruby on Rails Homepage](http://rubyonrails.org/)' - '[mod\_rails Documentation for Apache Servers](http://www.modrails.com/documentation/Users%20guide%20Apache.html)' - - '[Install the Apache HTTP Server on Ubuntu 9.10 (Karmic)](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/)' - - '[Install the MySQL Database System on Ubuntu 9.10 (Karmic)](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/)' + - '[Install the Apache HTTP Server on Ubuntu 9.10 (Karmic)](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic)' + - '[Install the MySQL Database System on Ubuntu 9.10 (Karmic)](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic)' relations: platform: key: ruby-on-rails-apache @@ -77,7 +77,7 @@ If you are unsure of the version you require, you can install the default latest gem install rails -This should install the appropriate versions of all required packages, including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/) in Rails, issue the following commands: +This should install the appropriate versions of all required packages, including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic) in Rails, issue the following commands: apt-get install mysql-server libmysqlclient15off libmysqlclient15-dev mysql-client mysql-common gem install mysql @@ -86,7 +86,7 @@ Additionally, the application you deploy will likely have additional dependencie ## Configuring Apache to Work with Passenger -If you configured Apache virtual hosting as outlined in the [Ubuntu 9.10 (Karmic) Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +If you configured Apache virtual hosting as outlined in the [Ubuntu 9.10 (Karmic) Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-centos-5/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-centos-5/index.md index 6946fb3e445..470664ce894 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-centos-5/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-centos-5/index.md @@ -128,7 +128,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on CentOS 5 guide](/cloud/guides/use-mysql-relational-databases-on-centos-5/). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on CentOS 5 guide](/cloud/guides/use-mysql-relational-databases-on-centos-5). Once it's installed and configured properly, issue the following commands: yum install mysql-devel gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -141,7 +141,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-5-lenny/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-5-lenny/index.md index b3b1dbb97dd..de8f2224267 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-5-lenny/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-5-lenny/index.md @@ -120,7 +120,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Debian 5 (Lenny) guide](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Debian 5 (Lenny) guide](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -133,7 +133,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-7-wheezy/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-7-wheezy/index.md index b9d866b2e9d..8dc155945e0 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-7-wheezy/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-7-wheezy/index.md @@ -15,7 +15,7 @@ external_resources: - '[Ruby on Rails Documentation](http://rubyonrails.org/documentation)' - '[Nginx Home Page](http://nginx.org/)' - '[Nginx Documentation](http://nginx.org/en/docs/)' - - '[Nginx Configuration](/cloud/guides/how-to-configure-nginx/)' + - '[Nginx Configuration](/cloud/guides/how-to-configure-nginx)' audiences: ["beginner"] concentrations: ["Web Applications"] languages: ["ruby"] @@ -107,6 +107,6 @@ The configuration file for Nginx is located at `/etc/nginx/nginx.conf`. This is ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Debian 7 (Wheezy) guide](/cloud/guides/how-to-install-mysql-on-debian-7/). Once it's installed and configured properly, issue the following command: +If your application uses MySQL, install the database server by following our [MySQL on Debian 7 (Wheezy) guide](/cloud/guides/how-to-install-mysql-on-debian-7). Once it's installed and configured properly, issue the following command: apt-get install libmysqlclient-dev libmysql-ruby diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-04-lucid/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-04-lucid/index.md index 38f15dac536..03a298962ba 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-04-lucid/index.md @@ -115,7 +115,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 10.04 (Lucid) guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 10.04 (Lucid) guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -128,7 +128,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-10-maverick/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-10-maverick/index.md index edd4202eb2c..8e43a935a2b 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-10-maverick/index.md @@ -102,7 +102,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 10.10 (Maverick) guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick/). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 10.10 (Maverick) guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -115,7 +115,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-12-04-precise/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-12-04-precise/index.md index a9dcdbce142..18061418137 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-12-04-precise/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-12-04-precise/index.md @@ -15,7 +15,7 @@ external_resources: - '[Ruby on Rails Documentation](http://rubyonrails.org/documentation)' - '[Nginx Home Page](http://nginx.org/)' - '[Nginx Documentation](http://nginx.org/en/docs/)' - - '[Nginx Configuration](/cloud/guides/how-to-configure-nginx/)' + - '[Nginx Configuration](/cloud/guides/how-to-configure-nginx)' relations: platform: key: ruby-on-rails-nginx @@ -27,7 +27,7 @@ deprecated: true [Ruby on Rails](http://rubyonrails.org/) is a rapid development web framework that allows web designers and developers to implement dynamic fully featured web applications. This guide describes the required process for deploying Ruby on Rails with [Phusion Passenger](https://www.phusionpassenger.com/) and the [Nginx](https://www.nginx.com/) web server on Debian 8. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -110,6 +110,6 @@ passenger_ruby /usr/bin/ruby; ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 12.04 (Precise) guide](/cloud/guides/deploy-mysql-relational-databases-on-ubuntu-12-04-precise-pangolin/). Once it's installed and configured properly, issue the following command: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 12.04 (Precise) guide](/cloud/guides/deploy-mysql-relational-databases-on-ubuntu-12-04-precise-pangolin). Once it's installed and configured properly, issue the following command: sudo apt-get install libmysqlclient-dev libmysql-ruby diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-8-04-hardy/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-8-04-hardy/index.md index afbdce0c664..bfa4a88e74b 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-8-04-hardy/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-8-04-hardy/index.md @@ -120,7 +120,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 8.04 LTS (Hardy) guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-8-04-hardy/). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 8.04 LTS (Hardy) guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-8-04-hardy). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -133,7 +133,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-04-jaunty/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-04-jaunty/index.md index 93b257139cb..7359833263b 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-04-jaunty/index.md @@ -107,7 +107,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 9.04 (Jaunty) guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-04-jaunty/). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 9.04 (Jaunty) guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-04-jaunty). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -120,7 +120,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic/index.md index 190e33eb871..171cee7d6f0 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic/index.md @@ -114,7 +114,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 9.10 (Karmic) guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 9.10 (Karmic) guide](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -127,7 +127,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-14-04/index.md b/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-14-04/index.md index c222bf4a86a..a7a47e6e26c 100644 --- a/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-14-04/index.md +++ b/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-14-04/index.md @@ -35,7 +35,7 @@ Unicorn is an HTTP server, just like Passenger or Puma. Since Unicorn cannot be Before starting this guide, make sure that you have read through and completed our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Before you install any package, ensure that your hostname is correct: diff --git a/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-18-04/index.md b/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-18-04/index.md index ca6ca751f35..9ab0f45d7ba 100644 --- a/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-18-04/index.md +++ b/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-18-04/index.md @@ -32,7 +32,7 @@ Unicorn is an HTTP server, just like Passenger or Puma. Since Unicorn cannot be Before starting this guide, make sure that you have read through and completed our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} - Before you install any package, ensure that your hostname is correct: diff --git a/docs/guides/development/rust/build-a-website-using-rust-and-the-rocket-web-framework/index.md b/docs/guides/development/rust/build-a-website-using-rust-and-the-rocket-web-framework/index.md index 637e86929ed..1d922eac4eb 100644 --- a/docs/guides/development/rust/build-a-website-using-rust-and-the-rocket-web-framework/index.md +++ b/docs/guides/development/rust/build-a-website-using-rust-and-the-rocket-web-framework/index.md @@ -36,7 +36,7 @@ Beyond that, Rocket emphasizes an easy and minimalistic path to putting together 1. Throughout, this guide uses `example-app` as the name of the Rocket application. Replace it with your preferred application name. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Rust @@ -96,7 +96,7 @@ In this section, you complete the following steps: Rocket serves the application on localhost port `8000`. To visit the application remotely, you can use an SSH tunnel: - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with `8000`. + - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) guide, replacing the example port number there with `8000`. - On macOS or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address: @@ -117,7 +117,7 @@ In this section, you complete the following steps: Unless noted otherwise, all subsequent commands in this guide assume you are still in the application directory. -1. Open the `Cargo.toml` file, and add Rocket as a dependency for the project. Use the version number for the latest version of Rocket. Refer to the [Example Applications](/cloud/guides/build-a-website-using-rust-and-the-rocket-web-framework/#example-applications) section above for how to identify the latest Rocket release. +1. Open the `Cargo.toml` file, and add Rocket as a dependency for the project. Use the version number for the latest version of Rocket. Refer to the [Example Applications](/cloud/guides/build-a-website-using-rust-and-the-rocket-web-framework#example-applications) section above for how to identify the latest Rocket release. {{< file "~/example-app/Cargo.toml" >}} # [...] @@ -151,7 +151,7 @@ Rocket can easily be set up to provide web service APIs based on the above examp Pairing Rocket with a template engine like [Handlebars](https://handlebarsjs.com/) makes it ready to run a full website. The steps below show you how to do just that and set you up with the foundations for going off and building your own templates. -1. Follow the steps in the [Create an Application](/cloud/guides/build-a-website-using-rust-and-the-rocket-web-framework/#create-an-application) section above to create a base Rocket application to work off. +1. Follow the steps in the [Create an Application](/cloud/guides/build-a-website-using-rust-and-the-rocket-web-framework#create-an-application) section above to create a base Rocket application to work off. 1. Open the project's `Cargo.toml`, and modify with the additional lines in the example below: @@ -298,7 +298,7 @@ fn about() -> Template { {{~> (parent)~}} {{< /file >}} -1. Now you can run the application using the `cargo run` command as shown in the [Example Applications](/cloud/guides/build-a-website-using-rust-and-the-rocket-web-framework/#example-applications) section above. +1. Now you can run the application using the `cargo run` command as shown in the [Example Applications](/cloud/guides/build-a-website-using-rust-and-the-rocket-web-framework#example-applications) section above. ![Example Rocket website using Handlebars templates](rocket-template-example.png) diff --git a/docs/guides/development/rust/how-to-install-rust/index.md b/docs/guides/development/rust/how-to-install-rust/index.md index 5824931306f..e265b5b25e0 100644 --- a/docs/guides/development/rust/how-to-install-rust/index.md +++ b/docs/guides/development/rust/how-to-install-rust/index.md @@ -23,7 +23,7 @@ This guide explains how to install [*Rust*](https://www.rust-lang.org/), a popul 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. For information about the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. For information about the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Advantages of the Rust Programming Language diff --git a/docs/guides/development/tips-and-tricks/use-a-linode-for-web-development-on-remote-devices/index.md b/docs/guides/development/tips-and-tricks/use-a-linode-for-web-development-on-remote-devices/index.md index 37ecfbc4fb5..5e7b02687ce 100644 --- a/docs/guides/development/tips-and-tricks/use-a-linode-for-web-development-on-remote-devices/index.md +++ b/docs/guides/development/tips-and-tricks/use-a-linode-for-web-development-on-remote-devices/index.md @@ -222,4 +222,4 @@ With everything set up it's time to work with your remote development environmen You now have a basic but powerful setup that allows you to work from any device with an internet connection. -The main limitation of a tablet is its storage capacity. An efficient way to set up a centralized storage space is by using OwnCloud on a Linode with [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage). This way you can host all your archives, dotfiles, scripts, images and more in a scalable Linode. An additional benefit is the possibility to connect external storage services like Dropbox, Google Drive or OneDrive. OwnCloud has native applications for Android and iOS so managing your assets won't be a problem. You can install and configure ownCloud by following our [ownCloud guide](/cloud/guides/install-and-configure-owncloud-on-ubuntu-16-04/). +The main limitation of a tablet is its storage capacity. An efficient way to set up a centralized storage space is by using OwnCloud on a Linode with [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage). This way you can host all your archives, dotfiles, scripts, images and more in a scalable Linode. An additional benefit is the possibility to connect external storage services like Dropbox, Google Drive or OneDrive. OwnCloud has native applications for Android and iOS so managing your assets won't be a problem. You can install and configure ownCloud by following our [ownCloud guide](/cloud/guides/install-and-configure-owncloud-on-ubuntu-16-04). diff --git a/docs/guides/development/version-control/a-beginners-guide-to-github/index.md b/docs/guides/development/version-control/a-beginners-guide-to-github/index.md index d8d7aad3201..4d7d803075a 100644 --- a/docs/guides/development/version-control/a-beginners-guide-to-github/index.md +++ b/docs/guides/development/version-control/a-beginners-guide-to-github/index.md @@ -22,7 +22,7 @@ The Write For Linode freelance contributor program offers payment for new guides ## Before You Begin -This guide assumes that you've signed up for a [GitHub account](https://www.github.com), and that you've followed the sections for installing and configuring Git on your local machine contained within our [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide. +This guide assumes that you've signed up for a [GitHub account](https://www.github.com), and that you've followed the sections for installing and configuring Git on your local machine contained within our [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) guide. This guide will also use [Hugo](https://gohugo.io) to create a new guide within the Linode library's repository, and Node.js and NPM to build a local development version of Linode's documentation website. Please visit the [Install Hugo](https://github.com/linode/docs/blob/develop/CONTRIBUTING.md#install-hugo) and [Install Node and NPM](https://github.com/linode/docs/blob/develop/CONTRIBUTING.md#install-node-and-npm) sections of our [CONTRIBUTING.md](https://github.com/linode/docs/blob/develop/CONTRIBUTING.md) for installation instructions of those dependencies. @@ -117,9 +117,9 @@ nothing to commit, working directory clean ### Creating Your First Guide -Using your preferred text editor, you should now be able to edit and create documents within your new branch. When writing your guide, you can refer to the [Linode Writer's Formatting Guide](/cloud/guides/linode-writers-formatting-guide/) for help with the format of your guide and the styling of your text. Also note that our site uses the [Hugo](https://gohugo.io/) static site generator to render the website, and Hugo offers several features to enhance your Markdown files. These features are covered in our formatting guide. +Using your preferred text editor, you should now be able to edit and create documents within your new branch. When writing your guide, you can refer to the [Linode Writer's Formatting Guide](/cloud/guides/linode-writers-formatting-guide) for help with the format of your guide and the styling of your text. Also note that our site uses the [Hugo](https://gohugo.io/) static site generator to render the website, and Hugo offers several features to enhance your Markdown files. These features are covered in our formatting guide. -1. When creating your guide, first determine where it should be located within the docs website's directory structure. For example, to create a new guide in the [/docs/guides/kubernetes/](/cloud/guides/kubernetes/) section, you would create your guide within the `docs/guides/kubernetes/` subfolder inside your repository. +1. When creating your guide, first determine where it should be located within the docs website's directory structure. For example, to create a new guide in the [/docs/guides/kubernetes/](/cloud/guides/kubernetes) section, you would create your guide within the `docs/guides/kubernetes/` subfolder inside your repository. {{< note respectIndent=false >}} To reiterate, the docs repository contains a folder that is also called `docs/`, and this folder then contains all of the content in the library: diff --git a/docs/guides/development/version-control/backing-up-gitlab-on-linode-object-storage/index.md b/docs/guides/development/version-control/backing-up-gitlab-on-linode-object-storage/index.md index 9e560185cad..9f6bbf8eb4a 100644 --- a/docs/guides/development/version-control/backing-up-gitlab-on-linode-object-storage/index.md +++ b/docs/guides/development/version-control/backing-up-gitlab-on-linode-object-storage/index.md @@ -18,7 +18,7 @@ All modern GitLab installations additionally include tooling to create backups o ## Before you Begin -- Follow the guide for [Deploying Gitlab Through the Linode Marketplace](/cloud/marketplace-docs/guides/gitlab/) to completion, or otherwise ensure that a Gitlab installation is available and accessible over SSH. +- Follow the guide for [Deploying Gitlab Through the Linode Marketplace](/cloud/marketplace-docs/guides/gitlab) to completion, or otherwise ensure that a Gitlab installation is available and accessible over SSH. - Create an Object Storage access key and a bucket. See the [Manage Access Keys](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys) and Create and Manage Buckets](https://techdocs.akamai.com/cloud-computing/docs/create-and-manage-buckets) guides. diff --git a/docs/guides/development/version-control/creating-git-aliases/index.md b/docs/guides/development/version-control/creating-git-aliases/index.md index 7d6420cdee4..16861bdb115 100644 --- a/docs/guides/development/version-control/creating-git-aliases/index.md +++ b/docs/guides/development/version-control/creating-git-aliases/index.md @@ -93,7 +93,7 @@ Use the command below to locate where Git stores its core commands. On most Linu /usr/lib/git-core {{}} -For information on Bash scripting, refer to our [Introduction to Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting/) guide. This guide on Bash includes topics like, Bash variables, if statements, and getting user input from the command line. The examples found in the Bash shell scripting guide can help you construct your scripts to modify Git's behavior. +For information on Bash scripting, refer to our [Introduction to Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting) guide. This guide on Bash includes topics like, Bash variables, if statements, and getting user input from the command line. The examples found in the Bash shell scripting guide can help you construct your scripts to modify Git's behavior. ### Git Script Example diff --git a/docs/guides/development/version-control/git-based-development-networks-with-girocco-on-debian-5-lenny/index.md b/docs/guides/development/version-control/git-based-development-networks-with-girocco-on-debian-5-lenny/index.md index ec3d6fa2da0..5a193b8b814 100644 --- a/docs/guides/development/version-control/git-based-development-networks-with-girocco-on-debian-5-lenny/index.md +++ b/docs/guides/development/version-control/git-based-development-networks-with-girocco-on-debian-5-lenny/index.md @@ -15,7 +15,7 @@ deprecated: true Girocco is the underlying engine created to power one of the first public git hosting services at [repo.or.cz](http://repo.or.cz/), and it allows users an easy to use web-based interface to create and view git repositories. Perhaps most excitingly, Girocco provides the ability to seamlessly "fork" an existing repository on the site and publish those changes without needing "push" access to the original repository, thus enabling a wide rage of distributed workflows and collaborative experiences. -Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to using git, you may also find our [introduction to git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) a helpful prerequisite. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to using git, you may also find our [introduction to git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) a helpful prerequisite. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Prerequisites @@ -28,13 +28,13 @@ Now issue the following command to install the required prerequisite software: apt-get install git-core build-essential netcat-openbsd apache2 wget libwww-perl libjson-perl librpc-xml-perl -The above command installs the Apache HTTP Server, and this guide depends upon running Apache. For more information regarding the setup and configuration of Apache, consider our series of [Apache guides](/cloud/guides/web-servers/apache/). +The above command installs the Apache HTTP Server, and this guide depends upon running Apache. For more information regarding the setup and configuration of Apache, consider our series of [Apache guides](/cloud/guides/web-servers/apache). -This guide does not include explicit instructions for downloading and installing a local send-only [mail server](/cloud/guides/email/), which you will need to do for some operations such as sending password recovery tokens. If you do not have a local MTA installed or configured already, begin by issuing the following command: +This guide does not include explicit instructions for downloading and installing a local send-only [mail server](/cloud/guides/email), which you will need to do for some operations such as sending password recovery tokens. If you do not have a local MTA installed or configured already, begin by issuing the following command: apt-get install mailx -This will install the MTA "Exim." You can configure this MTA by issuing the following command and following the steps outlined in the [Exim send-only MTA guide](/cloud/guides/sendonly-mail-server-with-exim-on-debian-5-lenny/) guide: +This will install the MTA "Exim." You can configure this MTA by issuing the following command and following the steps outlined in the [Exim send-only MTA guide](/cloud/guides/sendonly-mail-server-with-exim-on-debian-5-lenny) guide: dpkg-reconfigure exim4-config @@ -238,7 +238,7 @@ mount --bind /srv/repo/git /srv/repo/data/srv/git mount --bind /proc /srv/repo/d ## Configure Web Server -For the purpose of this document we will set up the repository hosting service under the virtual host for the domain `repo.example.com`. You will need to ensure that [DNS is configured](/cloud/guides/linux-system-administration-basics/#set-up-subdomains) for this domain. Additionally, ensure that the rewrite module is enabled by issuing the following commands: +For the purpose of this document we will set up the repository hosting service under the virtual host for the domain `repo.example.com`. You will need to ensure that [DNS is configured](/cloud/guides/linux-system-administration-basics#set-up-subdomains) for this domain. Additionally, ensure that the rewrite module is enabled by issuing the following commands: a2enmod rewrite /etc/init.d/apache2 restart @@ -278,9 +278,9 @@ You may wish to consult the following resources for additional information on th - [Girocco](http://repo.or.cz/w/girocco.git) - [Repo.or.cz](http://repo.or.cz/) -- [Using Cron to Schedule Tasks](/cloud/guides/schedule-tasks-with-cron/) -- [Managing Permissions with Unix Users and Groups](/cloud/guides/linux-users-and-groups/) -- [Using GNU Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) +- [Using Cron to Schedule Tasks](/cloud/guides/schedule-tasks-with-cron) +- [Managing Permissions with Unix Users and Groups](/cloud/guides/linux-users-and-groups) +- [Using GNU Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) diff --git a/docs/guides/development/version-control/how-to-configure-git/index.md b/docs/guides/development/version-control/how-to-configure-git/index.md index 3239a5ffee9..4f68eda40ec 100644 --- a/docs/guides/development/version-control/how-to-configure-git/index.md +++ b/docs/guides/development/version-control/how-to-configure-git/index.md @@ -25,12 +25,12 @@ aliases: [] Git is a distributed version control system. Git was designed and developed by [Linus Torvalds](https://en.wikipedia.org/wiki/Linus_Torvalds) for Linux kernel development. Git provides support for non-linear, distributed development, allowing multiple contributors to work on a project simultaneously. Git is the most popular distributed version control and source code management system. This guide will walk you through the basics of getting started with Git, from installing the software to using basic commands on both local and remote repositories (repo). {{< note >}} -If you are new to version control systems (VCS), see our guide [SVN vs Git: Which Version Control System Should You Use?](/cloud/guides/svn-vs-git/) to learn more about each VCS. +If you are new to version control systems (VCS), see our guide [SVN vs Git: Which Version Control System Should You Use?](/cloud/guides/svn-vs-git) to learn more about each VCS. {{< /note >}} ## Configure Git -After you [install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/), configure it for first time use using `git config`, a built-in tool that obtains and sets configuration variables. These configuration variables are located in three different places on a GNU/Linux system: +After you [install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows), configure it for first time use using `git config`, a built-in tool that obtains and sets configuration variables. These configuration variables are located in three different places on a GNU/Linux system: - `/etc/gitconfig` - stores the configuration information for all system users and their respective repositories. - `~/.gitconfig` - stores user-specific configuration files on the system. @@ -85,7 +85,7 @@ There may be files or folders in your project directory that you do not wish to __doNotInclude__/ {{< /file >}} -To learn how to undo Git commit, see our guide [How to Undo a Git Commit: A Step-by-Step Guide](/cloud/guides/how-to-undo-git-commit/). +To learn how to undo Git commit, see our guide [How to Undo a Git Commit: A Step-by-Step Guide](/cloud/guides/how-to-undo-git-commit). ### Basic Git Commands @@ -142,7 +142,7 @@ Now the `master` branch has the new search feature. ## Use Git with a Remote Repository -[GitHub](https://github.com), [GitLab](https://gitlab.com), and [Bitbucket](https://bitbucket.org/) all provide ways to store Git repositories remotely and facilitate collaboration. Many of these services also include a number of other features that are vital to content development, including pull requests, continuous integration / continuous delivery pipelines (CI/CD), wikis, and webhooks. If you'd rather use a self-hosted solution, GitLab and [Gogs](https://gogs.io/) offer free locally hosted versions of their software that can easily be managed on a Linode. Check out our guides on [installing GitLab](/cloud/guides/install-gitlab-on-ubuntu-18-04/) and [installing Gogs](/cloud/guides/install-gogs-on-debian/) for more information on hosting your own remote repository software. GitHub and Bitbucket also offer paid enterprise versions of their software for local hosting. When discussing remote repositories, usually one of the aforementioned services is being referenced. +[GitHub](https://github.com), [GitLab](https://gitlab.com), and [Bitbucket](https://bitbucket.org/) all provide ways to store Git repositories remotely and facilitate collaboration. Many of these services also include a number of other features that are vital to content development, including pull requests, continuous integration / continuous delivery pipelines (CI/CD), wikis, and webhooks. If you'd rather use a self-hosted solution, GitLab and [Gogs](https://gogs.io/) offer free locally hosted versions of their software that can easily be managed on a Linode. Check out our guides on [installing GitLab](/cloud/guides/install-gitlab-on-ubuntu-18-04) and [installing Gogs](/cloud/guides/install-gogs-on-debian) for more information on hosting your own remote repository software. GitHub and Bitbucket also offer paid enterprise versions of their software for local hosting. When discussing remote repositories, usually one of the aforementioned services is being referenced. This section provides some basic information on navigating remote Git repositories. diff --git a/docs/guides/development/version-control/how-to-install-git-and-clone-a-github-repository/index.md b/docs/guides/development/version-control/how-to-install-git-and-clone-a-github-repository/index.md index de6b3ed1d61..4013d744d39 100644 --- a/docs/guides/development/version-control/how-to-install-git-and-clone-a-github-repository/index.md +++ b/docs/guides/development/version-control/how-to-install-git-and-clone-a-github-repository/index.md @@ -9,7 +9,7 @@ keywords: ["git", "dvcs", "vcs", "scm", "gitweb", "github"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Working with the Git Repository](/cloud/guides/how-to-configure-git/)' + - '[Working with the Git Repository](/cloud/guides/how-to-configure-git)' - '[GitHub Help Pages](https://help.github.com/)' audiences: ["beginner"] tags: ["version control system"] @@ -20,7 +20,7 @@ tags: ["version control system"] GitHub is a website that allows collaboration between developers using the Git version control system. With Git and GitHub, programmers from across the world can share ideas and code in an organized and up-to-date process. ## Install and Configure Git -The directions below are for Debian or Ubuntu. For installation on Mac, Windows, or other Linux distributions, find instructions in the [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide. While that guide focuses on Git, this guide focuses more on Git with GitHub. +The directions below are for Debian or Ubuntu. For installation on Mac, Windows, or other Linux distributions, find instructions in the [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) guide. While that guide focuses on Git, this guide focuses more on Git with GitHub. 1. Install: diff --git a/docs/guides/development/version-control/how-to-install-git-on-linux-mac-and-windows/index.md b/docs/guides/development/version-control/how-to-install-git-on-linux-mac-and-windows/index.md index da7cf282d4f..41cd7474aac 100644 --- a/docs/guides/development/version-control/how-to-install-git-on-linux-mac-and-windows/index.md +++ b/docs/guides/development/version-control/how-to-install-git-on-linux-mac-and-windows/index.md @@ -28,7 +28,7 @@ Git was designed and developed by [Linus Torvalds](https://en.wikipedia.org/wiki This guide explains how to install the latest, stable, and prepackaged version of Git on GNU/Linux, Mac OSX, and Windows, using their respective package managers. Git can also be [compiled from source and installed](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git#_installing_from_source) on any operating system. -For more information about using and configuring Git, see our [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide. +For more information about using and configuring Git, see our [Getting Started with Git](/cloud/guides/how-to-configure-git) guide. {{< note >}} This guide uses `sudo` wherever possible. Complete the [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to create a standard user account. @@ -267,4 +267,4 @@ Go to the repository’s page on GitHub, click on the green **Code** button, and ## Get Started with Git -Visit our guide on [Git configuration](/cloud/guides/how-to-configure-git/) for helpful commands to get you started with Git and GitHub repositories. +Visit our guide on [Git configuration](/cloud/guides/how-to-configure-git) for helpful commands to get you started with Git and GitHub repositories. diff --git a/docs/guides/development/version-control/how-to-remove-untracked-files-in-git/index.md b/docs/guides/development/version-control/how-to-remove-untracked-files-in-git/index.md index c303bbbb5a7..2cf4e7dfafa 100644 --- a/docs/guides/development/version-control/how-to-remove-untracked-files-in-git/index.md +++ b/docs/guides/development/version-control/how-to-remove-untracked-files-in-git/index.md @@ -50,12 +50,12 @@ To summarize, all files in a Git repository should eventually be handled in one 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. It's also helpful to consult our guides on [Getting Started with Git](/cloud/guides/how-to-configure-git/) and [How to Navigate the Linux Terminal and File System](/cloud/guides/linux-navigation-commands/). +1. It's also helpful to consult our guides on [Getting Started with Git](/cloud/guides/how-to-configure-git) and [How to Navigate the Linux Terminal and File System](/cloud/guides/linux-navigation-commands). 1. **Optional** Git must already be installed on the Linode before trying out the examples in this guide. The `git` package is often already pre-installed. To see if it is present, run the command `git --version`. If Git is already installed, this command displays the current version. If Git has not already been installed, use the command `sudo apt install git` to install it. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Remove Untracked Files Using Git Clean diff --git a/docs/guides/development/version-control/how-to-unbundle-nginx-from-omnibus-gitlab-for-serving-multiple-websites/index.md b/docs/guides/development/version-control/how-to-unbundle-nginx-from-omnibus-gitlab-for-serving-multiple-websites/index.md index a279cbc7bef..d1ce2e8f182 100644 --- a/docs/guides/development/version-control/how-to-unbundle-nginx-from-omnibus-gitlab-for-serving-multiple-websites/index.md +++ b/docs/guides/development/version-control/how-to-unbundle-nginx-from-omnibus-gitlab-for-serving-multiple-websites/index.md @@ -20,7 +20,7 @@ audiences: ["intermediate"] Omnibus GitLab is a software package (or software stack) that allows you to easily install and run GitLab on your Linode. This guide walks you through the process of installing and setting up your own NGINX server on a typical Omnibus installation. Using the method outlined here, you are not forced to use Omnibus's default settings, and can create as many virtual hosts as you need for hosting multiple websites and apps on the same server as your GitLab. -Preconfigured software stacks sometimes bring a series of challenges to those who need to customize specific settings. If you require more control over your installation, consider [installing GitLab from source](/cloud/guides/install-gitlab-on-ubuntu-14-04-trusty-tahr/). This application stack could benefit from large amounts of disk space, so also consider using our [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) service with this setup. +Preconfigured software stacks sometimes bring a series of challenges to those who need to customize specific settings. If you require more control over your installation, consider [installing GitLab from source](/cloud/guides/install-gitlab-on-ubuntu-14-04-trusty-tahr). This application stack could benefit from large amounts of disk space, so also consider using our [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) service with this setup. ## Before You Begin @@ -35,7 +35,7 @@ Preconfigured software stacks sometimes bring a series of challenges to those wh sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, visit our [Users and Groups guide](/cloud/guides/linux-users-and-groups/) for more information. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, visit our [Users and Groups guide](/cloud/guides/linux-users-and-groups) for more information. {{< /note >}} ## Install Omnibus GitLab @@ -187,4 +187,4 @@ upstream gitlab { sudo usermod -aG gitlab-www www-data -Congratulations! You have turned a default Omnibus GitLab server into a multi-purpose one. To serve additional websites and apps using your newly unbundled NGINX server, simply create additional virtual hosts above, and configure them to your needs. For more information, please refer to our guide on [how to configure NGINX](/cloud/guides/how-to-configure-nginx/). +Congratulations! You have turned a default Omnibus GitLab server into a multi-purpose one. To serve additional websites and apps using your newly unbundled NGINX server, simply create additional virtual hosts above, and configure them to your needs. For more information, please refer to our guide on [how to configure NGINX](/cloud/guides/how-to-configure-nginx). diff --git a/docs/guides/development/version-control/how-to-undo-git-commit/index.md b/docs/guides/development/version-control/how-to-undo-git-commit/index.md index 504b1006869..41bb6a2daf9 100644 --- a/docs/guides/development/version-control/how-to-undo-git-commit/index.md +++ b/docs/guides/development/version-control/how-to-undo-git-commit/index.md @@ -12,7 +12,7 @@ external_resources: - '[Git documentation](https://git-scm.com/doc)' --- -[Git is one of the most common and versatile *version control systems* (VCS)](/cloud/guides/svn-vs-git/#what-is-the-git-version-control-system), but it is not always simple and easy to use. You can run into trouble when you commit an undesirable change to a repository. There are several different strategies you can follow to restore your repository. This guide discusses how to undo a git commit and explains the advantages and any drawbacks to each approach. +[Git is one of the most common and versatile *version control systems* (VCS)](/cloud/guides/svn-vs-git#what-is-the-git-version-control-system), but it is not always simple and easy to use. You can run into trouble when you commit an undesirable change to a repository. There are several different strategies you can follow to restore your repository. This guide discusses how to undo a git commit and explains the advantages and any drawbacks to each approach. ## Important Git Background for Undoing a Local Commit diff --git a/docs/guides/development/version-control/how-to-use-gitignore/index.md b/docs/guides/development/version-control/how-to-use-gitignore/index.md index 7a92b966e5d..04ee3879980 100644 --- a/docs/guides/development/version-control/how-to-use-gitignore/index.md +++ b/docs/guides/development/version-control/how-to-use-gitignore/index.md @@ -52,7 +52,7 @@ Developers should ignore files and folders they do not plan to push, rather than 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Ensure Git is installed on your Linode. For information on installing up Git, see the Linode guide to [installing Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/). Essentially: +1. Ensure Git is installed on your Linode. For information on installing up Git, see the Linode guide to [installing Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows). Essentially: ```command {title="Debain / Ubuntu"} sudo apt install git @@ -76,7 +76,7 @@ Developers should ignore files and folders they do not plan to push, rather than mkdir {subdir1,subdir2,subdir3} && touch 1.bak a.bin b.bin file1.txt file2.txt file3.txt file4.txt file5.txt file6.txt one.bak subdir1/file7.txt subdir2/file8.txt subdir3/files.log ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Use the gitignore file diff --git a/docs/guides/development/version-control/install-apache-subversion-ubuntu/index.md b/docs/guides/development/version-control/install-apache-subversion-ubuntu/index.md index 9dd68343f62..bf935cc1ed8 100644 --- a/docs/guides/development/version-control/install-apache-subversion-ubuntu/index.md +++ b/docs/guides/development/version-control/install-apache-subversion-ubuntu/index.md @@ -14,7 +14,7 @@ Apache Subversion is an open source version control system released in 2000 and ## What is Apache Subversion? -Apache Subversion is a [version control system](/cloud/guides/introduction-to-version-control/)(VCS) that manages, documents, and organizes the changes made to a project's files and directories. Subversion can work across networks to manage the same files and directories. This enables collaboration between developers who are working on the same codebase. Although Subversion is commonly used to version control software development projects, you can use it to version control any group of files and directories. Apache Subversion is invoked on the command line using the `svn` command. For this reason it is sometimes also referred to as *SVN*. +Apache Subversion is a [version control system](/cloud/guides/introduction-to-version-control)(VCS) that manages, documents, and organizes the changes made to a project's files and directories. Subversion can work across networks to manage the same files and directories. This enables collaboration between developers who are working on the same codebase. Although Subversion is commonly used to version control software development projects, you can use it to version control any group of files and directories. Apache Subversion is invoked on the command line using the `svn` command. For this reason it is sometimes also referred to as *SVN*. Apache Subversion is made up of two primary components: @@ -64,9 +64,9 @@ Root or sudo permissions must be available to install Apache Subversion. - If you are connecting to an existing Subversion server, then an Apache Subversion Client is the minimum installation required. - If you need a full installation of Apache Subversion for local use, then it requires both the client and server components. -- Deploy a new Linode and follow the steps below. You can also follow the steps in the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide. +- Deploy a new Linode and follow the steps below. You can also follow the steps in the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04) guide. -- If you choose to follow the steps in the *LAMP stack* guide or already have a server with a LAMP stack installed, skip the [Install the Apache Web Server](/cloud/guides/install-apache-subversion-ubuntu/#install-the-apache-web-server) section below, and move on to the [Install Apache Subversion](/cloud/guides/install-apache-subversion-ubuntu/#install-apache-subversion) section after updating your Ubuntu 20.04 system. +- If you choose to follow the steps in the *LAMP stack* guide or already have a server with a LAMP stack installed, skip the [Install the Apache Web Server](/cloud/guides/install-apache-subversion-ubuntu#install-the-apache-web-server) section below, and move on to the [Install Apache Subversion](/cloud/guides/install-apache-subversion-ubuntu#install-apache-subversion) section after updating your Ubuntu 20.04 system. - Update your Ubuntu 20.04 system: diff --git a/docs/guides/development/version-control/install-gitlab-on-ubuntu-14-04-trusty-tahr/index.md b/docs/guides/development/version-control/install-gitlab-on-ubuntu-14-04-trusty-tahr/index.md index 95d97255734..c484eb00887 100644 --- a/docs/guides/development/version-control/install-gitlab-on-ubuntu-14-04-trusty-tahr/index.md +++ b/docs/guides/development/version-control/install-gitlab-on-ubuntu-14-04-trusty-tahr/index.md @@ -31,10 +31,10 @@ GitLab is a free git repository management application based on Ruby on Rails. I GitLab provides a [.deb package](https://www.gitlab.com/downloads/) which contains GitLab Community Edition and all its dependencies (Ruby, PostgreSQL, Redis, Nginx, Unicorn and other gems) already compiled. Installing this package is [straightforward](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#installation). But since it will install its own package dependencies (Nginx, PostgreSQL, etc), this installation method is suitable if the server is dedicated only to managing git repositories. If you want GitLab to use your existing resources (i.e: you already have Nginx and PostgreSQL installed), you need to install GitLab manually. -This guide will help you install and configure GitLab on your Ubuntu 14.04 (Trusty Tahr) Linode. We will be using the latest Ruby and GitLab as of this writing, so check for the latest version. We will assume that you want to install GitLab on `git.example.com` and you have configured the DNS properly. If you are new to Linux system administration, you might want to consider the [Introduction to Linux Concepts guide](/cloud/guides/introduction-to-linux-concepts/) and [Linux Administration Basics guide](/cloud/guides/linux-system-administration-basics/) guides. Hosting your own software projects could benefit from large amounts of disk space, so consider using our [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) service with this setup. +This guide will help you install and configure GitLab on your Ubuntu 14.04 (Trusty Tahr) Linode. We will be using the latest Ruby and GitLab as of this writing, so check for the latest version. We will assume that you want to install GitLab on `git.example.com` and you have configured the DNS properly. If you are new to Linux system administration, you might want to consider the [Introduction to Linux Concepts guide](/cloud/guides/introduction-to-linux-concepts) and [Linux Administration Basics guide](/cloud/guides/linux-system-administration-basics) guides. Hosting your own software projects could benefit from large amounts of disk space, so consider using our [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) service with this setup. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with sudo. If you are not familiar with the sudo command, you can check out our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with sudo. If you are not familiar with the sudo command, you can check out our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## System Requirements @@ -73,7 +73,7 @@ In this section you will install the development tools and the required packages sudo apt-get install postfix - Select `Internet site` and enter your hostname to complete the installation. If you need to set up a complete SMTP/IMAP/POP3 server, refer to the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide. + Select `Internet site` and enter your hostname to complete the installation. If you need to set up a complete SMTP/IMAP/POP3 server, refer to the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql) guide. ### Install Ruby @@ -419,5 +419,5 @@ You can login using **root** as the username and **5iveL!fe** for the password. ## Securing GitLab -Now that you have GitLab running on your server, you might want to add SSL support to secure your GitLab site. Refer to the [SSL Certificates with Nginx](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) guide to protect your site with SSL. +Now that you have GitLab running on your server, you might want to add SSL support to secure your GitLab site. Refer to the [SSL Certificates with Nginx](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) guide to protect your site with SSL. diff --git a/docs/guides/development/version-control/install-gitlab-on-ubuntu-18-04/index.md b/docs/guides/development/version-control/install-gitlab-on-ubuntu-18-04/index.md index 4491845911b..b38ebf4f7e7 100644 --- a/docs/guides/development/version-control/install-gitlab-on-ubuntu-18-04/index.md +++ b/docs/guides/development/version-control/install-gitlab-on-ubuntu-18-04/index.md @@ -40,7 +40,7 @@ Before installing GitLab you should consider how many users will collaborate on 1. Add a domain zone, NS record, and A/AAA record for the domain you will use to access your GitLab installation. See the [DNS Manager > Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) guide for details. If you will access your GitLab instance via your Linode’s IP address, you can skip this step. -1. [Create an SSL Certificate](/cloud/guides/secure-http-traffic-certbot/), if you will be using SSL encryption for your domain (this is recommended). Be sure to note the location that Certbot uses to store all generated keys and issued certificates. +1. [Create an SSL Certificate](/cloud/guides/secure-http-traffic-certbot), if you will be using SSL encryption for your domain (this is recommended). Be sure to note the location that Certbot uses to store all generated keys and issued certificates. ## Install GitLab diff --git a/docs/guides/development/version-control/install-gitlab-with-docker/index.md b/docs/guides/development/version-control/install-gitlab-with-docker/index.md index b8892fc5b86..aa9580bb54d 100644 --- a/docs/guides/development/version-control/install-gitlab-with-docker/index.md +++ b/docs/guides/development/version-control/install-gitlab-with-docker/index.md @@ -67,7 +67,7 @@ It takes some time for DNS changes to propagate through the internet, so it's su {{% content "update-dns-at-common-name-server-authorities" %}} -You can test to see if your DNS changes have propagated with the [`dig` command](/cloud/guides/use-dig-to-perform-manual-dns-queries/): +You can test to see if your DNS changes have propagated with the [`dig` command](/cloud/guides/use-dig-to-perform-manual-dns-queries): dig +short gitlab.example.com @@ -245,6 +245,6 @@ GitLab offers many features that are worth taking the time to understand and uti - Review Linode's Git documentation: - - [Getting Start with Git](/cloud/guides/how-to-configure-git/) + - [Getting Start with Git](/cloud/guides/how-to-configure-git) - - [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) + - [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) diff --git a/docs/guides/development/version-control/install-gogs-on-debian/index.md b/docs/guides/development/version-control/install-gogs-on-debian/index.md index b4077f7727f..b3afd5b5c89 100644 --- a/docs/guides/development/version-control/install-gogs-on-debian/index.md +++ b/docs/guides/development/version-control/install-gogs-on-debian/index.md @@ -30,7 +30,7 @@ deprecated: true This tutorial shows you how to install and configure Gogs, using PostgreSQL for the database server and nginx for the reverse proxy server. We will use `example.com` as the domain name for the site. Hosting your own software projects could benefit from large amounts of disk space, so consider using our [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) service with this setup. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before Installing Gogs @@ -164,7 +164,7 @@ CREATE DATABASE gogs OWNER gogs; We will use nginx as the reverse proxy for Gogs, so we can access Gogs using our domain name rather than using our host's IP address. In addition, we will let nginx handle the HTTPS connections for our Gogs site. -1. Create a [self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate/) or buy a [commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) from a certificate authority (CA). +1. Create a [self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate) or buy a [commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate) from a certificate authority (CA). 2. Install nginx from the repository: diff --git a/docs/guides/development/version-control/introduction-to-version-control/index.md b/docs/guides/development/version-control/introduction-to-version-control/index.md index f019526994d..96c787f2c4f 100644 --- a/docs/guides/development/version-control/introduction-to-version-control/index.md +++ b/docs/guides/development/version-control/introduction-to-version-control/index.md @@ -9,12 +9,12 @@ keywords: ["version control", "introduction to version control", "git", "introdu license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Version Control Systems](/cloud/guides/development/version-control/)' + - '[Version Control Systems](/cloud/guides/development/version-control)' audiences: ["foundational"] tags: ["version control system"] --- -In the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide, you learned how to host your website by installing and configuring a web server, database, and PHP. Now it's time to implement version control to protect your data and handle code updates smoothly. By the time you reach the end of this guide, you'll know how to use many of the version control methods and tools used by large organizations. +In the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04) guide, you learned how to host your website by installing and configuring a web server, database, and PHP. Now it's time to implement version control to protect your data and handle code updates smoothly. By the time you reach the end of this guide, you'll know how to use many of the version control methods and tools used by large organizations. ## Getting Started @@ -40,9 +40,9 @@ Version control also makes it easy to track changes. You can see who committed c There are several types of open source version control systems available. Each system has its own advantages and disadvantages, so you should do some research before making your selection. Here are three of the most popular: -- **Git:** Designed and developed by Linus Torvalds for Linux kernel development, Git provides strong support for non-linear and distributed development. It's probably the most popular distributed revision control and source code management system. See the [Git documentation website](http://git-scm.com/) for more information. You can also read our guide to [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/). -- **Subversion:** When it emerged in 2000, Subversion operated like [CVS](http://cvs.nongnu.org/) and added some of the features that were missing from CVS. It was the undisputed king of version control systems until Git emerged in 2005, and it's still very popular. It's now maintained by the Apache Software Foundation. You can read our guide to [Managing Source Code Versions with Subversion](/cloud/guides/manage-source-code-versions-with-subversion/). -- **Mercurial:** This is another popular version control system that resembles Git. It doesn't enjoy quite as much popularity and community support as Git, but it's still a very capable and accessible system. You can read our guide [Managing Distributed Version Control with Mercurial](/cloud/guides/manage-distributed-version-control-with-mercurial/). +- **Git:** Designed and developed by Linus Torvalds for Linux kernel development, Git provides strong support for non-linear and distributed development. It's probably the most popular distributed revision control and source code management system. See the [Git documentation website](http://git-scm.com/) for more information. You can also read our guide to [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows). +- **Subversion:** When it emerged in 2000, Subversion operated like [CVS](http://cvs.nongnu.org/) and added some of the features that were missing from CVS. It was the undisputed king of version control systems until Git emerged in 2005, and it's still very popular. It's now maintained by the Apache Software Foundation. You can read our guide to [Managing Source Code Versions with Subversion](/cloud/guides/manage-source-code-versions-with-subversion). +- **Mercurial:** This is another popular version control system that resembles Git. It doesn't enjoy quite as much popularity and community support as Git, but it's still a very capable and accessible system. You can read our guide [Managing Distributed Version Control with Mercurial](/cloud/guides/manage-distributed-version-control-with-mercurial). We'll use Git as an example in this guide. But don't let our decision influence you - there are plenty of other version control systems out there. Feel free to investigate other options if Git, Subversion, or Mercurial don't meet your needs for automating server builds and managing configurations. diff --git a/docs/guides/development/version-control/manage-distributed-source-branches-with-bazaar/index.md b/docs/guides/development/version-control/manage-distributed-source-branches-with-bazaar/index.md index c3a7250b953..d6dc3edfc39 100644 --- a/docs/guides/development/version-control/manage-distributed-source-branches-with-bazaar/index.md +++ b/docs/guides/development/version-control/manage-distributed-source-branches-with-bazaar/index.md @@ -16,11 +16,11 @@ tags: ["version control system"] deprecated: true --- -Bazaar is a distributed version control system similar to [git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/). Bazaar allows developers to track the progress of source code and collaborate on a single object of work without depending on a centralized server to coordinate their activity. Unlike git, Bazaar's interface will be familiar to users of a centralized version control system like [Subversion](/cloud/guides/manage-source-code-versions-with-subversion/). +Bazaar is a distributed version control system similar to [git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows). Bazaar allows developers to track the progress of source code and collaborate on a single object of work without depending on a centralized server to coordinate their activity. Unlike git, Bazaar's interface will be familiar to users of a centralized version control system like [Subversion](/cloud/guides/manage-source-code-versions-with-subversion). Like all distributed version control systems, Bazaar can work "offline," and does not require a connection to a central repository to perform commits, consult previous versions of the history, or perform other operations on the local "branch" of project. Publishing "branches" is also straightforward. -This document provides an introduction to all aspects of the Bazaar version control system: beginning with the installation of Bazaar, moving through several standard Bazaar-based workflows and concluding with a review of common Bazaar commands. However, before we begin discussing the use and operating of Bazaar we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +This document provides an introduction to all aspects of the Bazaar version control system: beginning with the installation of Bazaar, moving through several standard Bazaar-based workflows and concluding with a review of common Bazaar commands. However, before we begin discussing the use and operating of Bazaar we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing Bazaar @@ -58,7 +58,7 @@ The Bazaar developers also provide application builds for [Windows](http://wiki. ## Using Bazaar to Manage Projects -This section covers many common operations and tasks that you may encounter during typical Bazaar usage. This will guide you through common Bazaar workflows: beginning with branch creation creating a branch, continuing with creating commits to that branch and an overview of common usage scenarios, and finally concluding with branch publication. Consider the following section for a more direct guide to individual [Bazaar commands](/cloud/guides/manage-distributed-source-branches-with-bazaar/#common-bazaar-commands). +This section covers many common operations and tasks that you may encounter during typical Bazaar usage. This will guide you through common Bazaar workflows: beginning with branch creation creating a branch, continuing with creating commits to that branch and an overview of common usage scenarios, and finally concluding with branch publication. Consider the following section for a more direct guide to individual [Bazaar commands](/cloud/guides/manage-distributed-source-branches-with-bazaar#common-bazaar-commands). ### Initializing a Project and Creating Commits @@ -132,7 +132,7 @@ Once published you can allow others to create local branches from this centraliz bzr branch sftp://fore@example.com/srv/bzr/morris-shared -In this case, your system will need a user account for the user `fore` and additional user accounts for whatever users that require access to your project. Be sure to deploy [user groups and permissions](/cloud/guides/linux-users-and-groups/) with prudence. You can also offer read only access to a Bazaar repository over HTTP by configuring a [web-server](/cloud/guides/web-servers/) to provide access to the Bazaar project. Simply alter the branch command to resemble the following, depending on your web server configuration: +In this case, your system will need a user account for the user `fore` and additional user accounts for whatever users that require access to your project. Be sure to deploy [user groups and permissions](/cloud/guides/linux-users-and-groups) with prudence. You can also offer read only access to a Bazaar repository over HTTP by configuring a [web-server](/cloud/guides/web-servers) to provide access to the Bazaar project. Simply alter the branch command to resemble the following, depending on your web server configuration: bzr branch http://bzr.example.com/morris-shared diff --git a/docs/guides/development/version-control/manage-source-code-versions-with-subversion/index.md b/docs/guides/development/version-control/manage-source-code-versions-with-subversion/index.md index aff360fa5ee..2c55e0b0f5c 100644 --- a/docs/guides/development/version-control/manage-source-code-versions-with-subversion/index.md +++ b/docs/guides/development/version-control/manage-source-code-versions-with-subversion/index.md @@ -36,7 +36,7 @@ There are many options for accessing and managing Subversion repositories on loc sudo apt-get update && sudo apt-get upgrade {{< note respectIndent=false >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Subversion @@ -120,7 +120,7 @@ In cases where you're manipulating Subversion's data store (e.g. an upgrade or m svnadmin load /srv/svn/subversion-test-backup < /var/svn/subversion-test-1259853077.svn {{< note respectIndent=false >}} -If you store critical information in a Subversion repository, you may wish to create backups automatically using a [cron job](/cloud/guides/schedule-tasks-with-cron/). +If you store critical information in a Subversion repository, you may wish to create backups automatically using a [cron job](/cloud/guides/schedule-tasks-with-cron). {{< /note >}} ## Use Subversion for Version Control @@ -168,7 +168,7 @@ If you need to access your repository over the `http://` or `https://` protocols ### Install Apache and `mod_dav_svn` -Developers frequently access Subversion repositories via the SSH protocol and manage permissions and authentication credentials using OpenSSH and system user accounts. This can be difficult to manage if you are hosting a large number of repositories with a large number of users on a single server. For these cases, many users provide access to their repositories using the "WebDAV" protocol over HTTP or HTTPS with the [Apache Web Server](/cloud/guides/web-servers/apache/). +Developers frequently access Subversion repositories via the SSH protocol and manage permissions and authentication credentials using OpenSSH and system user accounts. This can be difficult to manage if you are hosting a large number of repositories with a large number of users on a single server. For these cases, many users provide access to their repositories using the "WebDAV" protocol over HTTP or HTTPS with the [Apache Web Server](/cloud/guides/web-servers/apache). Install the Apache module `mod_dav_svn`: @@ -234,14 +234,14 @@ If local system accounts need to access the repository, add those users to the g chmod -R +s /srv/svn/subversion-test {{< note type="alert" respectIndent=false >}} -The sticky bit allows all users with access to the files (i.e. members of the group) to create files that are owned by the user or group that owns the directory, rather than by their own default user and group. This also allows users to execute scripts in these directories as the user that owns them, and thus poses a potential security risk. See our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide for more information. +The sticky bit allows all users with access to the files (i.e. members of the group) to create files that are owned by the user or group that owns the directory, rather than by their own default user and group. This also allows users to execute scripts in these directories as the user that owns them, and thus poses a potential security risk. See our [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide for more information. {{< /note >}} ### Configure the Apache Web Server This section demonstrates configuration for Debian and Ubuntu systems. Similar steps will work on other distributions. Please adjust accordingly. -In this example, `subversion-test` corresponds to the name of the repository, and `/srv/www/svn.example.com` is a directory distinct from your Subversion repositories. Maintaining a separate `htpasswd` for each repository hosted on your Linode makes sense if each repository is used by a distinctly different set of users. Conversely, if each repository that you administer is used by a subset of a larger group of users you may wish to configure [user groups](/cloud/guides/apache-access-control/#access-control-lists-with-groups) to organize your users' access. +In this example, `subversion-test` corresponds to the name of the repository, and `/srv/www/svn.example.com` is a directory distinct from your Subversion repositories. Maintaining a separate `htpasswd` for each repository hosted on your Linode makes sense if each repository is used by a distinctly different set of users. Conversely, if each repository that you administer is used by a subset of a larger group of users you may wish to configure [user groups](/cloud/guides/apache-access-control#access-control-lists-with-groups) to organize your users' access. 1. Enable the `mod_dav_svn` and `mod_dav` Apache modules. This will make it possible to use the `WebDAV` system to access the Subversion repository. @@ -252,7 +252,7 @@ In this example, `subversion-test` corresponds to the name of the repository, an systemctl restart apache2 -3. Configure HTTP AUTH passwords for Subversion users. You can read more about HTTP AUTH in our [Apache Authentication](/cloud/guides/apache-access-control/) guide. Store your `htpasswd` file for your Subversion repositories in a location such as: +3. Configure HTTP AUTH passwords for Subversion users. You can read more about HTTP AUTH in our [Apache Authentication](/cloud/guides/apache-access-control) guide. Store your `htpasswd` file for your Subversion repositories in a location such as: /srv/www/svn.example.com/subversion-test.htpasswd @@ -281,7 +281,7 @@ In this example, `subversion-test` corresponds to the name of the repository, an This configuration forwards all requests for `http://svn.example.com/` to `mod_dav_svn`. This will provide an overview of the most recent revision of the repository within a web browser. Note that this setup provides *unencrypted* access to your repository over `http`. -2. For a secure connection, configure Apache to [serve content with SSL](/cloud/guides/security/ssl/). Once your certificate files are in place, configure the virtual host to respond to requests on port `443` rather than `80`: +2. For a secure connection, configure Apache to [serve content with SSL](/cloud/guides/security/ssl). Once your certificate files are in place, configure the virtual host to respond to requests on port `443` rather than `80`: {{< file "/etc/apache2/sites-available/svn.example.com.conf" apache >}} diff --git a/docs/guides/development/version-control/resolving-git-merge-conflicts/index.md b/docs/guides/development/version-control/resolving-git-merge-conflicts/index.md index 9af09366984..3e3e1af9ff5 100644 --- a/docs/guides/development/version-control/resolving-git-merge-conflicts/index.md +++ b/docs/guides/development/version-control/resolving-git-merge-conflicts/index.md @@ -27,7 +27,7 @@ There are several best practices you can adopt to help you avoid merge conflicts - Modularize your project by splitting it into several small files instead of a few large ones. -- Keep your feature branches up-to-date by [rebasing](/cloud/guides/git-rebase-command/) them frequently. +- Keep your feature branches up-to-date by [rebasing](/cloud/guides/git-rebase-command) them frequently. - Avoid making sweeping changes to your code base. For example, avoid changing your code-formatting conventions or renaming a widely-used class. If you have to do this, let everyone on the project know so that they can merge these changes into their local working branches. @@ -139,7 +139,7 @@ Remember to commit or stash any uncommitted changes in your working directory, s You can also use `git commit`. This method doesn't check for unresolved conflicts, so it’s not as safe as `git merge --continue`. {{< /note >}} -- If you resolve conflicts on the command line, instead of using a merge tool, it’s a good idea to use the [Grep command](/cloud/guides/how-to-use-grep/) to search for conflict markers that you may have missed. +- If you resolve conflicts on the command line, instead of using a merge tool, it’s a good idea to use the [Grep command](/cloud/guides/how-to-use-grep) to search for conflict markers that you may have missed. - Git enters your system's default editor so that you can edit the commit message (unless you use the `--no-edit` option). In your commit message, add some information about what caused the conflict and how you resolved it. @@ -245,7 +245,7 @@ The chapter on [Advanced Merging](https://git-scm.com/book/en/v2/Git-Tools-Advan ### Visual Studio Code (VS Code) -[Visual Studio Code (VS Code)](/cloud/marketplace-docs/guides/vscode/) is a full-featured code editor. VS Code provides a good set of conflict-resolution tools that can be invoked from the command line. You must configure Git to use VS Code as a merge tool. Use the following Git commands to set this up: +[Visual Studio Code (VS Code)](/cloud/marketplace-docs/guides/vscode) is a full-featured code editor. VS Code provides a good set of conflict-resolution tools that can be invoked from the command line. You must configure Git to use VS Code as a merge tool. Use the following Git commands to set this up: git config --global merge.tool code git config --global mergetool.code.cmd 'code --wait $MERGED' diff --git a/docs/guides/development/version-control/revert-last-git-commit/index.md b/docs/guides/development/version-control/revert-last-git-commit/index.md index ec7d4816be5..42fcebb0040 100644 --- a/docs/guides/development/version-control/revert-last-git-commit/index.md +++ b/docs/guides/development/version-control/revert-last-git-commit/index.md @@ -18,13 +18,13 @@ Git is a widely used Version Control System (VCS) known for its versatility. It You might need that recoverability after an inadvertent commit or to undo a commit for any reason. This tutorial shows you how to use the `git` command line utility to revert a commit. It covers methods using both the `git revert` and `git reset` commands and explains the differences. -Learn more about Git generally in our guide [Git vs SVN: Pros and Cons of Each Version Control System](/cloud/guides/svn-vs-git/#what-is-the-git-version-control-system). For a more general, and thorough, coverage of reverting Git commits, take a look at our guide on [How to Undo a Git Commit](/cloud/guides/how-to-undo-git-commit/). +Learn more about Git generally in our guide [Git vs SVN: Pros and Cons of Each Version Control System](/cloud/guides/svn-vs-git#what-is-the-git-version-control-system). For a more general, and thorough, coverage of reverting Git commits, take a look at our guide on [How to Undo a Git Commit](/cloud/guides/how-to-undo-git-commit). ## Optional: Create a Test Repository If you'd like to test reverting and resetting in a separate repository from one you actively work in, follow the steps below. This will set up an example Git repository similar to the one used for the examples in this tutorial. The commit IDs may be different, but the contents of the repository should otherwise be the same. -The steps presume you have already installed Git and done basic configuration (e.g. user email address and name). If you have not done this yet, you can learn how in our guide [How to Install Git and Clone a GitHub Repository](/cloud/guides/how-to-install-git-and-clone-a-github-repository/). +The steps presume you have already installed Git and done basic configuration (e.g. user email address and name). If you have not done this yet, you can learn how in our guide [How to Install Git and Clone a GitHub Repository](/cloud/guides/how-to-install-git-and-clone-a-github-repository). 1. Create a new directory for your Git repository, and change it into that directory. Here, the new directory, `git-example` is created in the current user's home directory. @@ -186,4 +186,4 @@ The `git reset` command should be used sparingly. Take a good look at the situat That covers all you need to revert recent Git commits. Moreover, the techniques covered in this tutorial can also help you manage Git commits more generally. The `git revert` command can be useful for precisely removing past commits while retaining your commit history. The `git reset` command, on the other hand, provides a more radical option, completely reverting a repository to a previous commit, including the commit history. -To keep learning, refer to the links at the beginning of this guide. These give you more on Git generally as well as more on the commands covered in this tutorial. You may also want to look at our entire lineup of [guides on version control](/cloud/guides/development/version-control/). These cover everything from the fundamentals to particular use cases, and provide steps to deepen your version control knowledge. \ No newline at end of file +To keep learning, refer to the links at the beginning of this guide. These give you more on Git generally as well as more on the commands covered in this tutorial. You may also want to look at our entire lineup of [guides on version control](/cloud/guides/development/version-control). These cover everything from the fundamentals to particular use cases, and provide steps to deepen your version control knowledge. \ No newline at end of file diff --git a/docs/guides/development/version-control/speed-up-your-development-process-with-turborepo/index.md b/docs/guides/development/version-control/speed-up-your-development-process-with-turborepo/index.md index 8f83e45d384..bce41098673 100644 --- a/docs/guides/development/version-control/speed-up-your-development-process-with-turborepo/index.md +++ b/docs/guides/development/version-control/speed-up-your-development-process-with-turborepo/index.md @@ -76,12 +76,12 @@ Turborepo doesn’t install packages. This final piece of the puzzle is left to 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Follow the instructions in our guide [Installing and Using NVM (Node Version Manager)](/cloud/guides/how-to-install-use-node-version-manager-nvm/) to install NVM, Node.js, and NPM. +1. Follow the instructions in our guide [Installing and Using NVM (Node Version Manager)](/cloud/guides/how-to-install-use-node-version-manager-nvm) to install NVM, Node.js, and NPM. -1. You should also be familiar with Git, and have access to a remote repository on GitHub, GitLab, Bitbucket, or other compatible platform. See our [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide to learn more about Git. +1. You should also be familiar with Git, and have access to a remote repository on GitHub, GitLab, Bitbucket, or other compatible platform. See our [Getting Started with Git](/cloud/guides/how-to-configure-git) guide to learn more about Git. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Get Your Own Copy of Turborepo diff --git a/docs/guides/development/version-control/subversion-svn-tutorial/index.md b/docs/guides/development/version-control/subversion-svn-tutorial/index.md index 61b0d9389a0..2111c3af9d1 100644 --- a/docs/guides/development/version-control/subversion-svn-tutorial/index.md +++ b/docs/guides/development/version-control/subversion-svn-tutorial/index.md @@ -17,9 +17,9 @@ Project collaborators make local shallow copies of the repository and make chang Users who want to collaborate on a Subversion project must install a Subversion client on their local machine. You use the local Subversion client to manage your changes and "publish" them to the project repository. This guide shows you how to install the Subversion CLI client on an Ubuntu system and provides commands to get you started collaborating on a Subversion project. {{< note >}} -See our [How to Install Apache Subversion on Ubuntu 20.04](/cloud/guides/install-apache-subversion-ubuntu/) guide to learn how to install and configure a Subversion server. A Subversion server can store and version control multiple projects. +See our [How to Install Apache Subversion on Ubuntu 20.04](/cloud/guides/install-apache-subversion-ubuntu) guide to learn how to install and configure a Subversion server. A Subversion server can store and version control multiple projects. -If you are new to version control systems (VCS), see our guide [SVN vs Git: Which Version Control System Should You Use?](/cloud/guides/svn-vs-git/) to learn more about each VCS. +If you are new to version control systems (VCS), see our guide [SVN vs Git: Which Version Control System Should You Use?](/cloud/guides/svn-vs-git) to learn more about each VCS. {{< /note >}} ## Install the Subversion Client on Ubuntu diff --git a/docs/guides/development/version-control/svn-vs-git/index.md b/docs/guides/development/version-control/svn-vs-git/index.md index 255ddbb4c55..dc538ebf3b5 100644 --- a/docs/guides/development/version-control/svn-vs-git/index.md +++ b/docs/guides/development/version-control/svn-vs-git/index.md @@ -54,7 +54,7 @@ Git's cons are the following: SVN's pros are the following: -- **Takes an easier approach**. The path between [creating a new feature branch](/cloud/guides/subversion-svn-tutorial/#creating-a-subversion-branch) and merging it into the trunk is relatively short and intuitive to grasp. This makes SVN a tool that requires less training when getting started and can be effectively taken up by non-technical contributors. +- **Takes an easier approach**. The path between [creating a new feature branch](/cloud/guides/subversion-svn-tutorial#creating-a-subversion-branch) and merging it into the trunk is relatively short and intuitive to grasp. This makes SVN a tool that requires less training when getting started and can be effectively taken up by non-technical contributors. - **Facilitates a top-down approach**. Since everything is centralized in an SVN repository, there is a single instance of the entire repository. This allows for granular repository access control. Each contributor's access can be limited to particular directories and files. SVN is a good choice when you need to manage security hierarchies within a repository. @@ -88,11 +88,11 @@ Each of the version control systems covered here — SVN and Git — has its par - Use SVN when you need a VCS that favors top-down management, easy contributions, and does not require you to work entirely offline. SVN often comes out on top for enterprise usage specifically for its granular access control, and it is the clear choice if you need to set up security hierarchies. - To get started with SVN, be sure to read through our guide [How to Install and Use the Subversion CLI Client](/cloud/guides/subversion-svn-tutorial/). + To get started with SVN, be sure to read through our guide [How to Install and Use the Subversion CLI Client](/cloud/guides/subversion-svn-tutorial). - Use Git when you need numerous contributors to work in parallel, where you expect lots of potential merge conflicts, and when you need contributors to be able to work locally offline. Because it handles merge conflicts, Git makes sense for most open-source projects, where contributors often work without external coordination. Git shines in a wide range of environments with complex codebases and distributed teams. - To learn more and start working with Git, check out our guide [Getting Started with Git](/cloud/guides/how-to-configure-git/). + To learn more and start working with Git, check out our guide [Getting Started with Git](/cloud/guides/how-to-configure-git). ## Conclusion diff --git a/docs/guides/development/version-control/using-gitlab-runners-with-linode-object-storage/index.md b/docs/guides/development/version-control/using-gitlab-runners-with-linode-object-storage/index.md index e35ec4a73ab..7a94d9ff83a 100644 --- a/docs/guides/development/version-control/using-gitlab-runners-with-linode-object-storage/index.md +++ b/docs/guides/development/version-control/using-gitlab-runners-with-linode-object-storage/index.md @@ -41,11 +41,11 @@ You can also use a GitLab SaaS (GitLab.com) instance. The steps for the GitLab R With Linode, you have three options effective for creating your own self-hosted GitLab instance. -- Use Akamai Quick Deploy Apps to deploy a ready instance with GitLab installed. This method requires the fewest manual steps and provides the surest and quickest way to get a GitLab instance running. You can follow along with our [Deploy Gitlab through Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/gitlab/) guide. +- Use Akamai Quick Deploy Apps to deploy a ready instance with GitLab installed. This method requires the fewest manual steps and provides the surest and quickest way to get a GitLab instance running. You can follow along with our [Deploy Gitlab through Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/gitlab) guide. -- Use the default package manager for your Linux distribution. GitLab maintains official installation packages for CentOS, Debian, Ubuntu, and others, and you can follow the instructions in their [official documentation](https://about.gitlab.com/install/). You may also refer to our [Install GitLab on Ubuntu 18.04](/cloud/guides/install-gitlab-on-ubuntu-18-04/) for additional details on the installation process. +- Use the default package manager for your Linux distribution. GitLab maintains official installation packages for CentOS, Debian, Ubuntu, and others, and you can follow the instructions in their [official documentation](https://about.gitlab.com/install/). You may also refer to our [Install GitLab on Ubuntu 18.04](/cloud/guides/install-gitlab-on-ubuntu-18-04) for additional details on the installation process. -- Use Docker to deploy your GitLab instance. This option requires the most effort and setup. But the option can be a boon for those familiar with Docker and wanting the benefits of a containerized instance. You can follow our [Install GitLab with Docker](/cloud/guides/install-gitlab-with-docker/) guide to set up your GitLab instance with Docker. +- Use Docker to deploy your GitLab instance. This option requires the most effort and setup. But the option can be a boon for those familiar with Docker and wanting the benefits of a containerized instance. You can follow our [Install GitLab with Docker](/cloud/guides/install-gitlab-with-docker) guide to set up your GitLab instance with Docker. The rest of the guide assumes you have your GitLab instance up and running. This guide uses an instance deployed through Akamai Quick Deploy Apps, but the steps should be compatible with any of the options above. @@ -62,7 +62,7 @@ These next steps refer you to guides for creating, updating, and securing a new 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update the instance. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -Throughout the rest of this guide, commands are provided for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Throughout the rest of this guide, commands are provided for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ### Install GitLab Runner @@ -267,7 +267,7 @@ Your Runner Manager thus needs to have both Docker and Docker Manager installed Docker Machine has been deprecated by Docker. However, GitLab maintains its own fork of the Docker Machine project to support GitLab Runners, until GitLab can mobilize another solution. The steps here install GitLab's fork of Docker Machine. {{< /note >}} -1. Follow our [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) guide to set up Docker on your Runner Manager instance. Use the dropdown at the top of the guide to select the appropriate distribution for your instance. +1. Follow our [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian) guide to set up Docker on your Runner Manager instance. Use the dropdown at the top of the guide to select the appropriate distribution for your instance. 1. Use the commands here to download the Docker Machine executable, move it to your instance's path, and give it executable permissions. diff --git a/docs/guides/development/webassembly/rust-webassembly-tutorial/index.md b/docs/guides/development/webassembly/rust-webassembly-tutorial/index.md index 45eed35524e..2715d9fa92b 100644 --- a/docs/guides/development/webassembly/rust-webassembly-tutorial/index.md +++ b/docs/guides/development/webassembly/rust-webassembly-tutorial/index.md @@ -27,7 +27,7 @@ This guide introduces some key concepts behind WebAssembly and gets you started 1. To make the guide more straightforward, its instructions just provide commands that work for Debian and Ubuntu Linux distribution. You may need to modify the commands given in many of the steps if you are using a different distribution. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is WebAssembly? @@ -163,7 +163,7 @@ wasm.greet(); Node.js serves the application on `localhost:8080`. To visit the application remotely, you can use an SSH tunnel: - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with **8080**. + - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) guide, replacing the example port number there with **8080**. - On OS X or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. ssh -L8080:localhost:8080 example-user@192.0.2.0 diff --git a/docs/guides/email/best-practices/installing-mail-filtering-for-ubuntu-12-04/index.md b/docs/guides/email/best-practices/installing-mail-filtering-for-ubuntu-12-04/index.md index 99959dc6351..7e55bac43d0 100644 --- a/docs/guides/email/best-practices/installing-mail-filtering-for-ubuntu-12-04/index.md +++ b/docs/guides/email/best-practices/installing-mail-filtering-for-ubuntu-12-04/index.md @@ -25,7 +25,7 @@ This is a generic introductory guide. You are responsible for ensuring that your ## Prerequisites -This guide assumes you have already followed our [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guides and are running Ubuntu 12.04 LTS. This guide is written for the root user, and all commands listed require root privileges. +This guide assumes you have already followed our [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql) guides and are running Ubuntu 12.04 LTS. This guide is written for the root user, and all commands listed require root privileges. ## Installation diff --git a/docs/guides/email/best-practices/running-a-mail-server/index.md b/docs/guides/email/best-practices/running-a-mail-server/index.md index b90b8dbb41b..d09798a752e 100644 --- a/docs/guides/email/best-practices/running-a-mail-server/index.md +++ b/docs/guides/email/best-practices/running-a-mail-server/index.md @@ -53,7 +53,7 @@ There are several third-party mail services available: - [Postmark](https://postmarkapp.com/why?utm_source=linode&utm_medium=referral&utm_campaign=awareness) - [Fastmail](https://www.fastmail.com) -- [Google Workspace](https://workspace.google.com/products/gmail/) uses the familiar Gmail interface. Check out our guide to [Using Google Workspace for Email](/cloud/guides/using-google-workspace-for-email/). +- [Google Workspace](https://workspace.google.com/products/gmail/) uses the familiar Gmail interface. Check out our guide to [Using Google Workspace for Email](/cloud/guides/using-google-workspace-for-email). - [Microsoft 365](https://www.office.com) is the successor to Outlook.com and can support custom domains for email, amongst other services. If you decide to use an outside mail service, you will still need to set up [DNS](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for your mail and use the settings provided by the third-party mail service. @@ -91,7 +91,7 @@ Here are the most popular MTA services available: - [Courier Mail Server](http://www.courier-mta.org) comes with Courier-IMAP, which is the popular part of the Courier mail server suite, but Courier-MTA also includes mail relaying features. It's a simpler MTA but somewhat limited. - [Exim](http://www.exim.org) is modern and oriented towards flexibility. It's secure, but not quite as security-oriented as Postfix. It's very customizable, but is one of the most complex MTAs to configure. -- [Postfix](http://www.postfix.org) is part of Linode's [recommended mail server build](/cloud/guides/email-with-postfix-dovecot-and-mysql/). It's modern, security-oriented, and very flexible. It is slightly simpler to set up than Exim. +- [Postfix](http://www.postfix.org) is part of Linode's [recommended mail server build](/cloud/guides/email-with-postfix-dovecot-and-mysql). It's modern, security-oriented, and very flexible. It is slightly simpler to set up than Exim. - [Qmail](http://cr.yp.to/qmail.html) is a modern MTAs and supports [Maildir-style](https://en.wikipedia.org/wiki/Maildir) directories. Qmail has not received an update since 2007, but remains very popular. - [Sendmail](http://www.sendmail.com/sm/open_source/) is a legacy MTA that has a large following and good support. - [Zimbra](http://www.zimbra.com) is an all-in-one mail service. Zimbra offers a simple install, but few configurable options. @@ -117,11 +117,11 @@ Most servers and clients support both IMAP and POP3. POP3 clients connect to the Here are the most popular IMAP and POP3 servers available: -- [Citadel](http://www.citadel.org) is an all-in-one mail service that includes mail, calendars, instant messaging, mailing lists, and other collaboration tools. It's open source and geared towards small and medium-sized organizations. Linode has guides for [Citadel on Ubuntu 12.04](/cloud/guides/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin/) and [Citadel on Debian 6](/cloud/guides/email-with-citadel-on-debian-6-squeeze/). +- [Citadel](http://www.citadel.org) is an all-in-one mail service that includes mail, calendars, instant messaging, mailing lists, and other collaboration tools. It's open source and geared towards small and medium-sized organizations. Linode has guides for [Citadel on Ubuntu 12.04](/cloud/guides/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin) and [Citadel on Debian 6](/cloud/guides/email-with-citadel-on-debian-6-squeeze). - [Courier](http://www.courier-mta.org) has a very popular IMAP server called [Courier IMAP](http://www.courier-mta.org/imap/). It's an all-in-one mail server software suite, but Courier IMAP can be installed by itself if that's the only part you need. - [Cyrus](https://www.cyrusimap.org) is a modern, security-oriented IMAP/POP3 server designed to work on sealed servers where users do not log in directly. - [DBMail](http://www.dbmail.org) is an open source project that stores mail in databases instead of flat files. -- [Dovecot](http://dovecot.org) is a lightweight, modern, and configurable mail server, and is part of our [recommended mail server build](/cloud/guides/email-with-postfix-dovecot-and-mysql/). +- [Dovecot](http://dovecot.org) is a lightweight, modern, and configurable mail server, and is part of our [recommended mail server build](/cloud/guides/email-with-postfix-dovecot-and-mysql). - [Xmail](http://www.xmailserver.org) is a full-featured POP3 server, but does not support IMAP. - [Zimbra](http://www.zimbra.com) is an all-in-one mail service that's much simpler to install than other options, but less customizable. @@ -129,17 +129,17 @@ Here are the most popular IMAP and POP3 servers available: ### TLS/SSL Certificate -A TLS (SSL) certificate can be used to encrypt connections to your mail server using protocols like [STARTTLS](https://en.wikipedia.org/wiki/Opportunistic_TLS). It is recommended to obtain your certificate from a public Certificate Authority (CA) to provide authenticity guarantees for your users and avoid warnings and error messages. You can generate a free Let's Encrypt certificate using the [certbot](https://certbot.eff.org/) tool or use a paid service like your domain's registrar or a dedicated certificate provider. See [Obtain a Commercially Signed TLS Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) for additional details. +A TLS (SSL) certificate can be used to encrypt connections to your mail server using protocols like [STARTTLS](https://en.wikipedia.org/wiki/Opportunistic_TLS). It is recommended to obtain your certificate from a public Certificate Authority (CA) to provide authenticity guarantees for your users and avoid warnings and error messages. You can generate a free Let's Encrypt certificate using the [certbot](https://certbot.eff.org/) tool or use a paid service like your domain's registrar or a dedicated certificate provider. See [Obtain a Commercially Signed TLS Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate) for additional details. -If the certificate is for internal use (not a public-facing service) and you are able to mark the certificate as trusted in your users' mail clients, a self-signed certificate may be sufficient. Consider any security implications and error messages that may appear when using a self-signed certificate. See [Create a Self-Signed TLS Certificate](/cloud/guides/create-a-self-signed-tls-certificate/) for instructions. +If the certificate is for internal use (not a public-facing service) and you are able to mark the certificate as trusted in your users' mail clients, a self-signed certificate may be sufficient. Consider any security implications and error messages that may appear when using a self-signed certificate. See [Create a Self-Signed TLS Certificate](/cloud/guides/create-a-self-signed-tls-certificate) for instructions. ### Software Installation Install and configure the MTA, MDA, and IMAP/POP3 server. To help manage domains, email addresses, user credentials, aliases, etc., install a database server like MySQL or PostgreSQL. -For detailed configuration instructions, see our [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide. +For detailed configuration instructions, see our [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql) guide. -For more mail server guides, including guides for older software versions and other mail-related services, visit our [Email Server Guides](/cloud/guides/email/). +For more mail server guides, including guides for older software versions and other mail-related services, visit our [Email Server Guides](/cloud/guides/email). ### DNS Records @@ -244,7 +244,7 @@ If you're using a firewall, be sure to edit the rules for your mail server's por ### Webmail -Webmail is a type of mail client that can be installed on your server and accessed from a web browser. It allows your users to access their email from your website (example: `http://example.com/mail`) anywhere they have access to the internet. Running a web server is a prerequisite for running a webmail client, so follow the [Hosting a Website](/cloud/guides/set-up-web-server-host-website/) guide if you want to run webmail on your Linode, in addition to installing a mail server. +Webmail is a type of mail client that can be installed on your server and accessed from a web browser. It allows your users to access their email from your website (example: `http://example.com/mail`) anywhere they have access to the internet. Running a web server is a prerequisite for running a webmail client, so follow the [Hosting a Website](/cloud/guides/set-up-web-server-host-website) guide if you want to run webmail on your Linode, in addition to installing a mail server. Here are some of the most popular webmail clients: diff --git a/docs/guides/email/citadel/email-with-citadel-on-debian-5-lenny/index.md b/docs/guides/email/citadel/email-with-citadel-on-debian-5-lenny/index.md index c9e5511b44c..01c3b5538e0 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-debian-5-lenny/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It also features an automated installation process and versatile deployment options that allow the application to be scaled across multiple servers. -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. **Please note:** If you intend to install Citadel alongside another web server package such as Apache or nginx, select the "internal" option when asked about web server integration. Be sure to specify unique ports for Citadel such as 8080 for HTTP or 4343 for HTTPS. diff --git a/docs/guides/email/citadel/email-with-citadel-on-debian-6-squeeze/index.md b/docs/guides/email/citadel/email-with-citadel-on-debian-6-squeeze/index.md index caefc9af9be..ba5e5142b21 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-debian-6-squeeze/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-debian-6-squeeze/index.md @@ -17,7 +17,7 @@ relations: deprecated: true --- -Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname diff --git a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-10-04-lts-lucid/index.md index 213dcb46dfb..a7d2d255306 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-10-04-lts-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It also features an automated installation process and versatile deployment options that allow the application to be scaled across multiple servers. -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. **Please note:** If you intend to install Citadel alongside another web server package such as Apache or nginx, select the "internal" option when asked about web server integration. Be sure to specify unique ports for Citadel such as 8080 for HTTP or 4343 for HTTPS. diff --git a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin/index.md b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin/index.md index 9e9d9cf1c30..a9b8beaa0da 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin/index.md @@ -25,7 +25,7 @@ There is a known bug that prevents Citadel from running properly on 32-bit Linod ## Prerequisites -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. diff --git a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-14-04/index.md b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-14-04/index.md index f13fc074cd1..a8ff6e51421 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-14-04/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-14-04/index.md @@ -32,7 +32,7 @@ There is a known bug that prevents Citadel from running properly on 32-bit Linod ## Prerequisites -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. diff --git a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-04-jaunty/index.md b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-04-jaunty/index.md index 385542dd746..c8b4c108562 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-04-jaunty/index.md @@ -20,7 +20,7 @@ deprecated: true Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It also features an automated installation process and versatile deployment options that allow the application to be scaled across multiple servers. -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. **Please note:** If you intend to install Citadel alongside another web server package such as Apache or nginx, select the "internal" option when asked about web server integration. Be sure to specify unique ports for Citadel such as 8080 for HTTP or 4343 for HTTPS. diff --git a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-10-karmic/index.md b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-10-karmic/index.md index c381d84be6e..a6f6718ef3d 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It also features an automated installation process and versatile deployment options that allow the application to be scaled across multiple servers. -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. **Please note:** If you intend to install Citadel alongside another web server package such as Apache or nginx, select the "internal" option when asked about web server integration. Be sure to specify unique ports for Citadel such as 8080 for HTTP or 4343 for HTTPS. diff --git a/docs/guides/email/clients/install-roundcube-on-ubuntu/index.md b/docs/guides/email/clients/install-roundcube-on-ubuntu/index.md index 9976396f65d..00a3f907c09 100644 --- a/docs/guides/email/clients/install-roundcube-on-ubuntu/index.md +++ b/docs/guides/email/clients/install-roundcube-on-ubuntu/index.md @@ -29,15 +29,15 @@ Roundcube is a web-based IMAP email client that offers a user interface similar 2. Complete the sections of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to create a standard user account, harden SSH access and remove unnecessary network services. -3. This guide is designed to work with our [Installing Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) tutorial, but you **can** use a different mail server. +3. This guide is designed to work with our [Installing Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql) tutorial, but you **can** use a different mail server. -4. Configure an **A HOST** or **CNAME** DNS record (a subdomain) to point at your Linode. For this guide, the subdomain `webmail` will be used. Refer to our [Introduction to DNS Records](/cloud/guides/dns-overview/) guide if you need help creating this record. +4. Configure an **A HOST** or **CNAME** DNS record (a subdomain) to point at your Linode. For this guide, the subdomain `webmail` will be used. Refer to our [Introduction to DNS Records](/cloud/guides/dns-overview) guide if you need help creating this record. 5. Update your server's software packages: sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Linux, Apache, MySQL and PHP (LAMP) Stack @@ -80,7 +80,7 @@ We will create a new virtual host for Roundcube in this section. This makes a ne sudo chmod 644 apache2-roundcube.sample.conf -5. Determine what type of Secure Socket Layer (SSL) encryption certificate is best for your Roundcube deployment. A [self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate/) is easy and free, but triggers an error in most modern browsers reporting that the connection is not private. [Let's Encrypt](https://letsencrypt.org/) offers browser trusted, free SSL certificates, but does not support [Extended Validation](https://en.wikipedia.org/wiki/Extended_Validation_Certificate) (EV) or multi-domain ([wildcard](https://en.wikipedia.org/wiki/Wildcard_certificate)) certificates. To gain those features, a [commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) must be used. +5. Determine what type of Secure Socket Layer (SSL) encryption certificate is best for your Roundcube deployment. A [self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate) is easy and free, but triggers an error in most modern browsers reporting that the connection is not private. [Let's Encrypt](https://letsencrypt.org/) offers browser trusted, free SSL certificates, but does not support [Extended Validation](https://en.wikipedia.org/wiki/Extended_Validation_Certificate) (EV) or multi-domain ([wildcard](https://en.wikipedia.org/wiki/Wildcard_certificate)) certificates. To gain those features, a [commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate) must be used. 6. Once you have your SSL certificate, edit the following options in `apache2-roundcube.sample.conf` to match your desired configuration: @@ -184,7 +184,7 @@ install ok: channel://pear.php.net/Mail_mimeDecode-1.5.6 echo '0 0 * * * root bash /var/www/roundcube/bin/cleandb.sh >> /dev/null' | sudo tee --append /etc/crontab - This utilizes a cron job to run the `cleandb.sh` shell script included with Roundcube once per day at midnight. Read our [Scheduling Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide to learn about Cron. + This utilizes a cron job to run the `cleandb.sh` shell script included with Roundcube once per day at midnight. Read our [Scheduling Tasks with Cron](/cloud/guides/schedule-tasks-with-cron) guide to learn about Cron. ## Enable Roundcube's Apache Virtual Host diff --git a/docs/guides/email/clients/install-squirrelmail-on-ubuntu-16-04-or-debian-8/index.md b/docs/guides/email/clients/install-squirrelmail-on-ubuntu-16-04-or-debian-8/index.md index 0697840c280..986cd91b9bd 100644 --- a/docs/guides/email/clients/install-squirrelmail-on-ubuntu-16-04-or-debian-8/index.md +++ b/docs/guides/email/clients/install-squirrelmail-on-ubuntu-16-04-or-debian-8/index.md @@ -22,12 +22,12 @@ deprecated: true ![Install SquirrelMail on Ubuntu or Debian](Install_SquirrelMail_smg.jpg) -SquirrelMail is a webmail package, written in PHP, which supports both SMTP and IMAP protocols, and features cross-platform compatibility. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 16.04](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/) or [LAMP Server on Debian 8](/cloud/guides/lamp-on-debian-8-jessie/) guide. +SquirrelMail is a webmail package, written in PHP, which supports both SMTP and IMAP protocols, and features cross-platform compatibility. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 16.04](/cloud/guides/install-lamp-stack-on-ubuntu-16-04) or [LAMP Server on Debian 8](/cloud/guides/lamp-on-debian-8-jessie) guide. {{% content "email-warning-shortguide" %}} {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Privileges](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Privileges](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installation @@ -133,7 +133,7 @@ Before using SquirrelMail for the first time, configure it to access your mail s 3. If your mail server is on the same Linode as your SquirrelMail installation, you may not need to make any adjustments to the default settings. Otherwise, adjust the **Domain**, **IMAP**, and **SMTP** settings to match the mail server you want to connect to. You can find additional configuration tips for this section from [SquirrelMail's official documentation](http://squirrelmail.org/docs/admin/admin-5.html#ss5.3). {{< note respectIndent=false >}} -If your email server uses `STARTTLS` encryption, as our [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide does, You will not be able to authenticate using this version of Squirrelmail. Version 1.5.1 and higher can use `STARTTLS`, but are in development and not available in the main repositories. You can [download](https://squirrelmail.org/download.php) the latest build from Squirrelmail's website. +If your email server uses `STARTTLS` encryption, as our [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql) guide does, You will not be able to authenticate using this version of Squirrelmail. Version 1.5.1 and higher can use `STARTTLS`, but are in development and not available in the main repositories. You can [download](https://squirrelmail.org/download.php) the latest build from Squirrelmail's website. {{< /note >}} 4. When done, press `S` to save your changes, then press Q to quit. diff --git a/docs/guides/email/clients/installing-squirrelmail-on-debian-7/index.md b/docs/guides/email/clients/installing-squirrelmail-on-debian-7/index.md index 558d55c72e5..89338043ed6 100644 --- a/docs/guides/email/clients/installing-squirrelmail-on-debian-7/index.md +++ b/docs/guides/email/clients/installing-squirrelmail-on-debian-7/index.md @@ -20,10 +20,10 @@ relations: deprecated: true --- -SquirrelMail is a webmail package written in PHP. It supports both SMTP and IMAP protocols. SquirrelMail features cross-platform compatibility since all of its pages render in HTML 4.0. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 12.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. +SquirrelMail is a webmail package written in PHP. It supports both SMTP and IMAP protocols. SquirrelMail features cross-platform compatibility since all of its pages render in HTML 4.0. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 12.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Privileges](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Privileges](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installation diff --git a/docs/guides/email/clients/installing-squirrelmail-on-ubuntu-12-04/index.md b/docs/guides/email/clients/installing-squirrelmail-on-ubuntu-12-04/index.md index 44185ec0eeb..cc4d2d97ebd 100644 --- a/docs/guides/email/clients/installing-squirrelmail-on-ubuntu-12-04/index.md +++ b/docs/guides/email/clients/installing-squirrelmail-on-ubuntu-12-04/index.md @@ -20,10 +20,10 @@ relations: deprecated: true --- -SquirrelMail is a webmail package written in PHP. It supports both SMTP and IMAP protocols. SquirrelMail features cross-platform compatibility since all of its pages render in HTML 4.0. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 12.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. +SquirrelMail is a webmail package written in PHP. It supports both SMTP and IMAP protocols. SquirrelMail features cross-platform compatibility since all of its pages render in HTML 4.0. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 12.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Privileges](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Privileges](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installation diff --git a/docs/guides/email/clients/retrieve-email-using-getmail/index.md b/docs/guides/email/clients/retrieve-email-using-getmail/index.md index e5c0b0a9486..0497e9b202d 100644 --- a/docs/guides/email/clients/retrieve-email-using-getmail/index.md +++ b/docs/guides/email/clients/retrieve-email-using-getmail/index.md @@ -17,11 +17,11 @@ external_resources: tags: ["email"] --- -Getmail is a simple mail retriever. In many ways, the software is a response to the complexity of [fetchmail](/cloud/guides/using-fetchmail-to-retrieve-email/). Getmail provides a simple and efficient tool for downloading email from POP (Post Office Protocol) and IMAP (Internet Messaged Access Protocol) servers. +Getmail is a simple mail retriever. In many ways, the software is a response to the complexity of [fetchmail](/cloud/guides/using-fetchmail-to-retrieve-email). Getmail provides a simple and efficient tool for downloading email from POP (Post Office Protocol) and IMAP (Internet Messaged Access Protocol) servers. -You can use getmail to download email from your Linode's mail server powered by [Citadel](/cloud/guides/email/citadel/) or [Dovecot](/cloud/guides/email/postfix/) or you can use getmail on your Linode to download email from one or more third-party mail providers (as long as POP or IMAP is supported) and deliver it to a local email gateway. +You can use getmail to download email from your Linode's mail server powered by [Citadel](/cloud/guides/email/citadel) or [Dovecot](/cloud/guides/email/postfix) or you can use getmail on your Linode to download email from one or more third-party mail providers (as long as POP or IMAP is supported) and deliver it to a local email gateway. -Before getting started with Getmail, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before getting started with Getmail, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Getmail @@ -165,7 +165,7 @@ The final file is located in the `/home/foreman/mail` directory and is specified ### Check Email Regularly Using Cron -If you would like your system to check for email regularly, you can run the `getmail` command regularly with cron. For a more detailed explanation of cron, you may consider the [introduction to cron](/cloud/guides/schedule-tasks-with-cron/) guide. To add the "cron job", issue the following command to edit your cronjobs: +If you would like your system to check for email regularly, you can run the `getmail` command regularly with cron. For a more detailed explanation of cron, you may consider the [introduction to cron](/cloud/guides/schedule-tasks-with-cron) guide. To add the "cron job", issue the following command to edit your cronjobs: crontab -e diff --git a/docs/guides/email/clients/using-fetchmail-to-retrieve-email/index.md b/docs/guides/email/clients/using-fetchmail-to-retrieve-email/index.md index 61c731dcfbe..497dfc5ffae 100644 --- a/docs/guides/email/clients/using-fetchmail-to-retrieve-email/index.md +++ b/docs/guides/email/clients/using-fetchmail-to-retrieve-email/index.md @@ -21,7 +21,7 @@ deprecated: true The `fetchmail` program is a classic UNIX and Unix-like utility used to retrieve email from remote servers and deliver it to local users on a server. There are a number of different scenarios where fetchmail is used. Fetchmail is a popular tool for manually downloading email from a POP or IMAP server for personal use on a local machine. Another common application uses fetchmail to create an "email gateway," where email is collected from a number of different accounts or from a large centralized server and provided to the user in a manageable situation. -If you're new to Linode we always recommend completing our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) before beginning a tutorial. If you're new to Linux we also recommend considering the [beginners guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the many documents in the [Tools & Reference](/cloud/guides/tools-reference/) section. If you need a more full featured email stack, consider one of our other [email guides](/cloud/guides/email/). +If you're new to Linode we always recommend completing our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) before beginning a tutorial. If you're new to Linux we also recommend considering the [beginners guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the many documents in the [Tools & Reference](/cloud/guides/tools-reference) section. If you need a more full featured email stack, consider one of our other [email guides](/cloud/guides/email). ## Installing Fetchmail @@ -76,7 +76,7 @@ In the first specification, fetchmail is told to check the `mail.example.com` se In the second example, a single account (i.e. `betty`) is retrieved from the remote server (i.e. `mail.dexample.org`) and passed to the MDA `procmail` utility. Additionally, account has the `sslproto` option is enabled to encrypt this traffic using `ssl`. -Fetchmail requires that the `~/.fetchmailrc` file have the [access permissions](/cloud/guides/linux-users-and-groups/) of 600. Permissions of 600 equate to read and writeable by the user account which "owns" the file with no permissions granted to group or other users. To achieve this, issue the following command: +Fetchmail requires that the `~/.fetchmailrc` file have the [access permissions](/cloud/guides/linux-users-and-groups) of 600. Permissions of 600 equate to read and writeable by the user account which "owns" the file with no permissions granted to group or other users. To achieve this, issue the following command: chmod 600 ~/.fetchmailrc diff --git a/docs/guides/email/email-services/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/index.md b/docs/guides/email/email-services/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/index.md index be0e4012ba3..ab0cdfebddc 100644 --- a/docs/guides/email/email-services/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/index.md +++ b/docs/guides/email/email-services/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/index.md @@ -17,7 +17,7 @@ aliases: [] Postfix is a Mail Transfer Agent (MTA) that can act as an SMTP server or client to send or receive email. There are many reasons why you would want to configure Postfix to send email using Google Workspace (previously called G Suite and Google Apps) and Gmail. One reason is to avoid getting your mail flagged as spam if your current server's IP has been added to a block list. -In this guide, you will learn how to install and configure a Postfix server on Debian or Ubuntu to send email through Gmail and Google Workspace. For information on configuring Postfix with other external SMTP servers, see our [Configure Postfix to Send Mail Using an External SMTP Server](/cloud/guides/postfix-smtp-debian7/) guide. +In this guide, you will learn how to install and configure a Postfix server on Debian or Ubuntu to send email through Gmail and Google Workspace. For information on configuring Postfix with other external SMTP servers, see our [Configure Postfix to Send Mail Using an External SMTP Server](/cloud/guides/postfix-smtp-debian7) guide. {{% content "email-warning-shortguide" %}} @@ -32,7 +32,7 @@ In this guide, you will learn how to install and configure a Postfix server on D 3. Use your web browser to confirm your email login credentials by logging in to [Gmail](https://gmail.com). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Postfix diff --git a/docs/guides/email/email-services/how-to-install-and-use-postal/index.md b/docs/guides/email/email-services/how-to-install-and-use-postal/index.md index ff04e8c9f84..a62457c3fba 100644 --- a/docs/guides/email/email-services/how-to-install-and-use-postal/index.md +++ b/docs/guides/email/email-services/how-to-install-and-use-postal/index.md @@ -63,7 +63,7 @@ It can be challenging to run and maintain a web server. To maintain a positive r 1. Postal requires at least four GB of RAM, two CPU cores, and at least 100GB of disk space. For best performance, run Postal on a dedicated server that is not handling other tasks. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Postal @@ -215,7 +215,7 @@ Postal requires some additional configuration before it can be used. Several uti 1. Use the `postal bootstrap` tool to generate several configuration files. Supply the domain name for Postal as an argument. In the following command, replace `postal.example.com` with the actual domain name. {{< note >}} - This is the domain created in the "A/AAAA Record(s)" step of [How to Configure DNS Records for the Postal Mail Server](/cloud/guides/how-to-install-and-use-postal/#how-to-configure-dns-records-for-postal) section. + This is the domain created in the "A/AAAA Record(s)" step of [How to Configure DNS Records for the Postal Mail Server](/cloud/guides/how-to-install-and-use-postal#how-to-configure-dns-records-for-postal) section. {{< /note >}} ```command diff --git a/docs/guides/email/email-services/postfix-smtp-debian7/index.md b/docs/guides/email/email-services/postfix-smtp-debian7/index.md index 31dabcca9ee..5d165c05625 100644 --- a/docs/guides/email/email-services/postfix-smtp-debian7/index.md +++ b/docs/guides/email/email-services/postfix-smtp-debian7/index.md @@ -42,7 +42,7 @@ At a high-level Postfix configuration involves the following steps: ## Postfix Configuration {{< note >}} -If you’re using Gmail or Google Workspace, see our [Configure Postfix to Send Mail Using Gmail and Google Workspace on Debian or Ubuntu](/cloud/guides/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/) guide instead. +If you’re using Gmail or Google Workspace, see our [Configure Postfix to Send Mail Using Gmail and Google Workspace on Debian or Ubuntu](/cloud/guides/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu) guide instead. {{< /note >}} ### Gathering Prerequisites @@ -87,7 +87,7 @@ myhostname = fqdn.example.com Usernames and passwords are stored in the `/etc/postfix/sasl_passwd` file. In this section, you add your external mail provider credentials to the `sasl_passwd` Postfix configuration file. {{< note >}} -The examples in this section provide the general steps to configure Postfix to use an external SMTP provider. If you want to use Mandrill or SendGrid as your SMTP provider, you can refer to the examples in the [Postfix Configuration with Mandrill, and SendGrid](/cloud/guides/postfix-smtp-debian7/#postfix-configuration-with-mandrill-and-sendgrid) section of this guide. +The examples in this section provide the general steps to configure Postfix to use an external SMTP provider. If you want to use Mandrill or SendGrid as your SMTP provider, you can refer to the examples in the [Postfix Configuration with Mandrill, and SendGrid](/cloud/guides/postfix-smtp-debian7#postfix-configuration-with-mandrill-and-sendgrid) section of this guide. {{< /note >}} First, open or create the `/etc/postfix/sasl_passwd` file: @@ -121,7 +121,7 @@ In the previous section you added plain text credentials to the `/etc/postfix/sa You are now ready to provide the configurations needed by Postfix to use the external SMTP server. This configuration tells Postfix to deliver mail indirectly via a relay host, which in this case, is an external SMTP server. {{< note >}} -Refer to the [Postfix Configuration with Mandrill, and SendGrid](/cloud/guides/postfix-smtp-debian7/#postfix-configuration-with-mandrill-and-sendgrid) section of this guide for specific relay host configurations for Mandrill, and SendGrid. +Refer to the [Postfix Configuration with Mandrill, and SendGrid](/cloud/guides/postfix-smtp-debian7#postfix-configuration-with-mandrill-and-sendgrid) section of this guide for specific relay host configurations for Mandrill, and SendGrid. {{< /note >}} 1. Using a text editor, open the `/etc/postfix/main.cf` file. diff --git a/docs/guides/email/email-services/using-google-workspace-for-email/index.md b/docs/guides/email/email-services/using-google-workspace-for-email/index.md index 18aa4811d07..09e5f38a49a 100644 --- a/docs/guides/email/email-services/using-google-workspace-for-email/index.md +++ b/docs/guides/email/email-services/using-google-workspace-for-email/index.md @@ -13,9 +13,9 @@ aliases: [] tags: ["email"] --- -There are many options for running your own email server, and with applications like [Citadel](/cloud/guides/email/citadel/), hosting your own email stack can be quite straightforward. Nevertheless, managing independent email servers can be daunting, given email's importance and potential for complexity. This is particularly true when you have multiple users and/or complex filtering schemes. Many people prefer to delegate their email to a third-party email service like Google so they can better concentrate on the administration of other, more mission critical services. +There are many options for running your own email server, and with applications like [Citadel](/cloud/guides/email/citadel), hosting your own email stack can be quite straightforward. Nevertheless, managing independent email servers can be daunting, given email's importance and potential for complexity. This is particularly true when you have multiple users and/or complex filtering schemes. Many people prefer to delegate their email to a third-party email service like Google so they can better concentrate on the administration of other, more mission critical services. -The process for forwarding your email to Google's servers is a matter of redirecting the MX [DNS records](/cloud/guides/dns-overview/) which govern email routing to Google's email servers. Note that there are a number of third-party email service providers and Linode does not specifically endorse any of them. +The process for forwarding your email to Google's servers is a matter of redirecting the MX [DNS records](/cloud/guides/dns-overview) which govern email routing to Google's email servers. Note that there are a number of third-party email service providers and Linode does not specifically endorse any of them. View the [Google Workspace](https://workspace.google.com/) website to learn more about the service, plans, and pricing. This document assumes that you are using Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) to manage the DNS records for your domain name, and that you've already signed up for a Google Workspace account. diff --git a/docs/guides/email/email-services/what-are-pop-and-imap/index.md b/docs/guides/email/email-services/what-are-pop-and-imap/index.md index 537cf4cff7f..5563594a721 100644 --- a/docs/guides/email/email-services/what-are-pop-and-imap/index.md +++ b/docs/guides/email/email-services/what-are-pop-and-imap/index.md @@ -19,7 +19,7 @@ POP and IMAP are both message *retrieval* protocols that access and present emai Message retrieval is just one of several functions in a complete email system. Neither POP nor IMAP send email messages. Before delving into each protocol, it’s best to review client and server architecture to see where POP and IMAP fit in. -Mail clients such as [Mozilla Thunderbird](https://www.thunderbird.net/en-US/), [Evolution](https://wiki.gnome.org/Apps/Evolution), or [Microsoft Outlook](https://www.microsoft.com/en-us/microsoft-365/outlook/email-and-calendar-software-microsoft-outlook) are known as message user agents (MUAs). Their function is to compose and read email (Outlook runs proprietary protocols internally, but uses connectors to communicate with standards-based servers). To send messages, MUAs connect to mail servers using either the [Simple Mail Transfer Protocol (SMTP)](https://www.rfc-editor.org/rfc/rfc5321) or the [message submission protocol](https://datatracker.ietf.org/doc/html/rfc6409). For more information on SMTP, read our guide [Quick Guide to SMTP](/cloud/guides/what-is-smtp/). +Mail clients such as [Mozilla Thunderbird](https://www.thunderbird.net/en-US/), [Evolution](https://wiki.gnome.org/Apps/Evolution), or [Microsoft Outlook](https://www.microsoft.com/en-us/microsoft-365/outlook/email-and-calendar-software-microsoft-outlook) are known as message user agents (MUAs). Their function is to compose and read email (Outlook runs proprietary protocols internally, but uses connectors to communicate with standards-based servers). To send messages, MUAs connect to mail servers using either the [Simple Mail Transfer Protocol (SMTP)](https://www.rfc-editor.org/rfc/rfc5321) or the [message submission protocol](https://datatracker.ietf.org/doc/html/rfc6409). For more information on SMTP, read our guide [Quick Guide to SMTP](/cloud/guides/what-is-smtp). In TCP/IP email architecture, the server is called a mail transfer agent (MTA). Once a message reaches an MTA, it uses SMTP to relay the message to one or more other servers. It’s fair to say that SMTP does the heavy lifting for mail forwarding on the Internet. Meanwhile, POP or IMAP only get involved on the receiving side. diff --git a/docs/guides/email/exim/deploy-exim-as-a-send-only-mail-server-on-ubuntu-12-04/index.md b/docs/guides/email/exim/deploy-exim-as-a-send-only-mail-server-on-ubuntu-12-04/index.md index 10ba238c218..2e2856f2f65 100644 --- a/docs/guides/email/exim/deploy-exim-as-a-send-only-mail-server-on-ubuntu-12-04/index.md +++ b/docs/guides/email/exim/deploy-exim-as-a-send-only-mail-server-on-ubuntu-12-04/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Exim Homepage](http://www.exim.org/)' - - '[Email Guides](/cloud/guides/email/)' + - '[Email Guides](/cloud/guides/email)' relations: platform: key: deploy-exim-sendonly-email @@ -23,9 +23,9 @@ deprecated: true Many Linux server applications need to send email. Cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Ubuntu 12.04 LTS (Precise Pangolin) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email) for ways to implement such configurations. -We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname diff --git a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-5-lenny/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-5-lenny/index.md index a2df748fcdd..210eba04dc9 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-5-lenny/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-5-lenny/index.md @@ -20,9 +20,9 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Debian 5 (Lenny) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email) for ways to implement such configurations. -We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname @@ -98,6 +98,6 @@ Congratulations! You've configured Exim to send email from your Linode. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/cloud/guides/email/) +- [Email Guides](/cloud/guides/email) diff --git a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-6-squeeze/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-6-squeeze/index.md index 8be1d5ace30..6702d99f429 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-6-squeeze/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-6-squeeze/index.md @@ -20,9 +20,9 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Debian 6 (Squeeze) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email) for ways to implement such configurations. -It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname @@ -94,7 +94,7 @@ Congratulations! You've configured Exim to send email from your Linode. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/cloud/guides/email/) +- [Email Guides](/cloud/guides/email) diff --git a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/index.md index d66168ca2d7..08ebd347a31 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/index.md @@ -20,9 +20,9 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Ubuntu 10.04 LTS (Lucid) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email) for ways to implement such configurations. -We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname @@ -112,7 +112,7 @@ Congratulations! You've configured Exim to send email from your Linode. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/cloud/guides/email/) +- [Email Guides](/cloud/guides/email) diff --git a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick/index.md index 61ea0e54520..3470dacfb4e 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick/index.md @@ -20,9 +20,9 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Ubuntu 10.10 (Maverick) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email) for ways to implement such configurations. -We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname @@ -96,7 +96,7 @@ Congratulations! You've configured Exim to send email. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/cloud/guides/email/) +- [Email Guides](/cloud/guides/email) diff --git a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-11-04-natty/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-11-04-natty/index.md index 8dde80b7c79..c1619ee7eb1 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-11-04-natty/index.md @@ -20,9 +20,9 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Ubuntu 11.04 (Natty) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email) for ways to implement such configurations. -It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname @@ -94,7 +94,7 @@ Congratulations! You've configured Exim to send email from your Linode. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/cloud/guides/email/) +- [Email Guides](/cloud/guides/email) diff --git a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-9-10-karmic/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-9-10-karmic/index.md index 0226974fe42..b62812fca84 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-9-10-karmic/index.md @@ -20,9 +20,9 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Ubuntu 9.10 (Karmic) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/guides/email) for ways to implement such configurations. -We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Install Required Packages @@ -111,7 +111,7 @@ Congratulations! You've configured Exim to send email from your Linode. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/cloud/guides/email/) +- [Email Guides](/cloud/guides/email) diff --git a/docs/guides/email/iredmail/how-to-install-and-configure-iredmail/index.md b/docs/guides/email/iredmail/how-to-install-and-configure-iredmail/index.md index e9c94df8f66..beb8b66c405 100644 --- a/docs/guides/email/iredmail/how-to-install-and-configure-iredmail/index.md +++ b/docs/guides/email/iredmail/how-to-install-and-configure-iredmail/index.md @@ -50,7 +50,7 @@ iRedMail includes the following features and enhancements: 1. iRedMail requires at least 4 GB of RAM, but high-volume production servers require even more. Ensure enough storage is available for the number of users and storage policies you intend to support. For best results, install iRedMail on a fresh server with no other components or configuration. Otherwise, conflicts might occur. Ensure the user and group IDs `2000`, `2001`, and `2002` are not in use. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install iRedMail @@ -241,7 +241,7 @@ To run the iRedMail installation script and configure iRedMail, follow these ste The iRedMail administration panel is now accessible, but any attempt to use it results in a security warning. This is because the server does not yet support HTTPS. -To activate this protocol, first, install a TLS certificate. Let's Encrypt provides a free certificate service that is easy to use. To install the certificate, use the [Certbot](https://certbot.eff.org/) application to automate the granting process. For more information about Certbot, Let's Encrypt certificates, and HTTPS, review the [Linode guide to Using Certbot on NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/). +To activate this protocol, first, install a TLS certificate. Let's Encrypt provides a free certificate service that is easy to use. To install the certificate, use the [Certbot](https://certbot.eff.org/) application to automate the granting process. For more information about Certbot, Let's Encrypt certificates, and HTTPS, review the [Linode guide to Using Certbot on NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu). To enable HTTPS on the server, follow these steps. diff --git a/docs/guides/email/iredmail/install-iredmail-on-ubuntu/index.md b/docs/guides/email/iredmail/install-iredmail-on-ubuntu/index.md index 5fd7f7f7c33..915f9da1ffb 100644 --- a/docs/guides/email/iredmail/install-iredmail-on-ubuntu/index.md +++ b/docs/guides/email/iredmail/install-iredmail-on-ubuntu/index.md @@ -41,7 +41,7 @@ The steps required in this guide require root privileges. Be sure to run the ste ### MX Record -A DNS MX record tells the internet where to send email directed at you domain. Before your Linode can receive email for addresses at a domain, an MX record must be created for that domain, pointing to your Linode's IP address. An example MX record can be found on the Linode [Introduction to DNS records](/cloud/guides/dns-overview/) page. +A DNS MX record tells the internet where to send email directed at you domain. Before your Linode can receive email for addresses at a domain, an MX record must be created for that domain, pointing to your Linode's IP address. An example MX record can be found on the Linode [Introduction to DNS records](/cloud/guides/dns-overview) page. ## Install iRedMail @@ -152,7 +152,7 @@ iRedMail is packaged with a mail server account configuration called iRedAdmin. By default, iRedMail generates a key and self-signed certificate for the mail server, and web server. To avoid other email servers marking email from our server as spam, we install a trusted certificate. -The process of obtaining a trusted certificate is outside the scope of this guide. You can follow the [Obtaining a Commercial TLS Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) guide to obtain a certificate. +The process of obtaining a trusted certificate is outside the scope of this guide. You can follow the [Obtaining a Commercial TLS Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate) guide to obtain a certificate. The next section assumes you have the .key and .crt (or .pem) file in hand and are ready to go. diff --git a/docs/guides/email/mail-in-a-box/mail-in-a-box-email-server/index.md b/docs/guides/email/mail-in-a-box/mail-in-a-box-email-server/index.md index 8aaf2388970..5637ba3286b 100644 --- a/docs/guides/email/mail-in-a-box/mail-in-a-box-email-server/index.md +++ b/docs/guides/email/mail-in-a-box/mail-in-a-box-email-server/index.md @@ -36,7 +36,7 @@ Email security should also a primary concern for most users and Mail-in-a-Box ha ## Before You Begin -- Consider reading through the [Running a Mail Server](/cloud/guides/running-a-mail-server/) guide. This discusses the benefits and drawbacks of self-hosting an email server. +- Consider reading through the [Running a Mail Server](/cloud/guides/running-a-mail-server) guide. This discusses the benefits and drawbacks of self-hosting an email server. - Have a registered domain name that you wish to use with your email server. Verify that your registrar allows *custom nameservers* and *glue records*. @@ -53,7 +53,7 @@ Wherever you see `example.com` in this tutorial, replace it with your domain nam Mail-in-a-Box allows you to configure and manage DNS through its own DNS service or through an external DNS service. This guide covers using the built-in DNS service. To continue, configure a custom name server for whichever domain you wish to associate with this email server. Since all of the domain records for the chosen domain are managed by Mail-in-a-Box, it's recommended that you use a domain not already associated with a service or website. -Follow the instructions within the [Register Custom DNS Name Servers](/cloud/guides/custom-name-servers/) guide. Since Mail-in-a-Box configures your DNS records for you, you can skip the *Add A Records* section. +Follow the instructions within the [Register Custom DNS Name Servers](/cloud/guides/custom-name-servers) guide. Since Mail-in-a-Box configures your DNS records for you, you can skip the *Add A Records* section. 1. Add the following glue records on your domain's registrar, replacing *example.com* with the domain name you wish to use. Each glue record should point to the public IPv4 address of the Compute Instance in which will deploy Mail-in-a-Box. To view the IP addresses, see [Managing IP Addresses on a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). @@ -64,13 +64,13 @@ Follow the instructions within the [Register Custom DNS Name Servers](/cloud/gui 2. Within your registrar, change the name servers used for your domain to match the ones you just registered above. -There can be a delay while your registrar sends these changes to the TLD (top-level domain) name servers. Most reputable registrars and TLD name servers are able to update their records quickly, though it can take up to 24 hours. If you'd like to confirm that the changes have been made, see the [Verify DNS Changes](/cloud/guides/custom-name-servers/#verify-dns-changes) section of the registering a custom name server guide linked above. +There can be a delay while your registrar sends these changes to the TLD (top-level domain) name servers. Most reputable registrars and TLD name servers are able to update their records quickly, though it can take up to 24 hours. If you'd like to confirm that the changes have been made, see the [Verify DNS Changes](/cloud/guides/custom-name-servers#verify-dns-changes) section of the registering a custom name server guide linked above. If you don't see your custom name servers in the dig output within an hour of registering them, there may be an issue with the registration or propagation process. Contact your registrar for help resolving any issues. ## Install Mail-in-a-Box {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. After you log in to your server with an SSH client, update all the software packages on your server: diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-5-lenny/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-5-lenny/index.md index d0711d80f5f..143d34bc376 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-5-lenny/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-5-lenny/index.md @@ -48,7 +48,7 @@ During the Mailman installation, you will be required to specify the languages t ## Configure Mailman -Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-debian-5-lenny/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: +Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-debian-5-lenny#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: newlist mailman @@ -105,7 +105,7 @@ mailman_destination_recipient_limit = 1 {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, add the following lines to your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview#mx) for both domains that you want to receive email with. Additionally, add the following lines to your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -165,7 +165,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -180,7 +180,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Courier and MySQL](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny/) configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Courier and MySQL](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny) configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-6-squeeze/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-6-squeeze/index.md index c96d8625f79..21d9de22ab4 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-6-squeeze/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-6-squeeze/index.md @@ -59,7 +59,7 @@ During the list creation process, Mailman will prompt you for the administrators {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, add the following lines to your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview#mx) for both domains that you want to receive email with. Additionally, add the following lines to your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -152,7 +152,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -167,7 +167,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze/) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze/) configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze) configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid/index.md index 3796522e1a9..9cf66563390 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid/index.md @@ -48,7 +48,7 @@ During the Mailman installation, you will be required to specify the languages t ## Configure Mailman -Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: +Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: newlist mailman @@ -105,7 +105,7 @@ mailman_destination_recipient_limit = 1 {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -164,7 +164,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -179,7 +179,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/) configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid) configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick/index.md index f2b6a87ceef..89cb0863326 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick/index.md @@ -48,7 +48,7 @@ During the Mailman installation, you will be required to specify the languages t ## Configure Mailman -Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: +Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: newlist mailman @@ -105,7 +105,7 @@ mailman_destination_recipient_limit = 1 {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -165,7 +165,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -180,7 +180,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/). or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick/) configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick). or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick) configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin/index.md index e4eaf905f9a..470426447f1 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin/index.md @@ -47,7 +47,7 @@ During the Mailman installation, you will be required to specify the languages t ## Configure Mailman -Consider the [Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin/#configure-virtual-hosting) section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: +Consider the [Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin#configure-virtual-hosting) section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: newlist mailman @@ -104,7 +104,7 @@ mailman_destination_recipient_limit = 1 {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -164,7 +164,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -179,7 +179,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/) configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid) configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic/index.md index d90d3c0daf5..f728c8b512a 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true GNU Mailman is a commonly used Listserv Management application that allows users to create and manage discussion and announcement email lists. Mailman includes support for numerous features including a web-based administrative interface, multiple domains, lists, and complex moderation and access control tools. The Mailman software is primarily written in the Python programing language and has been a popular choice for managing email lists for more than a decade. -Before installing Mailman we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Be sure to read this guide in its entirety before continuing. If you have an existing mail system configured before you begin this, take special care to ensure that installing Mailman will not conflict with delivery of existing mail. +Before installing Mailman we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Be sure to read this guide in its entirety before continuing. If you have an existing mail system configured before you begin this, take special care to ensure that installing Mailman will not conflict with delivery of existing mail. ## Installing Mailman @@ -41,7 +41,7 @@ During the Mailman installation, you will be required to specify the languages t ## Configure Mailman -Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: +Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: newlist mailman @@ -98,7 +98,7 @@ mailman_destination_recipient_limit = 1 {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -158,7 +158,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -173,7 +173,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Courier and MySQL](/cloud/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/) or [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-9-10-karmic/). configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Courier and MySQL](/cloud/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic) or [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-9-10-karmic). configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-5-lenny/index.md b/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-5-lenny/index.md index 618f32c181b..165773e71df 100644 --- a/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-5-lenny/index.md +++ b/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-5-lenny/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Postfix is an efficient, stable, and modern "Mail Transfer Agent" or MTA used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/guides/email/postfix/). +Postfix is an efficient, stable, and modern "Mail Transfer Agent" or MTA used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/guides/email/postfix). -Prior to beginning this document to install a basic Postfix email gateway, we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this document to install a basic Postfix email gateway, we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -211,7 +211,7 @@ Edit this file to include your username and the location of your email gateway. chmod +x /opt/smtp-tunnel /opt/smtp-tunnel start -You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: +You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: /opt/smtp-tunnel stop @@ -240,9 +240,9 @@ You may wish to consult the following resources for additional information on th - [MSMTP Mail Sending Client](http://msmtp.sourceforge.net/) - [Postfix](http://postfix.org) - [Postfix Virtual Mail Handling](http://www.postfix.org/VIRTUAL_README.html) -- [Introduction to the DNS System](/cloud/guides/dns-overview/) -- [Host Email with Postfix, Courier and MySQL on Debian 5 (Lenny)](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) -- [Host Email with Postfix, Dovecot and MySQL on Debian 5 (Lenny)](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-debian-5-lenny/) +- [Introduction to the DNS System](/cloud/guides/dns-overview) +- [Host Email with Postfix, Courier and MySQL on Debian 5 (Lenny)](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny) +- [Host Email with Postfix, Dovecot and MySQL on Debian 5 (Lenny)](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-debian-5-lenny) diff --git a/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-6-squeeze/index.md b/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-6-squeeze/index.md index 139f1d71a65..1f510f9c1de 100644 --- a/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-6-squeeze/index.md +++ b/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-6-squeeze/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Postfix is an efficient, stable, and modern "Mail Transfer Agent" or MTA used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/guides/email/postfix/). +Postfix is an efficient, stable, and modern "Mail Transfer Agent" or MTA used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/guides/email/postfix). -Prior to beginning this document to install a basic Postfix email gateway, we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this document to install a basic Postfix email gateway, we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -211,7 +211,7 @@ Edit this file to include your username and the location of your email gateway. chmod +x /opt/smtp-tunnel /opt/smtp-tunnel start -You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: +You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: /opt/smtp-tunnel stop @@ -240,8 +240,8 @@ You may wish to consult the following resources for additional information on th - [MSMTP Mail Sending Client](http://msmtp.sourceforge.net/) - [Postfix](http://postfix.org) - [Postfix Virtual Mail Handling](http://www.postfix.org/VIRTUAL_README.html) -- [Introduction to the DNS System](/cloud/guides/dns-overview/) -- [Host Email with Postfix, Dovecot and MySQL on Debian 5 (Lenny)](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze/) +- [Introduction to the DNS System](/cloud/guides/dns-overview) +- [Host Email with Postfix, Dovecot and MySQL on Debian 5 (Lenny)](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze) diff --git a/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/index.md b/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/index.md index 2008d209f01..11a9b987148 100644 --- a/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Postfix is an efficient, stable, and modern Mail Transfer Agent, or "MTA", used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/guides/email/postfix/). +Postfix is an efficient, stable, and modern Mail Transfer Agent, or "MTA", used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/guides/email/postfix). -Prior to beginning this document to install a basic Postfix email gateway, it is assumed that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this document to install a basic Postfix email gateway, it is assumed that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -211,7 +211,7 @@ Edit this file to include your username and the location of your email gateway. chmod +x /opt/smtp-tunnel /opt/smtp-tunnel start -You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: +You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: /opt/smtp-tunnel stop @@ -240,8 +240,8 @@ You may wish to consult the following resources for additional information on th - [MSMTP Mail Sending Client](http://msmtp.sourceforge.net/) - [Postfix](http://postfix.org) - [Postfix Virtual Mail Handling](http://www.postfix.org/VIRTUAL_README.html) -- [Introduction to the DNS System](/cloud/guides/dns-overview/) -- [Host Email with Postfix, Dovecot and MySQL on Ubuntu 10.04 (Lucid)](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) +- [Introduction to the DNS System](/cloud/guides/dns-overview) +- [Host Email with Postfix, Dovecot and MySQL on Ubuntu 10.04 (Lucid)](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid) diff --git a/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/index.md b/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/index.md index 6097afdfe27..5e27152a9ac 100644 --- a/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Postfix is an efficient, stable, and modern Mail Transfer Agent, or "MTA", used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/guides/email/postfix/). +Postfix is an efficient, stable, and modern Mail Transfer Agent, or "MTA", used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/guides/email/postfix). -Prior to beginning this document to install a basic Postfix email gateway, it is assumed that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this document to install a basic Postfix email gateway, it is assumed that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -211,7 +211,7 @@ Edit this file to include your username and the location of your email gateway. chmod +x /opt/smtp-tunnel /opt/smtp-tunnel start -You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: +You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: /opt/smtp-tunnel stop @@ -240,8 +240,8 @@ You may wish to consult the following resources for additional information on th - [MSMTP Mail Sending Client](http://msmtp.sourceforge.net/) - [Postfix](http://postfix.org) - [Postfix Virtual Mail Handling](http://www.postfix.org/VIRTUAL_README.html) -- [Introduction to the DNS System](/cloud/guides/dns-overview/) -- [Host Email with Postfix, Dovecot and MySQL on Ubuntu 10.10 (Maverick)](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/) +- [Introduction to the DNS System](/cloud/guides/dns-overview) +- [Host Email with Postfix, Dovecot and MySQL on Ubuntu 10.10 (Maverick)](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick) diff --git a/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md b/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md index 9d9df484129..5a57bbd3d88 100644 --- a/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md +++ b/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md @@ -24,7 +24,7 @@ aliases: [] deprecated: true --- {{< note >}} -We have created a [new version of this guide](/cloud/guides/configure-spf-and-dkim-in-postfix-on-debian-9/) to run on Debian 9. +We have created a [new version of this guide](/cloud/guides/configure-spf-and-dkim-in-postfix-on-debian-9) to run on Debian 9. {{< /note >}} ![SPF and DKIM with Postfix](Configure_SPF_and_DKIM_with_Postfix_on_Debian_8_smg.jpg) @@ -40,10 +40,10 @@ SPF (Sender Policy Framework) is a system that identifies to mail servers what h The DNS instructions for setting up SPF, DKIM and DMARC are generic. The instructions for configuring the SPF policy agent and OpenDKIM into Postfix should work on any distribution after making respective code adjustments for the package tool, and identifying the exact path to the Unix socket file. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{< note type="alert" >}} -You must already have Postfix installed, configured and working. Refer to the [Linode Postfix Guides](/cloud/guides/email/postfix/) for assistance. +You must already have Postfix installed, configured and working. Refer to the [Linode Postfix Guides](/cloud/guides/email/postfix) for assistance. Publishing an SPF DNS record without having the SPF policy agent configured within Postfix is safe; however, publishing DKIM DNS records without having OpenDKIM working correctly within Postfix can result in your email being discarded by the recipient's email server. {{< /note >}} diff --git a/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md b/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md index 060f692f67f..bbfd5645dfe 100644 --- a/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md +++ b/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md @@ -42,10 +42,10 @@ SPF (Sender Policy Framework) is a system that identifies to mail servers what h The DNS instructions for setting up SPF, DKIM and DMARC are generic. The instructions to configure the SPF policy agent and OpenDKIM into Postfix work on any distribution. You only need to make respective code adjustments for the package tool, and identify the exact path to the Unix socket file. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{< note type="alert" >}} -You must already have Postfix installed, configured and working. Refer to the [Linode Postfix Guides](/cloud/guides/email/postfix/) for assistance. +You must already have Postfix installed, configured and working. Refer to the [Linode Postfix Guides](/cloud/guides/email/postfix) for assistance. You can publish an SPF DNS record without configuring the SPF policy agent within Postfix. However, publishing DKIM DNS records without an OpenDKIM within Postfix can result in your email being discarded by the recipient's email server. {{< /note >}} diff --git a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mariadb-on-centos-7/index.md b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mariadb-on-centos-7/index.md index c301eabb5a8..1ce43ac11d9 100644 --- a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mariadb-on-centos-7/index.md +++ b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mariadb-on-centos-7/index.md @@ -11,7 +11,7 @@ tags: ["centos","postfix","email","mariadb"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Troubleshooting Problems with Postfix, Dovecot, and MySQL](/cloud/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/)' + - '[Troubleshooting Problems with Postfix, Dovecot, and MySQL](/cloud/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql)' - '[Postfix Basic Configuration](http://www.postfix.org/BASIC_CONFIGURATION_README.html)' - '[Postfix SASL Howto](http://www.postfix.org/SASL_README.html)' - '[Dovecot Wiki](https://wiki2.dovecot.org/)' @@ -21,7 +21,7 @@ In this guide, you'll learn how to set up a secure virtual user mail server with ![Email with Postfix, Dovecot and MariaDB on CentOS 7](Email_with_Postfix_Dovecot_and_MariaDB_on_CentOS_7_smg.jpg) -For a different Linux distribution or different mail server, review our [email tutorials](/cloud/guides/email/). +For a different Linux distribution or different mail server, review our [email tutorials](/cloud/guides/email). {{% content "email-warning-shortguide" %}} @@ -31,7 +31,7 @@ For a different Linux distribution or different mail server, review our [email t 1. Verify that the iptables [firewall](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) is not blocking any of the standard mail ports (`25`, `465`, `587`, `110`, `995`, `143`, and `993`). If using a different form of firewall, confirm that it is not blocking any of the needed ports. -1. Review the concepts in the [Running a Mail Server](/cloud/guides/running-a-mail-server/) guide. +1. Review the concepts in the [Running a Mail Server](/cloud/guides/running-a-mail-server) guide. ## Configure DNS @@ -718,7 +718,7 @@ You can set up an email client to connect to your mail server. Many clients dete - **SSL:** Incoming and outgoing servers require authentication and SSL encryption. - **Ports:** Use Port `993` for secure IMAP, Port `995` for secure POP3, and Port `587` with SSL for SMTP. -See [Install SquirrelMail on Ubuntu 16.04](/cloud/guides/install-squirrelmail-on-ubuntu-16-04-or-debian-8/) for details on installing an email client. +See [Install SquirrelMail on Ubuntu 16.04](/cloud/guides/install-squirrelmail-on-ubuntu-16-04-or-debian-8) for details on installing an email client. ## Adding New Domains, Email Addresses, and Aliases diff --git a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql/index.md b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql/index.md index ff7529ebfa6..87ff472632f 100644 --- a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql/index.md +++ b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql/index.md @@ -11,7 +11,7 @@ keywords: ["email", "mail", "server", "postfix", "dovecot", "mysql", "mariadb", tags: ["debian","email","ubuntu","mysql","postfix", "mariadb"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[Troubleshooting Problems with Postfix, Dovecot, and MySQL](/cloud/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/)' + - '[Troubleshooting Problems with Postfix, Dovecot, and MySQL](/cloud/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql)' - '[Postfix Basic Configuration](http://www.postfix.org/BASIC_CONFIGURATION_README.html)' - '[Postfix SASL Howto](http://www.postfix.org/SASL_README.html)' - '[Dovecot Wiki](https://wiki2.dovecot.org/)' @@ -30,13 +30,13 @@ In this guide, you'll learn how to set up a secure email server with Postfix, Do This tutorial assumes that you are familiar with the following: 1. You are familiar with the Linux command line. -2. You can edit files using the Nano text editor. Refer to [Nano Commands](/cloud/guides/use-nano-text-editor-commands/) guide if you aren’t familiar with it. +2. You can edit files using the Nano text editor. Refer to [Nano Commands](/cloud/guides/use-nano-text-editor-commands) guide if you aren’t familiar with it. 3. You understand the basics of MySQL data. -4. You have a basic understanding of email configurations. If not, you may wish to review the concepts in the [Running a Mail Server](/cloud/guides/running-a-mail-server/) guide. +4. You have a basic understanding of email configurations. If not, you may wish to review the concepts in the [Running a Mail Server](/cloud/guides/running-a-mail-server) guide. ![Email with Postfix, Dovecot, and MySQL](email_with_postfix_dovecot_and_mysql.png "Setting up a mail server with Postfix, Dovecot, and MySQL") -For a different Linux distribution or different mail server, review our [email tutorials](/cloud/guides/email/). +For a different Linux distribution or different mail server, review our [email tutorials](/cloud/guides/email). {{% content "email-warning-shortguide" %}} @@ -94,7 +94,7 @@ While you can generate an SSL certificate through any certificate authority, we sudo certbot certonly --standalone -You can also reference the [Install an SSL Certificate with Certbot](/cloud/guides/secure-http-traffic-certbot/) guide. Make a note of the file paths for the certificate and private key on the Linode. You will need the path to each during the [Dovecot](#dovecot) configuration steps. +You can also reference the [Install an SSL Certificate with Certbot](/cloud/guides/secure-http-traffic-certbot) guide. Make a note of the file paths for the certificate and private key on the Linode. You will need the path to each during the [Dovecot](#dovecot) configuration steps. ## Install Packages @@ -776,7 +776,7 @@ U 4 John Doe Wed Jun 27 16:42 71/3535 Test email 4 The email message header and body should display. Consider adding spam and virus filtering and a webmail client. - See [Troubleshooting problems with Postfix, Dovecot, and MySQL](/cloud/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/) for debugging steps. + See [Troubleshooting problems with Postfix, Dovecot, and MySQL](/cloud/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql) for debugging steps. ## Configuring an Email Client @@ -789,7 +789,7 @@ You can set up an email client to connect to your mail server. Many clients dete - **POP3:** If using POP3 instead of IMAP, set the port to `995` and require SSL. - **SMTP:** Set the port to `587` and the SSL/Security settings to `STARTTLS` or equivalent. -See [Install SquirrelMail on Ubuntu 16.04](/cloud/guides/install-squirrelmail-on-ubuntu-16-04-or-debian-8/) for details on installing an email client. +See [Install SquirrelMail on Ubuntu 16.04](/cloud/guides/install-squirrelmail-on-ubuntu-16-04-or-debian-8) for details on installing an email client. {{< note >}} The Thunderbird email client will sometimes have trouble automatically detecting account settings when using Dovecot. After it fails to detect the appropriate account settings, you can set up your email account manually. Add in the appropriate information for each setting, using the above values, leaving no setting on **Auto** or **Autodetect**. Once you have entered all the information about your mail server and account, press **Done** rather **Re-Test** and Thunderbird should accept the settings and retrieve your mail. diff --git a/docs/guides/email/postfix/how-to-setup-an-email-server/index.md b/docs/guides/email/postfix/how-to-setup-an-email-server/index.md index a7c39c9e96d..cf27a2cde21 100644 --- a/docs/guides/email/postfix/how-to-setup-an-email-server/index.md +++ b/docs/guides/email/postfix/how-to-setup-an-email-server/index.md @@ -63,14 +63,14 @@ Postfix is a widely-used open source SMTP server and is included in most Linux d | `{{< placeholder "external@email.tld" >}}` | A working external email address. | | `{{< placeholder "POSTFIXADMIN_PASSWORD" >}}` | Your PostfixAdmin database user password. | -1. Familiarity with [SMTP](/cloud/guides/what-is-smtp/) and [IMAP/POP](/cloud/guides/what-are-pop-and-imap/) protocols. +1. Familiarity with [SMTP](/cloud/guides/what-is-smtp) and [IMAP/POP](/cloud/guides/what-are-pop-and-imap) protocols. 1. Although Postfix and Dovecot servers can operate in the *system* or *virtual* mode, only virtual mode is used in this setup. In system mode, only users with local logins can send and receive emails. System mode users do this with lookups against the operating system’s `/etc/passwd` file with all users residing in a single domain. Virtual mode allows an unlimited number of domains, users, and aliases, all unrelated to the underlying operating system. {{< note title="Non-root users recommended" >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Step 1: Configure DNS @@ -502,7 +502,7 @@ The Postfix server allows your server to send outgoing messages and receive emai !include_try /usr/share/dovecot/protocols.d/*.protocol ``` - LMTP protocol is explained in the next section: [Local Message Storage (LMTP)](/cloud/guides/how-to-setup-an-email-server/#step-6-local-message-storage-lmtp). + LMTP protocol is explained in the next section: [Local Message Storage (LMTP)](/cloud/guides/how-to-setup-an-email-server#step-6-local-message-storage-lmtp). If using POP3 protocol, edit the line to also include `pop3`: @@ -840,7 +840,7 @@ PostfixAdmin is a management tool for Postfix/Dovecot that helps with email admi Even though PostfixAdmin runs on the same host, you must use a different hostname such as `postfixadmin.{{< placeholder "example.tld" >}}` for email management. To do this, add **A** and/or **AAAA** DNS records for your new hostname. -If you’re using the Linode DNS Manager to manage your DNS, select the **Domains** menu on the left side of the Cloud Manager dashboard (see [Step 1](/cloud/guides/how-to-setup-an-email-server/#step-1-linode-server-creation)). Point `postfixadmin.{{< placeholder "example.tld" >}}` to the same IP address(es) you are using for `mail.{{< placeholder "example.tld" >}}`. +If you’re using the Linode DNS Manager to manage your DNS, select the **Domains** menu on the left side of the Cloud Manager dashboard (see [Step 1](/cloud/guides/how-to-setup-an-email-server#step-1-linode-server-creation)). Point `postfixadmin.{{< placeholder "example.tld" >}}` to the same IP address(es) you are using for `mail.{{< placeholder "example.tld" >}}`. Note that DNS propagation may take up to 24 hours. @@ -1114,7 +1114,7 @@ Configure Postfix to send and receive mail on behalf of virtual users and domain sudo setfacl -R -m u:postfix:rx /etc/postfix/sql/ ``` -1. During [Postfix installation in step 2](/cloud/guides/how-to-setup-an-email-server/#step-2-install-postfix), the `mydestination` parameter may have been set to include the canonical hostname (e.g., `mail.{{< placeholder "example.tld" >}}`). Since virtual users and domains have been enabled, the canonical hostname is no longer needed. Open the main Postfix configuration file: +1. During [Postfix installation in step 2](/cloud/guides/how-to-setup-an-email-server#step-2-install-postfix), the `mydestination` parameter may have been set to include the canonical hostname (e.g., `mail.{{< placeholder "example.tld" >}}`). Since virtual users and domains have been enabled, the canonical hostname is no longer needed. Open the main Postfix configuration file: ```command sudo nano /etc/postfix/main.cf @@ -1245,7 +1245,7 @@ Like Postfix, Dovecot must be configured to work with the `postfixadmin` databas ### Access Control Lists (ACLs) -PostfixAdmin uses a `templates_c` directory, and access to that directory must be granted to NGINX. As in [step 6](/cloud/guides/how-to-setup-an-email-server/#step-6-local-message-storage-lmtp), you can use ACLs to grant access. +PostfixAdmin uses a `templates_c` directory, and access to that directory must be granted to NGINX. As in [step 6](/cloud/guides/how-to-setup-an-email-server#step-6-local-message-storage-lmtp), you can use ACLs to grant access. 1. Create the `templates_c` directory, and set the appropriate permissions: @@ -1543,7 +1543,7 @@ The Let's Encrypt certificate and key must also be updated to include the virtua - In the `/etc/dovecot/conf.d/10-auth.conf` file, two lines were added for verbose debugging, both beginning with the string `auth_debug`. To avoid crowded logs, these lines can be commented out or deleted. Restart Dovecot to apply your changes. -- Consider configuring valid Sender Policy Framework (SPF) and DomainKeys Identified Mail (DKIM) records in your DNS to combat spam. Optionally, you can also set up a Domain Message Authentication, Reporting & Conformance (DMARC) record to specify how your server handles failed SPF and/or DKIM validations, as well as request reports from other servers. See our [separate email server guide](/cloud/guides/configure-spf-and-dkim-in-postfix-on-debian-8/) for SPF, DKIM, and DMARC configuration. +- Consider configuring valid Sender Policy Framework (SPF) and DomainKeys Identified Mail (DKIM) records in your DNS to combat spam. Optionally, you can also set up a Domain Message Authentication, Reporting & Conformance (DMARC) record to specify how your server handles failed SPF and/or DKIM validations, as well as request reports from other servers. See our [separate email server guide](/cloud/guides/configure-spf-and-dkim-in-postfix-on-debian-8) for SPF, DKIM, and DMARC configuration. - Stay vigilant about [security vulnerabilities](https://ubuntu.com/security/notices) by keeping your operating system and server software up to date. Regularly apply patches and updates to help maintain a secure server. diff --git a/docs/guides/email/postfix/pflogsumm-for-postfix-monitoring-on-centos-6/index.md b/docs/guides/email/postfix/pflogsumm-for-postfix-monitoring-on-centos-6/index.md index 97cf9efb077..a25cbd2c3c5 100644 --- a/docs/guides/email/postfix/pflogsumm-for-postfix-monitoring-on-centos-6/index.md +++ b/docs/guides/email/postfix/pflogsumm-for-postfix-monitoring-on-centos-6/index.md @@ -16,19 +16,19 @@ deprecated: true ![Header image](Pflogsumm_or_Postfix_Monitoring_on_CentOS_smg.jpg "Pflogsumm for Postfix Monitoring on CentOS 6") -Pflogsumm is a simple Perl script that monitors your [Postfix](/cloud/guides/email/postfix/) mail server's activity. This guide will show you how to install Pflogsumm on CentOS 6 and configure it to send you a daily email with your mail server stats. +Pflogsumm is a simple Perl script that monitors your [Postfix](/cloud/guides/email/postfix) mail server's activity. This guide will show you how to install Pflogsumm on CentOS 6 and configure it to send you a daily email with your mail server stats. {{% content "email-warning-shortguide" %}} ## Before You Begin {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} Make sure these prerequisites are installed: -- [Postfix](/cloud/guides/email/postfix/) +- [Postfix](/cloud/guides/email/postfix) - Perl 5.004 - Perl's Date::Calc module @@ -109,7 +109,7 @@ This list was taken from the [Pflogsumm](http://jimsun.linxnet.com/postfix_contr ## Scheduling Reports with Cron -Now you'll set up a Cron job to run the Pflogsumm Perl script and send the mail server stats to you as a daily email. This is great for monitoring your mail server. The example below schedules the email for 1:01 PM every day. For details on how to customize the time the email is sent, you should read the [Cron](/cloud/guides/schedule-tasks-with-cron/) article. +Now you'll set up a Cron job to run the Pflogsumm Perl script and send the mail server stats to you as a daily email. This is great for monitoring your mail server. The example below schedules the email for 1:01 PM every day. For details on how to customize the time the email is sent, you should read the [Cron](/cloud/guides/schedule-tasks-with-cron) article. 1. Open the **root** user's Crontab by running the following command: diff --git a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny/index.md b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny/index.md index 9ec8be9bfb6..0d0b05be0b3 100644 --- a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny/index.md +++ b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny/) document to install a more minimal email system. +Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny) document to install a more minimal email system. ## Set the Hostname @@ -74,14 +74,14 @@ Issue the following command to start the SASL daemon for the first time: SSL or TLS provides a method of encrypting the communication between your remote users and your mail servers. While this does not encrypt your email messages from end to end, it does ensure that your login credentials are transmitted securely and that communications are secure between your client machine and the email server. -Issue the following sequence of commands to install the prerequisites and [generate a self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate/): +Issue the following sequence of commands to install the prerequisites and [generate a self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate): apt-get install openssl openssl req -new -x509 -sha256 -days 365 -nodes -out /etc/ssl/postfix.pem -keyout /etc/ssl/postfix.key Be sure to generate a certificate with a "Common Name" that corresponds to the host name that your users will connect your mail server (e.g. `mail.example.com`). -Mail clients may have an issue with certificates generated in this manner because they are not signed by a recognized certificate authority. Consider our documentation for generating [commercial SSL certificates](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) if you need a commercially verified certificate. +Mail clients may have an issue with certificates generated in this manner because they are not signed by a recognized certificate authority. Consider our documentation for generating [commercial SSL certificates](/cloud/guides/obtain-a-commercially-signed-tls-certificate) if you need a commercially verified certificate. You can use any SSL certificate with Postfix. If you already have a commercial certificate or another SSL certificate for your web server, you can use these `.pem` and `.key` files. @@ -121,9 +121,9 @@ When all modifications to the Postfix configuration are complete, issue the foll /etc/init.d/postfix restart -At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups/). +At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups). -Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. +Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. ### Configure Mail Delivery @@ -231,7 +231,7 @@ Remember that system user accounts may provide access to other services on the s You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic Email Gateway with Postfix on Debian 5 (Lenny)](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny/) +- [Basic Email Gateway with Postfix on Debian 5 (Lenny)](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny) diff --git a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze/index.md b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze/index.md index f2f04db615e..f8b8176e4f7 100644 --- a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze/index.md +++ b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [Email Server with Postfix, MySQL and Dovecot](/cloud/guides/email/postfix/). +Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [Email Server with Postfix, MySQL and Dovecot](/cloud/guides/email/postfix). ## Set the Hostname @@ -90,9 +90,9 @@ When all modifications to the Postfix configuration are complete, issue the foll /etc/init.d/postfix restart -At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups/). +At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups). -Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. +Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. ### Configure Mail Delivery @@ -177,7 +177,7 @@ Remember that system user accounts may provide access to other services on the s You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic Email Gateway with Postfix on Debian 6 (Squeeze)](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) +- [Basic Email Gateway with Postfix on Debian 6 (Squeeze)](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze) diff --git a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/index.md b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/index.md index 8e3c16f3182..1df1ca63d03 100644 --- a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [Email Server with Postfix, MySQL and Dovecot](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/). +Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [Email Server with Postfix, MySQL and Dovecot](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid). ## Set the Hostname @@ -71,22 +71,22 @@ Issue the following command to start the SASL daemon for the first time: SSL or TLS provides a method of encrypting the communication between your remote users and your mail servers. While this does not encrypt your email messages from end to end, it does ensure that your login credentials are transmitted securely and that communications are secure between your client machine and the email server. -Issue the following sequence of commands to install the prerequisites and [generate a self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate/): +Issue the following sequence of commands to install the prerequisites and [generate a self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate): apt-get install openssl openssl req -new -x509 -sha256 -days 365 -nodes -out /etc/ssl/certs/ssl-mail.pem -keyout /etc/ssl/private/ssl-mail.key Be sure to generate a certificate with a "Common Name" that corresponds to the host name that your users will connect your mail server (e.g. `mail.example.com`). -Mail clients may have an issue with certificates generated in this manner because they are not signed by a recognized certificate authority. Consider our documentation for generating [commercial ssl certificates](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) if you need a commercially verified certificate. +Mail clients may have an issue with certificates generated in this manner because they are not signed by a recognized certificate authority. Consider our documentation for generating [commercial ssl certificates](/cloud/guides/obtain-a-commercially-signed-tls-certificate) if you need a commercially verified certificate. You can use any SSL certificate with Postfix. If you already have a commercial certificate or another SSL certificate for your web server, you can use these `.pem` and `.key` files. ## Postfix -At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups/). +At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups). -Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. +Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. ### Configure Mail Delivery @@ -170,7 +170,7 @@ Remember that system user accounts may provide access to other services on the s You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic Email Gateway with Postfix on Ubuntu 10.04 (Lucid)](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) +- [Basic Email Gateway with Postfix on Ubuntu 10.04 (Lucid)](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid) diff --git a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick/index.md b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick/index.md index ad09b7c36c1..5503e1fee9d 100644 --- a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [basic email gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [email server with Postfix, MySQL and Dovecot](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/). +Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [basic email gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [email server with Postfix, MySQL and Dovecot](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick). ## Set the Hostname @@ -74,9 +74,9 @@ When all modifications to the Postfix configuration are complete, issue the foll > /etc/init.d/postfix restart -At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups/). +At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups). -Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. +Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. ### Configure Mail Delivery @@ -142,7 +142,7 @@ Remember that system user accounts may provide access to other services on the s You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic Email Gateway with Postfix on Ubuntu 10.10 (Maverick)](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) +- [Basic Email Gateway with Postfix on Ubuntu 10.10 (Maverick)](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick) diff --git a/docs/guides/email/postfix/troubleshooting-problems-with-postfix-dovecot-and-mysql/index.md b/docs/guides/email/postfix/troubleshooting-problems-with-postfix-dovecot-and-mysql/index.md index d372b6d88dc..81319b80c17 100644 --- a/docs/guides/email/postfix/troubleshooting-problems-with-postfix-dovecot-and-mysql/index.md +++ b/docs/guides/email/postfix/troubleshooting-problems-with-postfix-dovecot-and-mysql/index.md @@ -14,7 +14,7 @@ aliases: [] ![Troubleshooting Problems with Postfix, Dovecot, and MySQL](troubleshooting-problems-with-postfix-dovecot-and-mysql.jpg "Troubleshooting Problems with Postfix, Dovecot, and MySQL") -This guide is a companion to the [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) installation guide. Because setting up a mail server is tricky, we've created this companion troubleshooting guide to help you work through and resolve any problems you might be experiencing. By the time you reach the end of this guide, you'll know how to debug problems with your Postfix, Dovecot, and MySQL mail server. +This guide is a companion to the [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql) installation guide. Because setting up a mail server is tricky, we've created this companion troubleshooting guide to help you work through and resolve any problems you might be experiencing. By the time you reach the end of this guide, you'll know how to debug problems with your Postfix, Dovecot, and MySQL mail server. The first section, Troubleshooting Checklist, has a top-down approach to troubleshooting that will help you find specific errors for your mail server. The second section, Step-by-Step Configuration, uses a bottom-up approach that shows you how to get a basic mail server functioning and then gradually add more features. @@ -191,7 +191,7 @@ The Postfix log will now display more information about messages that are coming ### Check Port Availability -Sometimes email problems occur because the mail server and mail client aren't talking to each other on the same ports. For mail to get from client to server, or vice versa, both have to be using the same ports, and those ports also have to be open along the internet route between the two. If you are following the accompanying [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) installation guide, you should be using the following ports: +Sometimes email problems occur because the mail server and mail client aren't talking to each other on the same ports. For mail to get from client to server, or vice versa, both have to be using the same ports, and those ports also have to be open along the internet route between the two. If you are following the accompanying [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql) installation guide, you should be using the following ports: - 25, 465, or 587 with TLS encryption for outgoing mail (SMTP) - 993 with SSL encryption for incoming IMAP @@ -260,9 +260,9 @@ If the test is successful, you should see output similar to the following: To cancel the connection, press **CTRL-]**, then enter `quit`. If the test fails, you will see a `Connection refused` message and Telnet will quit on its own. -If you run the test on your Linode and it fails, you should check that you've configured the ports properly in your mail server setup (see Steps 33-34 in the [Dovecot section](/cloud/guides/email-with-postfix-dovecot-and-mysql/#dovecot) of the setup guide), that you've enabled ports 465 and 587 (see Steps 26-30 in the [Postfix section](/cloud/guides/email-with-postfix-dovecot-and-mysql/#postfix) of the setup guide), and that you don't have any [Firewall rules](/cloud/guides/control-network-traffic-with-iptables/) in place that block them. +If you run the test on your Linode and it fails, you should check that you've configured the ports properly in your mail server setup (see Steps 33-34 in the [Dovecot section](/cloud/guides/email-with-postfix-dovecot-and-mysql#dovecot) of the setup guide), that you've enabled ports 465 and 587 (see Steps 26-30 in the [Postfix section](/cloud/guides/email-with-postfix-dovecot-and-mysql#postfix) of the setup guide), and that you don't have any [Firewall rules](/cloud/guides/control-network-traffic-with-iptables) in place that block them. -If you run the test on your Linode and it succeeds, but the test from your home computer fails, that indicates that the ports are being blocked somewhere on the network between your home computer and your Linode. It could be at your router, your ISP (Internet Service Provider), someone else's ISP, etc. The best way to diagnose networking issues is to generate an [MTR report](/cloud/guides/diagnosing-network-issues-with-mtr/). +If you run the test on your Linode and it succeeds, but the test from your home computer fails, that indicates that the ports are being blocked somewhere on the network between your home computer and your Linode. It could be at your router, your ISP (Internet Service Provider), someone else's ISP, etc. The best way to diagnose networking issues is to generate an [MTR report](/cloud/guides/diagnosing-network-issues-with-mtr). If the Telnet tests on your Linode and your home computer both succeed, and your mail client settings are correct, you can probably rule out any problems with ports. @@ -276,7 +276,7 @@ Next we'll focus on your login credentials. If they aren't configured properly, The first and easiest step is re-entering your username and password in your mail client. Make sure you use the full username, including the `@example.com` part. Usernames and passwords are case-sensitive. If you're sure that you've entered the information correctly in your mail client, authorization may not be configured properly on the server side. -The next thing to check is that your username and password are entered properly in the correct MySQL table. You can run the [MySQL tests](/cloud/guides/email-with-postfix-dovecot-and-mysql/#testing-the-email-server-with-mailutils) from the main setup article to make sure your tables are set up appropriately. You can also delete and re-add the appropriate row from the **mailserver.virtual\_users** table to make sure the password was entered correctly. If the information is correct in the MySQL table, it may be that Dovecot is not configured to look up authorization credentials in the right location. +The next thing to check is that your username and password are entered properly in the correct MySQL table. You can run the [MySQL tests](/cloud/guides/email-with-postfix-dovecot-and-mysql#testing-the-email-server-with-mailutils) from the main setup article to make sure your tables are set up appropriately. You can also delete and re-add the appropriate row from the **mailserver.virtual\_users** table to make sure the password was entered correctly. If the information is correct in the MySQL table, it may be that Dovecot is not configured to look up authorization credentials in the right location. Dovecot includes an administrative tool which is very helpful in troubleshooting issues with login credentials. The `doveadm user` command lets you see the user database result for the username, user ID, group ID, and mailbox location for each email user. Reading the output from this tool tells you the database where Dovecot is looking for authorized users. If Dovecot is not looking for the expected database, you'll need to change the authorization-related settings in Dovecot so that it is using MySQL to look up users, and not some other user database. @@ -309,7 +309,7 @@ Dovecot includes an administrative tool which is very helpful in troubleshooting gid : 1000 home : /home/myuser -3. If you do get this type of output, you need to adjust your Dovecot settings related to virtual users. If you don't get output for the system users either, this still indicates that you have some kind of error in the Dovecot settings related to users. Go back to the [Dovecot section](/cloud/guides/email-with-postfix-dovecot-and-mysql/#dovecot) of the main setup guide and pay special attention to the sections having to do with virtual users and the MySQL settings. +3. If you do get this type of output, you need to adjust your Dovecot settings related to virtual users. If you don't get output for the system users either, this still indicates that you have some kind of error in the Dovecot settings related to users. Go back to the [Dovecot section](/cloud/guides/email-with-postfix-dovecot-and-mysql#dovecot) of the main setup guide and pay special attention to the sections having to do with virtual users and the MySQL settings. ## Step-by-Step Configuration @@ -317,7 +317,7 @@ For some troubleshooting scenarios, you may find that a top-down approach doesn' The bottom-up approach presented here breaks up the complex task of building a mail server into smaller chunks. This has two benefits. First, each section focuses on just a few mail server functions and includes fewer details, which makes it easier to understand. By the end of the project, you should have a deep understanding of how the mail server works. Second, each chunk adds a discrete amount of testable functionality to the mail server. This makes it easier to find errors by limiting the scope of their possible locations. For example, if your mail server was working after you completed "Basic Dovecot," but is failing its tests after "Virtual Domains and Users," you know that the error is related to something you did in that section. -The second part of this guide presents a step-by-step mail server build organized by function, progressing from core functions to more peripheral ones, with tests at each step. You should have the [main setup guide](/cloud/guides/email-with-postfix-dovecot-and-mysql/) open at the same time, because we will be referring back to it. As you read the main setup guide, you'll notice that we are installing items in a different order here. The main guide is designed for a streamlined approach that avoids editing the same file multiple times. This guide is focused on a deeper understanding of each component, so you will sometimes need to jump around to different sections of the main guide for reference. Once you successfully complete a stage, I suggest that you make a [system-level backup](https://techdocs.akamai.com/cloud-computing/docs/backup-service) so you can get back to that point easily! +The second part of this guide presents a step-by-step mail server build organized by function, progressing from core functions to more peripheral ones, with tests at each step. You should have the [main setup guide](/cloud/guides/email-with-postfix-dovecot-and-mysql) open at the same time, because we will be referring back to it. As you read the main setup guide, you'll notice that we are installing items in a different order here. The main guide is designed for a streamlined approach that avoids editing the same file multiple times. This guide is focused on a deeper understanding of each component, so you will sometimes need to jump around to different sections of the main guide for reference. Once you successfully complete a stage, I suggest that you make a [system-level backup](https://techdocs.akamai.com/cloud-computing/docs/backup-service) so you can get back to that point easily! {{< note type="alert" >}} Keep in mind that the earlier builds presented here are functional, but should not be considered production-ready for security and functionality reasons, mainly because passwords are sent in plain text, and/or outgoing SMTP is not enabled. {{< /note >}} @@ -340,7 +340,7 @@ In this section, you'll install Postfix and configure it to deliver mail for you apt-get install postfix -2. When prompted, select **Internet Site** for the configuration. (See Steps 6 & 7 from the [Installing Packages](/cloud/guides/email-with-postfix-dovecot-and-mysql/#install-packages) section of the primary guide, for this step and the next.) +2. When prompted, select **Internet Site** for the configuration. (See Steps 6 & 7 from the [Installing Packages](/cloud/guides/email-with-postfix-dovecot-and-mysql#install-packages) section of the primary guide, for this step and the next.) 3. Enter your fully-qualified domain name or any domain name that resolves to the server. 4. Open `/etc/postfix/main.cf` for editing, and add your domain(s) to the `mydestination` line. If your hostname and hosts files were set up correctly before installing Postfix, this list should already include your full-qualified domain name and several references to localhost, which you can leave as they are. @@ -855,7 +855,7 @@ The final step in getting your mail server up to speed is to make it compatible apt-get install mysql-server postfix-mysql dovecot-mysql -2. Create the three MySQL tables `virtual_domains`, `virtual_users`, and `virtual_aliases` and populate them with your data, by following the entire [MySQL section](/cloud/guides/email-with-postfix-dovecot-and-mysql/#set-up-mysql) in the main setup guide. If you prefer not to use the MySQL command line, you can install phpMyAdmin and use that instead. +2. Create the three MySQL tables `virtual_domains`, `virtual_users`, and `virtual_aliases` and populate them with your data, by following the entire [MySQL section](/cloud/guides/email-with-postfix-dovecot-and-mysql#set-up-mysql) in the main setup guide. If you prefer not to use the MySQL command line, you can install phpMyAdmin and use that instead. 3. Open `/etc/postfix/main.cf` for editing. Comment out the existing `virtual_mailbox_domains` and `virtual_mailbox_maps` lines and add these instead: {{< file "/etc/postfix/main.cf" >}} @@ -867,7 +867,7 @@ virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf {{< /file >}} -4. Follow Steps 11-25 in the [Postfix section](/cloud/guides/email-with-postfix-dovecot-and-mysql/#set-up-mysql) of the main setup guide to create the `/etc/postfix/mysql-virtual-mailbox-domains.cf`, `/etc/postfix/mysql-virtual-mailbox-maps.cf`, and `/etc/postfix/mysql-virtual-alias-maps.cf` files. You will also test that Postfix can find all of this information, using the `postmap` commands. +4. Follow Steps 11-25 in the [Postfix section](/cloud/guides/email-with-postfix-dovecot-and-mysql#set-up-mysql) of the main setup guide to create the `/etc/postfix/mysql-virtual-mailbox-domains.cf`, `/etc/postfix/mysql-virtual-mailbox-maps.cf`, and `/etc/postfix/mysql-virtual-alias-maps.cf` files. You will also test that Postfix can find all of this information, using the `postmap` commands. 5. Now for Dovecot. Create the file `/etc/dovecot/conf.d/auth-sql.conf.ext`. You will make a new `passdb` section that directs Dovecot to use MySQL for authentication. The `userdb` section will be identical to the one we had before, since the mailboxes aren't moving. {{< file "/etc/dovecot/conf.d/auth-sql.conf.ext" >}} diff --git a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-6-squeeze/index.md b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-6-squeeze/index.md index d13ce2a8c3f..910b2d15fb7 100644 --- a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-6-squeeze/index.md +++ b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-6-squeeze/index.md @@ -22,7 +22,7 @@ Zimbra is a groupware system that provides email, calendaring, integrated antivi Please note that Zimbra is a fairly "heavy" (resource-intensive) product compared to some other groupware offerings. We recommend a Linode 2048 or higher for best results; you may encounter issues using Zimbra with plans with less resources. Additionally, note that Zimbra works best as a standalone product on your Linode; installation alongside other software is not advised. Zimbra is deprecating support for 32-bit systems, and therefore it is assumed you have deployed the 64-bit version of Debian 6. If this is not the case, you will want to redeploy with the 64-bit version before continuing. All configuration will be performed through the terminal; please make sure you're logged into your Linode as root via SSH. -Please note that as of this writing, Zimbra is not officially supported on Debian 6. The software should function as expected, but your support options may be limited by choosing to install it on Debian 6. If this is a concern for you, you may wish to consider following our [Debian 5 (Lenny) Zimbra guide](/cloud/guides/email-and-calendars-with-zimbra-6-on-debian-5-lenny/) instead. +Please note that as of this writing, Zimbra is not officially supported on Debian 6. The software should function as expected, but your support options may be limited by choosing to install it on Debian 6. If this is a concern for you, you may wish to consider following our [Debian 5 (Lenny) Zimbra guide](/cloud/guides/email-and-calendars-with-zimbra-6-on-debian-5-lenny) instead. ## Basic System Configuration @@ -40,7 +40,7 @@ Edit your `/etc/hosts` file to resemble the following, substituting your Linode' {{< /file >}} -Before proceeding with the rest of this guide, you should create a DNS entry for your system's FQDN (fully qualified domain name). This means you'll need to make sure "hostname.example.com" (substituting your FQDN) points to your Linode's IP address. Additionally, you should create or edit the MX record for your domain to use your FQDN as the host that handles your email. For more information on this topic, please refer to our guides on [DNS basics](/cloud/guides/dns-overview/) and the [Linode DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). +Before proceeding with the rest of this guide, you should create a DNS entry for your system's FQDN (fully qualified domain name). This means you'll need to make sure "hostname.example.com" (substituting your FQDN) points to your Linode's IP address. Additionally, you should create or edit the MX record for your domain to use your FQDN as the host that handles your email. For more information on this topic, please refer to our guides on [DNS basics](/cloud/guides/dns-overview) and the [Linode DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). ## Install Prerequisite Packages diff --git a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-10-04-lts-lucid/index.md index 12464962c5a..66005492788 100644 --- a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-10-04-lts-lucid/index.md @@ -24,7 +24,7 @@ Please note that Zimbra is a fairly "heavy" (resource-intensive) product compare We assume you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that your system is up to date. All configuration will be performed through the terminal; please make sure you're logged into your Linode as root via SSH. -**Note:** As of this writing, Zimbra is not officially supported on Ubuntu 10.04. These instructions result in a working Zimbra installation, but your support options may be limited. If you wish to use a platform that is fully supported by the Zimbra community, please follow our [Zimbra on Debian 5 (Lenny)](/cloud/guides/email-and-calendars-with-zimbra-6-on-debian-5-lenny/) or [Zimbra on CentOS 5](/cloud/guides/email-and-calendars-with-zimbra-6-on-centos-5/) guides instead. +**Note:** As of this writing, Zimbra is not officially supported on Ubuntu 10.04. These instructions result in a working Zimbra installation, but your support options may be limited. If you wish to use a platform that is fully supported by the Zimbra community, please follow our [Zimbra on Debian 5 (Lenny)](/cloud/guides/email-and-calendars-with-zimbra-6-on-debian-5-lenny) or [Zimbra on CentOS 5](/cloud/guides/email-and-calendars-with-zimbra-6-on-centos-5) guides instead. ## Installing Prerequisite Packages diff --git a/docs/guides/email/zimbra/zimbra-on-ubuntu-14-04/index.md b/docs/guides/email/zimbra/zimbra-on-ubuntu-14-04/index.md index 2070abf5738..cb869b0f4b3 100644 --- a/docs/guides/email/zimbra/zimbra-on-ubuntu-14-04/index.md +++ b/docs/guides/email/zimbra/zimbra-on-ubuntu-14-04/index.md @@ -26,7 +26,7 @@ deprecated: true {{% content "email-warning-shortguide" %}} {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Set up Your Linode @@ -35,9 +35,9 @@ The steps required in this guide require root privileges. Be sure to run the ste 2. Deploy an Ubuntu 14.04 LTS image to your Linode. Consider using slightly less than half the available disk space for the first image, keeping the other half for taking a backup image before updates. Your partition size will depend on the number of accounts and volume of mail you expect to handle. Once deployed, boot your new host. SSH into the terminal using the command shown on the **Networking** tab in the Linode Cloud Manager and the password you entered when you created the Linode. -3. You must [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) and fully qualified domain name (FQDN), and [update /etc/hosts](/cloud/guides/using-your-systems-hosts-file/) prior to installing Zimbra. +3. You must [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) and fully qualified domain name (FQDN), and [update /etc/hosts](/cloud/guides/using-your-systems-hosts-file) prior to installing Zimbra. -4. Configure your DNS entries at your DNS provider to provide an A record for the host, and point the domain MX record to your new server. A reverse DNS pointer is highly recommended to prevent mail from your server being rejected. See [Running a Mail Server: DNS Records](/cloud/guides/running-a-mail-server/#dns-records) for details on setting up DNS. +4. Configure your DNS entries at your DNS provider to provide an A record for the host, and point the domain MX record to your new server. A reverse DNS pointer is highly recommended to prevent mail from your server being rejected. See [Running a Mail Server: DNS Records](/cloud/guides/running-a-mail-server#dns-records) for details on setting up DNS. ## Download Zimbra @@ -136,7 +136,7 @@ This Guide is about setting up a new Zimbra Linode, but if you are upgrading an 6. Configure MX records. - If you receive an error about a missing MX record as shown below, it means your domain DNS records are not matching what Zimbra expects to find, based on the hostname you configured earlier. Check your `/etc/hostname` file and your [DNS records](/cloud/guides/dns-overview/#mx) to resolve the problem. + If you receive an error about a missing MX record as shown below, it means your domain DNS records are not matching what Zimbra expects to find, based on the hostname you configured earlier. Check your `/etc/hostname` file and your [DNS records](/cloud/guides/dns-overview#mx) to resolve the problem. DNS ERROR resolving MX for linodemail.example.com It is suggested that the domain name have an MX record configured in DNS diff --git a/docs/guides/game-servers/create-an-ark-server-on-ubuntu/index.md b/docs/guides/game-servers/create-an-ark-server-on-ubuntu/index.md index 7843632bb8f..25afaf9e7ca 100644 --- a/docs/guides/game-servers/create-an-ark-server-on-ubuntu/index.md +++ b/docs/guides/game-servers/create-an-ark-server-on-ubuntu/index.md @@ -34,12 +34,12 @@ There is no cross-play between different platforms (Linux and Xbox, for example) 1. Create an 8GB or larger Dedicated CPU Compute Instance. This recommendation is based on the [system requirements](http://ark.wiki.gg/Dedicated_Server_Setup#Hardware) for an ARK server. Other plans may also work. See the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide for instructions. -1. Ark will be installed through the Steam *command-line interface* (CLI). See our guide [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/) if you haven't installed Steam already. +1. Ark will be installed through the Steam *command-line interface* (CLI). See our guide [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server) if you haven't installed Steam already. 1. To connect to your Ubuntu Ark server, you must have a copy of the [Ark: Survival Evolved](http://www.playark.com/) game client running on a local machine. {{< note >}} -The steps in this guide require root privileges unless otherwise noted. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges unless otherwise noted. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Securing Your Ark Server @@ -48,7 +48,7 @@ The steps in this guide require root privileges unless otherwise noted. Be sure adduser ark -1. Configure a firewall, ensuring the following ports are open. See the [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide for instructions. +1. Configure a firewall, ensuring the following ports are open. See the [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide for instructions. | Port | Use | | --- | --- | diff --git a/docs/guides/game-servers/deploy-just-cause-2-multiplayer-server-on-ubuntu/index.md b/docs/guides/game-servers/deploy-just-cause-2-multiplayer-server-on-ubuntu/index.md index 738aac77223..e18576434e8 100644 --- a/docs/guides/game-servers/deploy-just-cause-2-multiplayer-server-on-ubuntu/index.md +++ b/docs/guides/game-servers/deploy-just-cause-2-multiplayer-server-on-ubuntu/index.md @@ -20,10 +20,10 @@ deprecated: true 1. You will need a [Steam](http://store.steampowered.com) account, a copy of [Just Cause 2](http://store.steampowered.com/app/8190/) and the [Just Cause 2 Multiplayer Mod](http://store.steampowered.com/app/259080/). -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites for Just Cause 2 @@ -97,7 +97,7 @@ screen -S "Just Cause 2 Muliplayer Server" ./Jcmp-Server {{< /file >}} - When run, the script will change directories to `~/Steam/jc2mp-server` and execute JC2 in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. + When run, the script will change directories to `~/Steam/jc2mp-server` and execute JC2 in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session. 5. Make the script executable: diff --git a/docs/guides/game-servers/garrys-mod-server-on-centos-7/index.md b/docs/guides/game-servers/garrys-mod-server-on-centos-7/index.md index 38fbf110843..44b9946c285 100644 --- a/docs/guides/game-servers/garrys-mod-server-on-centos-7/index.md +++ b/docs/guides/game-servers/garrys-mod-server-on-centos-7/index.md @@ -25,10 +25,10 @@ This guide shows how to create, maintain, and secure a Garry's Mod server. 1. You will need a [Steam](http://store.steampowered.com) account and a copy of [Garry's Mod](http://store.steampowered.com/app/4000/). -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites for Garry's Mod @@ -93,7 +93,7 @@ screen -S "Garry's Mod Server" ./srcds_run -game garrysmod +maxplayers 20 +map g {{< /file >}} - When run, the script will change directories to `~/Steam/gmod` and execute Garry's Mod in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. The `srcds_run` binary can take many more arguments which you can see at [Valve's Developer wiki](https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server). + When run, the script will change directories to `~/Steam/gmod` and execute Garry's Mod in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session. The `srcds_run` binary can take many more arguments which you can see at [Valve's Developer wiki](https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server). 2. Make the script executable: diff --git a/docs/guides/game-servers/get-started-with-linux-game-server-hosting/index.md b/docs/guides/game-servers/get-started-with-linux-game-server-hosting/index.md index c64abd2cf94..b4982a49f18 100644 --- a/docs/guides/game-servers/get-started-with-linux-game-server-hosting/index.md +++ b/docs/guides/game-servers/get-started-with-linux-game-server-hosting/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: LinuxGameServerHosting.png --- -If you want great gaming performance, low latency, and control over your gaming experience, you should consider setting up your own dedicated game server. You can do so for [Valheim](https://www.linode.com/marketplace/apps/linode/valheim-game-server/), [Minecraft](/cloud/marketplace-docs/guides/minecraft/), [CS:GO](https://www.linode.com/marketplace/apps/linode/csgo-game-server/), or any other multiplayer game that supports dedicated server hosting. This guide helps you understand what is involved in setting up your own Linux game server. It covers the top reasons for hosting your own game server, computing requirements, Linux distribution recommendations, and links to resources to help you deploy your first game server. +If you want great gaming performance, low latency, and control over your gaming experience, you should consider setting up your own dedicated game server. You can do so for [Valheim](https://www.linode.com/marketplace/apps/linode/valheim-game-server/), [Minecraft](/cloud/marketplace-docs/guides/minecraft), [CS:GO](https://www.linode.com/marketplace/apps/linode/csgo-game-server/), or any other multiplayer game that supports dedicated server hosting. This guide helps you understand what is involved in setting up your own Linux game server. It covers the top reasons for hosting your own game server, computing requirements, Linux distribution recommendations, and links to resources to help you deploy your first game server. ## The Benefits of Hosting Your Own Linux Game Server @@ -37,7 +37,7 @@ The general consensus in the gaming community is that Debian or Ubuntu are the b ### Linode One-Click App Marketplace -[Linode's One-Click App Marketplace](https://www.linode.com/marketplace/apps/) offers easy to deploy gaming servers for some games including [Ark](https://www.linode.com/marketplace/apps/linode/ark-game-server/), [Team Fortress 2](https://www.linode.com/marketplace/apps/linode/tf2-game-server/) and [Terraria](https://www.linode.com/marketplace/apps/linode/terraria-game-server/). You can refer to each [Quick Deploy App's Linode documentation](/cloud/marketplace-docs/guides/) to learn how to deploy your game server, provide the appropriate configurations, and select the server's appropriate plan size. +[Linode's One-Click App Marketplace](https://www.linode.com/marketplace/apps/) offers easy to deploy gaming servers for some games including [Ark](https://www.linode.com/marketplace/apps/linode/ark-game-server/), [Team Fortress 2](https://www.linode.com/marketplace/apps/linode/tf2-game-server/) and [Terraria](https://www.linode.com/marketplace/apps/linode/terraria-game-server/). You can refer to each [Quick Deploy App's Linode documentation](/cloud/marketplace-docs/guides) to learn how to deploy your game server, provide the appropriate configurations, and select the server's appropriate plan size. {{< note >}} You can watch the developer Gardiner Bryant explaining [how to set up a Rust game server](https://www.youtube.com/watch?v=RPbIRbj0GyA) on Linode's YouTube channel. @@ -47,6 +47,6 @@ You can watch the developer Gardiner Bryant explaining [how to set up a Rust gam If your game isn't available as a Quick Deploy App, you can deploy a Linode and manually install and configure your game. There are several command line tools like [LinuxGSM](https://linuxgsm.com/lgsm/sdtdserver/) and [SteamCMD](https://developer.valvesoftware.com/wiki/SteamCMD) that automate the process of installing Steam games and their dependencies. You can check out the following guides in our documentation library, to get started: -- [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/) -- [Install a Half-Life 2: Deathmatch Dedicated Server on Debian or Ubuntu](/cloud/guides/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu/) -- [How to Deploy a 7 Days to Die Linux Server](/cloud/guides/deploy-7-days-to-die-linux-game-server/) \ No newline at end of file +- [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server) +- [Install a Half-Life 2: Deathmatch Dedicated Server on Debian or Ubuntu](/cloud/guides/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu) +- [How to Deploy a 7 Days to Die Linux Server](/cloud/guides/deploy-7-days-to-die-linux-game-server) \ No newline at end of file diff --git a/docs/guides/game-servers/host-a-terraria-server-on-your-linode/index.md b/docs/guides/game-servers/host-a-terraria-server-on-your-linode/index.md index 8268dcc3da0..c3321053215 100644 --- a/docs/guides/game-servers/host-a-terraria-server-on-your-linode/index.md +++ b/docs/guides/game-servers/host-a-terraria-server-on-your-linode/index.md @@ -42,7 +42,7 @@ Terraria only uses IPv4 and does not use IPv6. ### Firewalld -Firewalld is the default iptables controller in CentOS 7+ and Fedora. See our [guide on using firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) for more information. +Firewalld is the default iptables controller in CentOS 7+ and Fedora. See our [guide on using firewalld](/cloud/guides/introduction-to-firewalld-on-centos) for more information. 1. Enable and start firewalld: @@ -77,7 +77,7 @@ Firewalld is the default iptables controller in CentOS 7+ and Fedora. See our [g ### UFW -[UFW (Uncomplicated Firewall)](/cloud/guides/configure-firewall-with-ufw/) is an iptables controller packaged with Ubuntu, but it's not installed in Debian by default. +[UFW (Uncomplicated Firewall)](/cloud/guides/configure-firewall-with-ufw) is an iptables controller packaged with Ubuntu, but it's not installed in Debian by default. 1. If needed, install UFW: @@ -99,7 +99,7 @@ The second command in this step, `sudo ufw delete 4` references the fourth rule ### iptables -To manually configure iptables without using a controller, see our [iptables guide](/cloud/guides/control-network-traffic-with-iptables/) for a general ruleset. +To manually configure iptables without using a controller, see our [iptables guide](/cloud/guides/control-network-traffic-with-iptables) for a general ruleset. 1. You'll also want to add the rule below for Terraria: diff --git a/docs/guides/game-servers/how-to-set-up-minecraft-server-on-ubuntu-or-debian/index.md b/docs/guides/game-servers/how-to-set-up-minecraft-server-on-ubuntu-or-debian/index.md index 8214ddf8355..ba1bf3e101f 100644 --- a/docs/guides/game-servers/how-to-set-up-minecraft-server-on-ubuntu-or-debian/index.md +++ b/docs/guides/game-servers/how-to-set-up-minecraft-server-on-ubuntu-or-debian/index.md @@ -60,14 +60,14 @@ Minecraft version 1.13 is only compatible with OpenJDK 8. If you are using OpenJ sudo adduser minecraft - Assign a secure password, and configure any additional [SSH hardening](/cloud/guides/use-public-key-authentication-with-ssh/) options at this time. + Assign a secure password, and configure any additional [SSH hardening](/cloud/guides/use-public-key-authentication-with-ssh) options at this time. {{< note >}} If you have a firewall configured according to the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, add the following line to your `iptables.firewall.rules` file to add an exception for port 25565: `-A INPUT -p tcp --dport 25565 -j ACCEPT` -For more information, see [Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables/). +For more information, see [Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables). {{< /note >}} ## Install Minecraft @@ -165,7 +165,7 @@ And you are now running an updated Minecraft server on Ubuntu or Debian. eula=true {{< /file >}} -1. To ensure that the Minecraft server runs independent of an SSH connection, execute `run.sh` from within a [GNU Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session: +1. To ensure that the Minecraft server runs independent of an SSH connection, execute `run.sh` from within a [GNU Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session: screen /home/minecraft/run.sh @@ -215,7 +215,7 @@ For more information on available settings and how to modify them, or how to run ![Minecraft Players.](minecraft-gameplay.png) -Congratulations! Now that you have setup a Minecraft server on Linux, you can play Minecraft in a persistent world with your friends. For more information on working with `screen`, check out our guide on [GNU Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/). +Congratulations! Now that you have setup a Minecraft server on Linux, you can play Minecraft in a persistent world with your friends. For more information on working with `screen`, check out our guide on [GNU Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions). ## Configure Your Minecraft Server Firewall @@ -234,7 +234,7 @@ Here are some of the most common port numbers and network services that use them - `Minecraft Server`: 25565 - `FTP or File Transfer Protocol`: 21 -When you install the Minecraft servers on Ubuntu or Debian, the default settings currently only allow SSH traffic to be able to access this server and block every other request. Minecraft uses the port 25565 to allow connections to a server which means you need to enable traffic to pass through this port. For more information, see [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). +When you install the Minecraft servers on Ubuntu or Debian, the default settings currently only allow SSH traffic to be able to access this server and block every other request. Minecraft uses the port 25565 to allow connections to a server which means you need to enable traffic to pass through this port. For more information, see [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). You can also add a firewall rule using the ufw by running the following command: diff --git a/docs/guides/game-servers/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu/index.md b/docs/guides/game-servers/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu/index.md index aabf7f95fd0..bb89b885b6a 100644 --- a/docs/guides/game-servers/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu/index.md +++ b/docs/guides/game-servers/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu/index.md @@ -26,9 +26,9 @@ This guide will show you how to set up your own [Half-Life 2 Deathmatch](http:// ## Before You Begin -1. Complete our [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/) guide. +1. Complete our [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server) guide. -2. This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +2. This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. 3. Add two firewall rules to extend the port range available to the server. This command assumes that you have **only** the iptables rules in place from the SteamCMD guide. If not, find the corresponding lines and replace the numbers in `INPUT 5` and `INPUT 7` below: @@ -93,7 +93,7 @@ To exit the screen: exit -For more information on Screen sockets, visit our guide on [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/). +For more information on Screen sockets, visit our guide on [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions). ### Autostart with a Screen Script diff --git a/docs/guides/game-servers/install-black-mesa-on-debian-or-ubuntu/index.md b/docs/guides/game-servers/install-black-mesa-on-debian-or-ubuntu/index.md index c7b94d4cb63..4aaef6e59e4 100644 --- a/docs/guides/game-servers/install-black-mesa-on-debian-or-ubuntu/index.md +++ b/docs/guides/game-servers/install-black-mesa-on-debian-or-ubuntu/index.md @@ -25,10 +25,10 @@ This guide will show you how to set up your own [Black Mesa](https://blackmesaso 1. You will need a [Steam](http://store.steampowered.com) account and a copy of [Black Mesa](http://store.steampowered.com/app/362890/). -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites for Black Mesa @@ -77,7 +77,7 @@ The **maxplayers** parameter specifies the maximum number of players allowed to You can read the entire list of parameters on the [Valve Wiki](https://developer.valvesoftware.com/wiki/Command_Line_Options). {{< /note >}} {{< note >}} -To keep the server running, execute it using [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/): +To keep the server running, execute it using [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions): screen ./srcds_run -game bms +map gasworks +maxplayers 24 {{< /note >}} diff --git a/docs/guides/game-servers/install-dont-starve-together-game-server-on-ubuntu/index.md b/docs/guides/game-servers/install-dont-starve-together-game-server-on-ubuntu/index.md index 0a4e73ebb97..56618bebec0 100644 --- a/docs/guides/game-servers/install-dont-starve-together-game-server-on-ubuntu/index.md +++ b/docs/guides/game-servers/install-dont-starve-together-game-server-on-ubuntu/index.md @@ -23,10 +23,10 @@ deprecated: true 1. You will need a [Steam](http://store.steampowered.com) account and a copy of [Don’t Starve Together](http://store.steampowered.com/app/322330/). -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites for Don't Starve Together @@ -144,7 +144,7 @@ cd ./Steam/dstserver/bin screen -S "Don't Starve Together Server" ./dontstarve_dedicated_server_nullrenderer {{< /file >}} - When run, the script will change directories to `~/Steam/dstserver/bin` and execute DST in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. + When run, the script will change directories to `~/Steam/dstserver/bin` and execute DST in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session. 5. Make the script executable: diff --git a/docs/guides/game-servers/install-steamcmd-for-a-steam-game-server/index.md b/docs/guides/game-servers/install-steamcmd-for-a-steam-game-server/index.md index c65323985a3..a6af3570cc3 100644 --- a/docs/guides/game-servers/install-steamcmd-for-a-steam-game-server/index.md +++ b/docs/guides/game-servers/install-steamcmd-for-a-steam-game-server/index.md @@ -22,26 +22,26 @@ SteamCMD is a command-line version of the Steam client which works with games th This guide is intended to get you quickly up and running with SteamCMD on your Linode. See Valve's [SteamCMD wiki page](https://developer.valvesoftware.com/wiki/SteamCMD) for more information and advanced setups. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin 1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guides. -1. [Install the `screen` utility](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/#installing-gnu-screen), which will be used later when running SteamCMD. For more information about how screen works, review the rest of our [Using GNU Screen to Manage Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) guide. +1. [Install the `screen` utility](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions#installing-gnu-screen), which will be used later when running SteamCMD. For more information about how screen works, review the rest of our [Using GNU Screen to Manage Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) guide. ## Secure Your Game Server Game servers and clients are an especially ripe target for attack. Use our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to: -1. [Add a limited Linux user](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to your server. Make the username `steam` to coincide with the rest of [Linode's Steam guides](/cloud/guides/game-servers/), as well as Valve's official documentation. Be sure to give the `steam` user `sudo` privileges. +1. [Add a limited Linux user](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to your server. Make the username `steam` to coincide with the rest of [Linode's Steam guides](/cloud/guides/game-servers), as well as Valve's official documentation. Be sure to give the `steam` user `sudo` privileges. 1. [Harden SSH access](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#harden-ssh-access). -1. If you are using [**iptables**](/cloud/guides/control-network-traffic-with-iptables/) (which is set in Linode's Ubuntu and Debian images by default), follow the [Configure your Firewall Using IPTables](#configure-your-firewall-using-iptables) section. +1. If you are using [**iptables**](/cloud/guides/control-network-traffic-with-iptables) (which is set in Linode's Ubuntu and Debian images by default), follow the [Configure your Firewall Using IPTables](#configure-your-firewall-using-iptables) section. -1. If instead you are using [**firewalld**](/cloud/guides/introduction-to-firewalld-on-centos/) (as in Linode's CentOS 7 and Fedora images), follow the [Configure your Firewall Using FirewallD](#configure-your-firewall-using-firewalld) section. +1. If instead you are using [**firewalld**](/cloud/guides/introduction-to-firewalld-on-centos) (as in Linode's CentOS 7 and Fedora images), follow the [Configure your Firewall Using FirewallD](#configure-your-firewall-using-firewalld) section. ### Configure your Firewall Using IPTables @@ -102,7 +102,7 @@ COMMIT {{< /file >}} {{< note respectIndent=false >}} -Some Steam games require a few additional rules which can be found in our [Steam game guides](/cloud/guides/game-servers/). Steam can also use multiple port ranges for various purposes, but they should only be allowed if your game(s) make use of those services. See [this](https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711) Steam Support page for more information. +Some Steam games require a few additional rules which can be found in our [Steam game guides](/cloud/guides/game-servers). Steam can also use multiple port ranges for various purposes, but they should only be allowed if your game(s) make use of those services. See [this](https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711) Steam Support page for more information. Steam currently supports multiplayer play over IPv4 only, so a Steam server only needs basic IPv6 firewall rules, shown below. {{< /note >}} @@ -112,7 +112,7 @@ Steam currently supports multiplayer play over IPv4 only, so a Steam server only sudo iptables-restore < ~/v4 sudo ip6tables-restore < ~/v6 -1. [Install iptables-persistent](/cloud/guides/control-network-traffic-with-iptables/#install-iptables-persistent). If you don't install this software, your firewall rules will not persist through reboots of your Linode. +1. [Install iptables-persistent](/cloud/guides/control-network-traffic-with-iptables#install-iptables-persistent). If you don't install this software, your firewall rules will not persist through reboots of your Linode. 1. If iptables-persistent was already installed, reconfigure the package so that it recognizes your new rulesets: @@ -332,7 +332,7 @@ To update your SteamCMD server, follow these steps: To exit the screen session which contains the Steam process *without* disrupting the Steam process, enter **Control+A** followed by **Control+D** on your keyboard. You can later return to the screen session by entering: `screen -r` -For more information on managing your screen sessions, review our [Using GNU Screen to Manage Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) guide. +For more information on managing your screen sessions, review our [Using GNU Screen to Manage Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) guide. ### Stop SteamCMD @@ -354,7 +354,7 @@ You may encounter an error when installing or using SteamCMD. Some of these erro If you are trying to install a game that's larger than the `Available` disk space, you are going to see this error. Review your disk usage by running `df -h` and examine your [Linode's disk and storage](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance) through the Cloud Manager. To overcome this error, you'll need to either remove files on your disk, [resize your disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance), or [resize your Linode](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) to a larger plan. - `ERROR! Failed to install app X (No subscription)` - This error code means that no authorized accounts on your SteamCMD owns the game. Verify the account on which you purchased the game and make sure that you are logged in using that account. - `Error! State is 0x402 after update job` - Error code `0x402` could mean that either the update servers are down or you have an internet connectivity issue. Verify that your Linode has network connectivity by following the [Troubleshooting Basic Connection Issues -](/cloud/guides/troubleshooting-basic-connection-issues/) guide. +](/cloud/guides/troubleshooting-basic-connection-issues) guide. - `Error! State is 0x602 after update job` - This code `0x602` implies a network error. When this error shows up, you most probably need to update your system and your network is preventing your SteamCMD from updating. - `Error! App '237410' state is 0x10502 after update job` - The code `0x10502` points to your application’s AppState, stored in the app manifest of your installed steam app. Under this code, take a look at the `StateReconfiguring`, `StateUpdateStarted`, `StateUpdateRunningStarted` and `StateUpdateRequired` codes. These status codes point towards a file download in process or a downloaded file is in the process of being installed. Based on what the issue is you can take the next step to resolve it. @@ -362,4 +362,4 @@ You may encounter an error when installing or using SteamCMD. Some of these erro You're ready to install your first Steam game server. From here, certain games may need a few more i386 libraries or firewall rules, and most will need their configuration settings to be modified. The game server should allow easy administrative access with as little interruption to players as possible. Its software should frequently be updated, and players' progress should be saved when the server is properly shut down. -Our [game server guides](/cloud/guides/game-servers/) cover these requirements for specific games and contain various Steam tutorials which will pick you up exactly where this page leaves off. +Our [game server guides](/cloud/guides/game-servers) cover these requirements for specific games and contain various Steam tutorials which will pick you up exactly where this page leaves off. diff --git a/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-14-04/index.md b/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-14-04/index.md index dfc39913ef8..6154e8f2bb0 100644 --- a/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-14-04/index.md +++ b/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-14-04/index.md @@ -29,10 +29,10 @@ deprecated_link: 'game-servers/launch-a-counter-strike-global-offensive-server-o 1. You will need a [Steam](http://store.steampowered.com) account and a copy of [Counter Strike: Global Offensive](http://store.steampowered.com/app/730/). A game server token is required to host a public CS:GO server. Without the token, client connections are restricted to the LAN only. -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites for Counter-Strike: Global Offensive @@ -110,7 +110,7 @@ screen -S "Counter-Strike: Global Offensive Server" ./srcds_run -game csgo -user {{< /file >}} - When run, the script will change directories to `~/Steam/csgo-ds` and execute a Dust2 server in competitive game mode in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. For more startup modes and game options, see Valve's [CS:GO wiki](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server). + When run, the script will change directories to `~/Steam/csgo-ds` and execute a Dust2 server in competitive game mode in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session. For more startup modes and game options, see Valve's [CS:GO wiki](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server). 3. Make the script executable: @@ -166,4 +166,4 @@ These settings are changed in the launch command. ### RCON -When logged into the server, you can open the RCON console with the backtick button (`` ` ``), or your mapped key. To log in type `rcon_password` followed by your password. For more information regarding RCON, click [here](/cloud/guides/team-fortress2-on-debian-and-ubuntu/#rcon). +When logged into the server, you can open the RCON console with the backtick button (`` ` ``), or your mapped key. To log in type `rcon_password` followed by your password. For more information regarding RCON, click [here](/cloud/guides/team-fortress2-on-debian-and-ubuntu#rcon). diff --git a/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-18-04/index.md b/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-18-04/index.md index 938ac577746..53f727a9e2f 100644 --- a/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-18-04/index.md +++ b/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-18-04/index.md @@ -34,17 +34,17 @@ relations: 1. A Steam game server login token (GSLT) is required to host a public CS:GO server. Without the token, client connections are restricted to the LAN only. [Register your GSLT](https://steamcommunity.com/dev/managegameservers) on Steam's website. Enter `730` as the App ID when creating your GSLT. Review [Steam's documentation](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Registering_Game_Server_Login_Token) for more information about GSLTs. -1. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +1. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites for Counter-Strike: Global Offensive After following the SteamCMD guide, some firewall modifications are needed specifically for CS:GO: -1. [Stop the SteamCMD process](/cloud/guides/install-steamcmd-for-a-steam-game-server/#stop-steamcmd) if it is currently running. +1. [Stop the SteamCMD process](/cloud/guides/install-steamcmd-for-a-steam-game-server#stop-steamcmd) if it is currently running. 1. Replace a firewall rule to slightly extend the UDP port range available to the game. This command assumes that you have **only** the iptables rules in place from the SteamCMD guide: @@ -56,7 +56,7 @@ After following the SteamCMD guide, some firewall modifications are needed speci ## Install Counter Strike: Global Offense -1. [Run SteamCMD and login to Steam](/cloud/guides/install-steamcmd-for-a-steam-game-server/#run-steamcmd) inside a screen session. +1. [Run SteamCMD and login to Steam](/cloud/guides/install-steamcmd-for-a-steam-game-server#run-steamcmd) inside a screen session. 1. From the SteamCMD prompt, install CS:GO to the `steam` user's home directory: @@ -118,7 +118,7 @@ screen -S "Counter-Strike: Global Offensive Server" ./srcds_run -game csgo -user | Package manager | `~/.steam/steamcmd/csgo-ds/` | | Manual installation | `~/Steam/csgo-ds/` | - When run, the script will execute a Dust2 server in competitive game mode in a [screen session](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/). For more startup modes and game options, see Valve's [CS:GO wiki](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server). + When run, the script will execute a Dust2 server in competitive game mode in a [screen session](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions). For more startup modes and game options, see Valve's [CS:GO wiki](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server). 1. Make the script executable: @@ -130,7 +130,7 @@ screen -S "Counter-Strike: Global Offensive Server" ./srcds_run -game csgo -user cd ~ && ./startcsgo.sh -1. Review instructions for [detaching from or stopping SteamCMD](/cloud/guides/install-steamcmd-for-a-steam-game-server/#exit-steamcmd) to exit the CS:GO server. +1. Review instructions for [detaching from or stopping SteamCMD](/cloud/guides/install-steamcmd-for-a-steam-game-server#exit-steamcmd) to exit the CS:GO server. ## Join the Game @@ -160,4 +160,4 @@ These settings are changed in the launch command. ### RCON -When logged into the server, you can open the RCON console with the backtick button (`` ` ``), or your mapped key. To log in type `rcon_password` followed by your password. For more information regarding RCON, click [here](/cloud/guides/team-fortress2-on-debian-and-ubuntu/#rcon). +When logged into the server, you can open the RCON console with the backtick button (`` ` ``), or your mapped key. To log in type `rcon_password` followed by your password. For more information regarding RCON, click [here](/cloud/guides/team-fortress2-on-debian-and-ubuntu#rcon). diff --git a/docs/guides/game-servers/left-4-dead-2-multiplayer-server-installation/index.md b/docs/guides/game-servers/left-4-dead-2-multiplayer-server-installation/index.md index 8a30740e5f5..d8450ab2492 100644 --- a/docs/guides/game-servers/left-4-dead-2-multiplayer-server-installation/index.md +++ b/docs/guides/game-servers/left-4-dead-2-multiplayer-server-installation/index.md @@ -28,7 +28,7 @@ You will need the following items to get started: - An up-to-date Linode running Ubuntu or Debian. We suggest you follow our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide for help configuring your Linode. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the sudo command, reference the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the sudo command, reference the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Preparing your Linode @@ -68,7 +68,7 @@ If you've configured your firewall according to our [Securing Your Server](https ## Install SteamCMD and Left 4 Dead 2 {{< note >}} -This guide requires additional libraries which are not included in our standard [SteamCMD Guide](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This guide includes standalone configuration instructions for SteamCMD. If you have already followed our SteamCMD installation guide, you can skip to step 4. +This guide requires additional libraries which are not included in our standard [SteamCMD Guide](/cloud/guides/install-steamcmd-for-a-steam-game-server). This guide includes standalone configuration instructions for SteamCMD. If you have already followed our SteamCMD installation guide, you can skip to step 4. {{< /note >}} 1. From your user's home folder, download SteamCMD into its own directory: @@ -165,7 +165,7 @@ The `+port 27020` parameter is not required but is recommended so that your serv {{< /note >}} You can change the map to whichever one you prefer. - This script, when run, will execute the L4D2 server in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. + This script, when run, will execute the L4D2 server in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session. 5. Make the script executable: diff --git a/docs/guides/game-servers/minecraft-with-bungee-cord/index.md b/docs/guides/game-servers/minecraft-with-bungee-cord/index.md index 8345412624e..9a8bba58b8f 100644 --- a/docs/guides/game-servers/minecraft-with-bungee-cord/index.md +++ b/docs/guides/game-servers/minecraft-with-bungee-cord/index.md @@ -19,10 +19,10 @@ aliases: [] dedicated_cpu_link: true --- -After you’ve got a Minecraft server up and running with [Spigot on Debian and Ubuntu](/cloud/guides/minecraft-with-spigot-ubuntu/), you may want to connect different servers with different collections of plugins. BungeeCord acts as a proxy between the Minecraft client and the server, and allows simple and easy switching between the Spigot servers. It allows for players to connect to one address, yet also access a wider variety of activities than a single Minecraft server instance. +After you’ve got a Minecraft server up and running with [Spigot on Debian and Ubuntu](/cloud/guides/minecraft-with-spigot-ubuntu), you may want to connect different servers with different collections of plugins. BungeeCord acts as a proxy between the Minecraft client and the server, and allows simple and easy switching between the Spigot servers. It allows for players to connect to one address, yet also access a wider variety of activities than a single Minecraft server instance. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Setting Up Your Linode diff --git a/docs/guides/game-servers/minecraft-with-mcmyadmin-on-debian/index.md b/docs/guides/game-servers/minecraft-with-mcmyadmin-on-debian/index.md index 1998a7ad4c0..390a2e41f81 100644 --- a/docs/guides/game-servers/minecraft-with-mcmyadmin-on-debian/index.md +++ b/docs/guides/game-servers/minecraft-with-mcmyadmin-on-debian/index.md @@ -109,7 +109,7 @@ COMMIT sudo iptables -L -nv sudo ip6tables -L -nv -4. To apply your iptables rules automatically on boot, see our section on configuring [iptables-persistent](/cloud/guides/control-network-traffic-with-iptables/#introduction-to-iptables-persistent). +4. To apply your iptables rules automatically on boot, see our section on configuring [iptables-persistent](/cloud/guides/control-network-traffic-with-iptables#introduction-to-iptables-persistent). ## Install Prerequisite Software diff --git a/docs/guides/game-servers/minecraft-with-spigot-ubuntu/index.md b/docs/guides/game-servers/minecraft-with-spigot-ubuntu/index.md index 3da0789d760..60046bf4fb8 100644 --- a/docs/guides/game-servers/minecraft-with-spigot-ubuntu/index.md +++ b/docs/guides/game-servers/minecraft-with-spigot-ubuntu/index.md @@ -121,7 +121,7 @@ eula=true su -l minecraft -c "screen -dmS minecraft /home/minecraft/server/wrapper.sh" {{< /file >}} - This line will, at reboot, create a new [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session as the Minecraft user, and launch SpigotMC in it. + This line will, at reboot, create a new [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session as the Minecraft user, and launch SpigotMC in it. 1. Manually start Spigot: @@ -129,7 +129,7 @@ su -l minecraft -c "screen -dmS minecraft /home/minecraft/server/wrapper.sh" To access the console, type `screen -r` as your **minecraft** user (note if you `su` to the user, you will need to run `script /dev/null` before you can attach to the Screen session). - You can now follow the [Connecting to your Minecraft Server](/cloud/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian/#connect-to-your-minecraft-server) steps from our vanilla Minecraft guide to log in to your new SpigotMC server. + You can now follow the [Connecting to your Minecraft Server](/cloud/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian#connect-to-your-minecraft-server) steps from our vanilla Minecraft guide to log in to your new SpigotMC server. To run admin commands during the game, first run `op username` from the console, replacing `username` with your in-game username. Have fun playing on your new Minecraft server! diff --git a/docs/guides/game-servers/multicraft-on-debian/index.md b/docs/guides/game-servers/multicraft-on-debian/index.md index 4831b8e2ffc..c4650ffb1b1 100644 --- a/docs/guides/game-servers/multicraft-on-debian/index.md +++ b/docs/guides/game-servers/multicraft-on-debian/index.md @@ -24,7 +24,7 @@ deprecated: true [Multicraft](http://www.multicraft.org/) is a control panel for single or multiple Minecraft servers Free and paid versions are available. This guide will help you install Multicraft on a Linode running Debian 7. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites @@ -52,7 +52,7 @@ Multicraft for Linux depends on several software packages in order to run. {{< /file >}} {{< note respectIndent=false >}} -If you want a dedicated Apache virtual host for Multicraft, follow the instructions [here](/cloud/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server). Be sure to configure the `AllowOverride` option on your custom virtual host. +If you want a dedicated Apache virtual host for Multicraft, follow the instructions [here](/cloud/guides/hosting-a-website-ubuntu-18-04#configure-name-based-virtual-hosts-in-apache-web-server). Be sure to configure the `AllowOverride` option on your custom virtual host. {{< /note >}} 4. Reload the Apache configuration: diff --git a/docs/guides/game-servers/multicraft-on-ubuntu/index.md b/docs/guides/game-servers/multicraft-on-ubuntu/index.md index 5b03dbf4c8d..67f40fcf0db 100644 --- a/docs/guides/game-servers/multicraft-on-ubuntu/index.md +++ b/docs/guides/game-servers/multicraft-on-ubuntu/index.md @@ -25,7 +25,7 @@ relations: [Multicraft](http://www.multicraft.org/) is a control panel for single or multiple Minecraft servers, with free and paid versions available. This guide provides information to install Multicraft on a Linode running Ubuntu 20.04 LTS. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites @@ -174,4 +174,4 @@ Version 1.17 (minecraft_server.1.17.jar) is downloaded. ![Multicraft Server Settings.](multicraft-server-settings-1804.png) - You can now successfully start and manage your Minecraft server through Multicraft! For more information, see the [Connect to your Minecraft Server](/cloud/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian/#connect-to-your-minecraft-server) section on the [How to Set Up a Minecraft Server on Ubuntu or Debian](/cloud/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian) guide. + You can now successfully start and manage your Minecraft server through Multicraft! For more information, see the [Connect to your Minecraft Server](/cloud/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian#connect-to-your-minecraft-server) section on the [How to Set Up a Minecraft Server on Ubuntu or Debian](/cloud/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian) guide. diff --git a/docs/guides/game-servers/popular-linux-games-overview-and-configuration-tips/index.md b/docs/guides/game-servers/popular-linux-games-overview-and-configuration-tips/index.md index 1f50848c927..eca5503cb5a 100644 --- a/docs/guides/game-servers/popular-linux-games-overview-and-configuration-tips/index.md +++ b/docs/guides/game-servers/popular-linux-games-overview-and-configuration-tips/index.md @@ -79,6 +79,6 @@ There are a plethora of big games that are not natively available on Linux. In s ### How Do I Find Linux Games on Steam? -The biggest gaming client, [Steam](/cloud/guides/install-steamcmd-for-a-steam-game-server/), lets you find, buy, and run Linux games easily. Open Steam, go to the [Store Page](https://store.steampowered.com/), click on **Categories**, and then click **SteamOS + Linux**. +The biggest gaming client, [Steam](/cloud/guides/install-steamcmd-for-a-steam-game-server), lets you find, buy, and run Linux games easily. Open Steam, go to the [Store Page](https://store.steampowered.com/), click on **Categories**, and then click **SteamOS + Linux**. This brings you to the storefront for Linux games. Scroll down to the **New and Trending**, **Top Sellers**, and **Upcoming** tabs to find the available games. diff --git a/docs/guides/game-servers/team-fortress2-on-debian-and-ubuntu/index.md b/docs/guides/game-servers/team-fortress2-on-debian-and-ubuntu/index.md index 3dcd95a3fee..9d6a1869de0 100644 --- a/docs/guides/game-servers/team-fortress2-on-debian-and-ubuntu/index.md +++ b/docs/guides/game-servers/team-fortress2-on-debian-and-ubuntu/index.md @@ -19,10 +19,10 @@ dedicated_cpu_link: true 1. You will need a [Steam](http://store.steampowered.com) account and a copy of [Team Fortress 2](http://store.steampowered.com/app/440/). -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites for Team Fortress 2 @@ -122,7 +122,7 @@ screen -S "Team Fortress 2 Server" ./srcds_run -game tf +map ctf_2fort.bsp {{< /file >}} - When run, the script will change directories to `~/Steam/tf2` and execute TF2 in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. + When run, the script will change directories to `~/Steam/tf2` and execute TF2 in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session. Optionally, replace `cft_2fort.bsp` with the name of your chosen map’s file, or replace `+map ctf_2fort.bsp` with `+randommap` for a randomized map selection. diff --git a/docs/guides/kubernetes/_shortguides/k8s-alpha-deprecation-shortguide/index.md b/docs/guides/kubernetes/_shortguides/k8s-alpha-deprecation-shortguide/index.md index 67845c94b20..5791d8772b6 100644 --- a/docs/guides/kubernetes/_shortguides/k8s-alpha-deprecation-shortguide/index.md +++ b/docs/guides/kubernetes/_shortguides/k8s-alpha-deprecation-shortguide/index.md @@ -13,12 +13,12 @@ aliases: [] --- {{< note type="alert" >}} -The [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) is deprecated. On **March 31st, 2020**, it will be **removed** from the [linode-cli](https://github.com/linode/linode-cli). After March 31, 2020, you will no longer be able to create or manage clusters using the k8s-alpha CLI plugin. +The [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli) is deprecated. On **March 31st, 2020**, it will be **removed** from the [linode-cli](https://github.com/linode/linode-cli). After March 31, 2020, you will no longer be able to create or manage clusters using the k8s-alpha CLI plugin. -However, you will still be able to [create and manage these clusters using Terraform](/cloud/guides/how-to-migrate-from-k8s-alpha-to-terraform/). The [Terraform module](https://github.com/linode/terraform-linode-k8s) used is a public project officially supported by Linode, and is currently used to power the k8s-alpha CLI. +However, you will still be able to [create and manage these clusters using Terraform](/cloud/guides/how-to-migrate-from-k8s-alpha-to-terraform). The [Terraform module](https://github.com/linode/terraform-linode-k8s) used is a public project officially supported by Linode, and is currently used to power the k8s-alpha CLI. Other alternatives for creating and managing clusters include: -- The [Linode Kubernetes Engine (LKE)](/cloud/kubernetes/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial/), which creates clusters managed by Linode. -- [Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/), which provides a graphical user interface for managing clusters. +- The [Linode Kubernetes Engine (LKE)](/cloud/kubernetes/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial), which creates clusters managed by Linode. +- [Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x), which provides a graphical user interface for managing clusters. {{< /note >}} diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-1-introduction/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-1-introduction/index.md index 743a8fa77b8..1b02f14e703 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-1-introduction/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-1-introduction/index.md @@ -19,7 +19,7 @@ aliases: [] {{< youtube 87FJQPorviM >}} {{< note >}} -This is the first guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. +This is the first guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series that explains the major parts and concepts of Kubernetes. {{< /note >}} *Kubernetes*, often referred to as *k8s*, is an open source container orchestration system that helps deploy and manage containerized applications. Developed by Google starting in 2014 and written in the [Go](http://golang.org) language, Kubernetes is quickly becoming the standard way to architect horizontally-scalable applications. @@ -34,7 +34,7 @@ In practice, the default container runtime for Kubernetes is [Docker](https://ww - **Containers** are similar to virtual machines. They are light-weight isolated runtimes that share resources of the operating system without having to run a full operating system themselves. Containers consume few resources but contain a complete set of information needed to execute their contained application images such as files, environment variables, and libraries. - - **Containerization** is a virtualization method to run distributed applications in containers using microservices. Containerizing an application requires a base image that can be used to create an instance of a container. Once an application’s image exists, you can push it to a centralized container registry that Kubernetes can use to deploy container instances in a cluster’s *pods*, which you will learn more about in [Beginner's Guide to Kubernetes: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#pods). + - **Containerization** is a virtualization method to run distributed applications in containers using microservices. Containerizing an application requires a base image that can be used to create an instance of a container. Once an application’s image exists, you can push it to a centralized container registry that Kubernetes can use to deploy container instances in a cluster’s *pods*, which you will learn more about in [Beginner's Guide to Kubernetes: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects#pods). - **Orchestration** is the automated configuration, coordination, and management of computer systems, software, middleware, and services. It takes advantage of automated tasks to execute processes. For Kubernetes, container orchestration automates all the provisioning, deployment, and availability of containers; load balancing; resource allocation between containers; and health monitoring of the cluster. @@ -52,14 +52,14 @@ For more information on the types of commands and resources you can use with kub ## Next Steps -To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series, visit part 2: +To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series, visit part 2: - - [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/) (You Are Here) + - [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction) (You Are Here) - - [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) + - [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane) - - [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/) + - [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects) - - [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/) + - [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers) - - [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file + - [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion) \ No newline at end of file diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/index.md index 2390a7cfb3b..4d4d29da1de 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/index.md @@ -18,7 +18,7 @@ tags: ["kubernetes"] ![A Beginner's Guide to Kubernetes](beginners-guide-to-kubernetes.png) {{< note >}} -This is the second guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. +This is the second guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series that explains the major parts and concepts of Kubernetes. {{< /note >}} At the highest level of Kubernetes, there exist two kinds of servers, a *Master* and a *Node*. These servers can be Linodes, VMs, or physical servers. Together, these servers form a *cluster* and are controlled by the services that make up the *Control Plane*. @@ -33,28 +33,28 @@ The Kubernetes Master is normally a separate server responsible for maintaining Kubernetes Nodes are worker servers that run your application(s). The number of Nodes is determined by the user, and they are created by the user. In addition to running your application, each Node runs two processes: -- **kubelet** receives descriptions of the desired state of a [Pod](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#pods) from the API server, and ensures the Pod is healthy, and running on the Node. -- **kube-proxy** is a networking proxy that proxies the UDP, TCP, and SCTP networking of each Node, and provides load balancing. This is only used to connect to [Services](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#services). +- **kubelet** receives descriptions of the desired state of a [Pod](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects#pods) from the API server, and ensures the Pod is healthy, and running on the Node. +- **kube-proxy** is a networking proxy that proxies the UDP, TCP, and SCTP networking of each Node, and provides load balancing. This is only used to connect to [Services](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects#services). ## The Control Plane Together, kube-apiserver, kube-controller-manager, kube-scheduler, and etcd form what is known as the *control plane*. The control plane is responsible for making decisions about the cluster, and pushing it toward the desired state. kube-apiserver, kube-controller-manager, and kube-scheduler are processes and etcd is a database; all four are run by the Kubernetes Master. - **kube-apiserver** is the front end for the Kubernetes API server. - - **kube-controller-manager** is a daemon that manages the Kubernetes control loop. For more on Controllers, see the [Beginner's Guide to Kubernetes: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/). + - **kube-controller-manager** is a daemon that manages the Kubernetes control loop. For more on Controllers, see the [Beginner's Guide to Kubernetes: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers). - **kube-scheduler** is a function that looks for newly created Pods that have no Nodes, and assigns them a Node based on a host of requirements. For more information on kube-scheduler, consult the [Kubernetes kube-scheduler documentation](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/). - **Etcd** is a highly available key-value store that provides the backend database for Kubernetes. It stores and replicates the entirety of the Kubernetes cluster state. It's written in Go and uses the [Raft protocol](https://raft.github.io/) which means it maintains identical logs of state changing commands across nodes and coordinates the order in which these state changes occur. ## Next Steps -To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series, visit part 3: +To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series, visit part 3: - - [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/) + - [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction) - - [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) (You Are Here) + - [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane) (You Are Here) - - [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/) + - [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects) - - [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/) + - [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers) - - [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file + - [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion) \ No newline at end of file diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-3-objects/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-3-objects/index.md index 28eb81ecc2d..1487e2d3c7d 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-3-objects/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-3-objects/index.md @@ -18,7 +18,7 @@ aliases: [] ![A Beginner's Guide to Kubernetes](beginners-guide-to-kubernetes.png) {{< note >}} -This is the third guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. +This is the third guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series that explains the major parts and concepts of Kubernetes. {{< /note >}} In Kubernetes, there are a number of objects that are abstractions of your Kubernetes system's desired state. These objects represent your application, its networking, and disk resources -- all of which together form your application. @@ -57,7 +57,7 @@ Each manifest has four necessary parts: - Metadata about the resource - Though not required by all objects, a spec which describes the desired behavior of the resource is necessary for most objects and controllers. -In the case of this example, the API in use is `v1`, and the `kind` is a Pod. The metadata field is used for applying a name, labels, and annotations. Names are used to differentiate resources, while labels are used to group like resources. Labels will come into play more when defining [Services](#services) and [Deployments](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/#deployments). Annotations are for attaching arbitrary data to the resource. +In the case of this example, the API in use is `v1`, and the `kind` is a Pod. The metadata field is used for applying a name, labels, and annotations. Names are used to differentiate resources, while labels are used to group like resources. Labels will come into play more when defining [Services](#services) and [Deployments](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers#deployments). Annotations are for attaching arbitrary data to the resource. The spec is where the desired state of the resource is defined. In this case, a Pod with a single Apache container is desired, so the `containers` field is supplied with a name, 'apache-container', and an image, the latest version of Apache. The image is pulled from [Docker Hub](https://hub.docker.com), as that is the default container registry for Kubernetes. @@ -275,14 +275,14 @@ For more information on Namespaces, visit the [Kubernetes Namespaces API documen ## Next Steps -To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series, visit part 4: +To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series, visit part 4: -- [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/) +- [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction) -- [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) +- [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane) -- [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/) (You Are Here) +- [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects) (You Are Here) -- [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/) +- [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers) -- [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file +- [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion) \ No newline at end of file diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-4-controllers/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-4-controllers/index.md index e9afed925fd..9f40a77bbe3 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-4-controllers/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-4-controllers/index.md @@ -18,7 +18,7 @@ aliases: [] ![A Beginner's Guide to Kubernetes](beginners-guide-to-kubernetes.png) {{< note >}} -This is the fourth guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. +This is the fourth guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series that explains the major parts and concepts of Kubernetes. {{< /note >}} A Controller is a control loop that continuously watches the Kubernetes API and tries to manage the desired state of certain aspects of the cluster. There are a number of controllers. Below is a short reference of the most popular controllers you might interact with. @@ -263,14 +263,14 @@ kubectl delete job hello-world There are other controllers not listed in this guide that you may find useful. Visit the [official Kubernetes documentation](https://kubernetes.io/docs/concepts/#kubernetes-objects) for more information. -To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series, visit part 5: +To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series, visit part 5: -- [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/) +- [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction) -- [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) +- [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane) -- [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/) +- [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects) -- [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/) (You Are Here) +- [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers) (You Are Here) -- [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file +- [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion) \ No newline at end of file diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-5-conclusion/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-5-conclusion/index.md index afc1795d0f8..c8e163b49bd 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-5-conclusion/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-5-conclusion/index.md @@ -18,7 +18,7 @@ aliases: [] ![A Beginner's Guide to Kubernetes](beginners-guide-to-kubernetes.png) {{< note >}} -This is the fifth guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. +This is the fifth guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series that explains the major parts and concepts of Kubernetes. {{< /note >}} In this guide you will learn about [networking](#networking) in Kubernetes and about [advanced Kubernetes topics](#advanced-topics). @@ -53,10 +53,10 @@ There are a number of advanced topics in Kubernetes. Below are a few you might f ## Next Steps -Now that you are familiar with Kubernetes concepts and components, you can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/) guide. This guide provides a hands-on activity to continue learning about Kubernetes. +Now that you are familiar with Kubernetes concepts and components, you can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm) guide. This guide provides a hands-on activity to continue learning about Kubernetes. If you would like to deploy a Kubernetes cluster on Linode for production use, we recommend using one of the following methods instead. These methods are also a much faster way to get a cluster running, and they will also integrate your cluster with some useful Linode plugins: - - [How to Deploy Kubernetes on Linode with Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) + - [How to Deploy Kubernetes on Linode with Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x) - [Use the Linode Terraform Provider](https://www.terraform.io/docs/providers/linode/index.html) - [Try the Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes/index.md index 867051b292e..4d84ec132e6 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes/index.md @@ -21,12 +21,12 @@ external_resources: This guide is the parent to the five-part series of Beginner's Guides to Kubernetes: - - [A Beginner's Guide to Kubernetes (Part 1): Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/) + - [A Beginner's Guide to Kubernetes (Part 1): Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction) - - [A Beginner's Guide to Kubernetes (Part 2): Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) + - [A Beginner's Guide to Kubernetes (Part 2): Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane) - - [A Beginner's Guide to Kubernetes (Part 3): Pods, Services, and Namespaces](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/) + - [A Beginner's Guide to Kubernetes (Part 3): Pods, Services, and Namespaces](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects) - - [A Beginner's Guide to Kubernetes (Part 4): Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/) + - [A Beginner's Guide to Kubernetes (Part 4): Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers) - - [A Beginner's Guide to Kubernetes (Part 5): Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion/) + - [A Beginner's Guide to Kubernetes (Part 5): Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion) diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-1/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-1/index.md index 4046338de66..3b9b6b6615a 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-1/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-1/index.md @@ -24,8 +24,8 @@ The goal of this series is to set up a continuous deployment pipeline for a Kube ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Next section:** [Part 2: Sample Application](/cloud/guides/build-a-cd-pipeline-with-lke-part-2/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Next section:** [Part 2: Sample Application](/cloud/guides/build-a-cd-pipeline-with-lke-part-2) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-10/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-10/index.md index 0d23c4f236c..1d78b7fa6cf 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-10/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-10/index.md @@ -28,9 +28,9 @@ Now that there is an application running on our Kubernetes cluster, the next ste ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 9: Installing Traefik](/cloud/guides/build-a-cd-pipeline-with-lke-part-9/) -- **Next section:** [Part 11: Prometheus and Grafana](/cloud/guides/build-a-cd-pipeline-with-lke-part-11/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 9: Installing Traefik](/cloud/guides/build-a-cd-pipeline-with-lke-part-9) +- **Next section:** [Part 11: Prometheus and Grafana](/cloud/guides/build-a-cd-pipeline-with-lke-part-11) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-11/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-11/index.md index 552f4f838fb..c85726a67aa 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-11/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-11/index.md @@ -24,9 +24,9 @@ Going beyond metrics-server, this guide goes over collecting more advanced metri ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 10: Installing metrics-server](/cloud/guides/build-a-cd-pipeline-with-lke-part-10/) -- **Next section:** [Part 12: cert-manager](/cloud/guides/build-a-cd-pipeline-with-lke-part-12/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 10: Installing metrics-server](/cloud/guides/build-a-cd-pipeline-with-lke-part-10) +- **Next section:** [Part 12: cert-manager](/cloud/guides/build-a-cd-pipeline-with-lke-part-12) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-12/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-12/index.md index 31ccc2afb72..af06d91ce33 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-12/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-12/index.md @@ -24,9 +24,9 @@ The cert-manager tool can be used to manage SSL/TLS certificates for application ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 11: Prometheus and Grafana](/cloud/guides/build-a-cd-pipeline-with-lke-part-11/) -- **Next section:** [Part 13: CI/CD with GitLab](/cloud/guides/build-a-cd-pipeline-with-lke-part-13/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 11: Prometheus and Grafana](/cloud/guides/build-a-cd-pipeline-with-lke-part-11) +- **Next section:** [Part 13: CI/CD with GitLab](/cloud/guides/build-a-cd-pipeline-with-lke-part-13) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-13/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-13/index.md index 292c4837d56..d31ddda2c6f 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-13/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-13/index.md @@ -24,8 +24,8 @@ To complete this series, we'll now build a continuous deployment pipeline using ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 12: cert-manager](/cloud/guides/build-a-cd-pipeline-with-lke-part-12/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 12: cert-manager](/cloud/guides/build-a-cd-pipeline-with-lke-part-12) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-2/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-2/index.md index a7f86a39d17..b9d22bd3d04 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-2/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-2/index.md @@ -24,9 +24,9 @@ The sample application that we'll be running on Kubernetes is called DockerCoins ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 1: Get Ready](/cloud/guides/build-a-cd-pipeline-with-lke-part-1/) -- **Next section:** [Part 3: Deploying the LKE Cluster](/cloud/guides/build-a-cd-pipeline-with-lke-part-3/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 1: Get Ready](/cloud/guides/build-a-cd-pipeline-with-lke-part-1) +- **Next section:** [Part 3: Deploying the LKE Cluster](/cloud/guides/build-a-cd-pipeline-with-lke-part-3) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-3/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-3/index.md index d58490f6ae5..d662088f3da 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-3/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-3/index.md @@ -24,9 +24,9 @@ Managed Kubernetes clusters are much easier to setup and maintain than self-mana ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 2: Sample Application](/cloud/guides/build-a-cd-pipeline-with-lke-part-2/) -- **Next section:** [Part 4: Kubernetes Review](/cloud/guides/build-a-cd-pipeline-with-lke-part-4/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 2: Sample Application](/cloud/guides/build-a-cd-pipeline-with-lke-part-2) +- **Next section:** [Part 4: Kubernetes Review](/cloud/guides/build-a-cd-pipeline-with-lke-part-4) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-4/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-4/index.md index fafe4c7590f..218e69aecdc 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-4/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-4/index.md @@ -24,9 +24,9 @@ This is an optional part of the series that provides an introduction to Kubernet ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 3: Deploying the LKE Cluster](/cloud/guides/build-a-cd-pipeline-with-lke-part-3/) -- **Next section:** [Part 5: Accessing Internal Services](/cloud/guides/build-a-cd-pipeline-with-lke-part-5/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 3: Deploying the LKE Cluster](/cloud/guides/build-a-cd-pipeline-with-lke-part-3) +- **Next section:** [Part 5: Accessing Internal Services](/cloud/guides/build-a-cd-pipeline-with-lke-part-5) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-5/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-5/index.md index dc06c46976f..5de877e372b 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-5/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-5/index.md @@ -24,9 +24,9 @@ It's often necessary to access internal services within the Kubernetes cluster w ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 4: Kubernetes Review](/cloud/guides/build-a-cd-pipeline-with-lke-part-4/) -- **Next section:** [Part 6: DNS, Ingress, and Metrics](/cloud/guides/build-a-cd-pipeline-with-lke-part-6/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 4: Kubernetes Review](/cloud/guides/build-a-cd-pipeline-with-lke-part-4) +- **Next section:** [Part 6: DNS, Ingress, and Metrics](/cloud/guides/build-a-cd-pipeline-with-lke-part-6) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-6/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-6/index.md index 6a71ebc316c..d2e651bf5e2 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-6/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-6/index.md @@ -24,9 +24,9 @@ The next steps are to access our sample application over a domain (DNS), setup a ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 5: Accessing Internal Services](/cloud/guides/build-a-cd-pipeline-with-lke-part-5/) -- **Next section:** [Part 7: Managing Stacks with Helm](/cloud/guides/build-a-cd-pipeline-with-lke-part-7/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 5: Accessing Internal Services](/cloud/guides/build-a-cd-pipeline-with-lke-part-5) +- **Next section:** [Part 7: Managing Stacks with Helm](/cloud/guides/build-a-cd-pipeline-with-lke-part-7) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-7/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-7/index.md index 8b4e7e5984c..c3e1818880a 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-7/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-7/index.md @@ -24,9 +24,9 @@ Helm allows us to locate, distribute, and manage software for Kubernetes. This p ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 6: DNS, Ingress, and Metrics](/cloud/guides/build-a-cd-pipeline-with-lke-part-6/) -- **Next section:** [Part 8: ExternalDNS](/cloud/guides/build-a-cd-pipeline-with-lke-part-8/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 6: DNS, Ingress, and Metrics](/cloud/guides/build-a-cd-pipeline-with-lke-part-6) +- **Next section:** [Part 8: ExternalDNS](/cloud/guides/build-a-cd-pipeline-with-lke-part-8) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-8/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-8/index.md index ac076b070b3..d798876647f 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-8/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-8/index.md @@ -24,9 +24,9 @@ ExternalDNS is a tool that automatically manages external DNS records from withi ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 7: Managing Stacks with Helm](/cloud/guides/build-a-cd-pipeline-with-lke-part-7/) -- **Next section:** [Part 9: Installing Traefik](/cloud/guides/build-a-cd-pipeline-with-lke-part-9/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 7: Managing Stacks with Helm](/cloud/guides/build-a-cd-pipeline-with-lke-part-7) +- **Next section:** [Part 9: Installing Traefik](/cloud/guides/build-a-cd-pipeline-with-lke-part-9) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-9/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-9/index.md index 8ed22874f01..5d77b2e7067 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-9/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-9/index.md @@ -24,9 +24,9 @@ Traefik is a popular *Ingress Controller* for Kubernetes, which manages external ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 8: ExternalDNS](/cloud/guides/build-a-cd-pipeline-with-lke-part-8/) -- **Next section:** [Part 10: Installing metrics-server](/cloud/guides/build-a-cd-pipeline-with-lke-part-10/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke) +- **Previous section:** [Part 8: ExternalDNS](/cloud/guides/build-a-cd-pipeline-with-lke-part-8) +- **Next section:** [Part 10: Installing metrics-server](/cloud/guides/build-a-cd-pipeline-with-lke-part-10) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke/index.md index 0e0af113cef..5792eb85149 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke/index.md @@ -31,19 +31,19 @@ The material is split into 2 modules and 13 sections. Each of these sections has ### Module 1 -- [Part 1: Get Ready](/cloud/guides/build-a-cd-pipeline-with-lke-part-1/): The goal of this series is to set up a continuous deployment pipeline for a Kubernetes app on a Kubernetes cluster. This introduction will cover what to expect, the prerequisite knowledge, and the software/components that are required. -- [Part 2: Our Sample Application](/cloud/guides/build-a-cd-pipeline-with-lke-part-2/): The sample application that we'll be running on Kubernetes is called DockerCoins (a demo app just for this presentation). This part of the guide will take a look at DockerCoins and examine how it works and how the app can be run locally. -- [Part 3: Deploying our LKE Cluster](/cloud/guides/build-a-cd-pipeline-with-lke-part-3/): Managed Kubernetes clusters are much easier to setup and maintain than self-managed Kubernetes clusters. This portion goes over setting up a cluster using the Linode Kubernetes Engine (LKE) through the Cloud Manager and the Linode CLI. -- [Part 4: Quick Kubernetes Review](/cloud/guides/build-a-cd-pipeline-with-lke-part-4/): This is an optional part of the series that provides an introduction to Kubernetes. It covers deploying a simple application on Kubernetes and each of the components that are involved (such as pods, controllers, and services). -- [Part 5: Accessing Internal Services](/cloud/guides/build-a-cd-pipeline-with-lke-part-5/): It's often necessary to access internal services within the Kubernetes cluster without exposing them to the public internet. This part covers accomplishing that through using both `kubectl proxy` and `kubectl port-forward`. -- [Part 6: DNS, Ingress, Metrics](/cloud/guides/build-a-cd-pipeline-with-lke-part-6/): The next steps are to access our sample application over a domain (DNS), setup an Ingress Controller as a load balancer / reverse proxy, and collect metrics on our application. This guide provides an overview of these components, though each of them will be discussed in greater detail within Module 2. +- [Part 1: Get Ready](/cloud/guides/build-a-cd-pipeline-with-lke-part-1): The goal of this series is to set up a continuous deployment pipeline for a Kubernetes app on a Kubernetes cluster. This introduction will cover what to expect, the prerequisite knowledge, and the software/components that are required. +- [Part 2: Our Sample Application](/cloud/guides/build-a-cd-pipeline-with-lke-part-2): The sample application that we'll be running on Kubernetes is called DockerCoins (a demo app just for this presentation). This part of the guide will take a look at DockerCoins and examine how it works and how the app can be run locally. +- [Part 3: Deploying our LKE Cluster](/cloud/guides/build-a-cd-pipeline-with-lke-part-3): Managed Kubernetes clusters are much easier to setup and maintain than self-managed Kubernetes clusters. This portion goes over setting up a cluster using the Linode Kubernetes Engine (LKE) through the Cloud Manager and the Linode CLI. +- [Part 4: Quick Kubernetes Review](/cloud/guides/build-a-cd-pipeline-with-lke-part-4): This is an optional part of the series that provides an introduction to Kubernetes. It covers deploying a simple application on Kubernetes and each of the components that are involved (such as pods, controllers, and services). +- [Part 5: Accessing Internal Services](/cloud/guides/build-a-cd-pipeline-with-lke-part-5): It's often necessary to access internal services within the Kubernetes cluster without exposing them to the public internet. This part covers accomplishing that through using both `kubectl proxy` and `kubectl port-forward`. +- [Part 6: DNS, Ingress, Metrics](/cloud/guides/build-a-cd-pipeline-with-lke-part-6): The next steps are to access our sample application over a domain (DNS), setup an Ingress Controller as a load balancer / reverse proxy, and collect metrics on our application. This guide provides an overview of these components, though each of them will be discussed in greater detail within Module 2. ### Module 2 -- [Part 7: Managing Stacks with Helm](/cloud/guides/build-a-cd-pipeline-with-lke-part-7/): Helm allows us to locate, distribute, and manage software for Kubernetes. This part covers what Helm is, how we'll use it, and the differences between Helm 2 and Helm 3. It also discuses Helm Charts and we find, install, and manage them. -- [Part 8: External DNS](/cloud/guides/build-a-cd-pipeline-with-lke-part-8/): ExternalDNS is a tool that automatically manages external DNS records from within the Kubernetes cluster. It can integrate with Linode DNS (among other providers). This portion of the series has us installing ExternalDNS using Helm and testing its functionality. -- [Part 9: Installing Traefik](/cloud/guides/build-a-cd-pipeline-with-lke-part-9/): Traefik is a popular *Ingress Controller* for Kubernetes, which manages external access to the cluster and provides load balancing functionality. This section discusses installing Traefik, configuring an Ingress within our YAML file, and testing things out. -- [Part 10: Installing metrics-server](/cloud/guides/build-a-cd-pipeline-with-lke-part-10/): Now that there is an application running on our Kubernetes cluster, the next step is to collect metrics on the resources being used. This part covers installing and using metrics-server as a basic data collection tool. -- [Part 11: Prometheus and Grafana](/cloud/guides/build-a-cd-pipeline-with-lke-part-11/): Going beyond metrics-server, this guide goes over collecting more advanced metrics using Prometheus (to capture the metrics) and Grafana (to display the metrics within a user interface). -- [Part 12: cert-manager](/cloud/guides/build-a-cd-pipeline-with-lke-part-12/): The cert-manager tool can be used to manage SSL/TLS certificates for applications within a Kubernetes cluster. This part goes over installing and configuring cert-manager, as well as obtaining your first SSL certificate through Let's Encrypt. -- [Part 13: CI/CD with GitLab](/cloud/guides/build-a-cd-pipeline-with-lke-part-13/): To complete this series, we'll now build a continuous deployment pipeline using a self-hosted GitLab instance (running within our Kubernetes cluster). GitLab is a `git` platform and, once its set up, we'll be able to push code changes to both a staging environment and a production environment. \ No newline at end of file +- [Part 7: Managing Stacks with Helm](/cloud/guides/build-a-cd-pipeline-with-lke-part-7): Helm allows us to locate, distribute, and manage software for Kubernetes. This part covers what Helm is, how we'll use it, and the differences between Helm 2 and Helm 3. It also discuses Helm Charts and we find, install, and manage them. +- [Part 8: External DNS](/cloud/guides/build-a-cd-pipeline-with-lke-part-8): ExternalDNS is a tool that automatically manages external DNS records from within the Kubernetes cluster. It can integrate with Linode DNS (among other providers). This portion of the series has us installing ExternalDNS using Helm and testing its functionality. +- [Part 9: Installing Traefik](/cloud/guides/build-a-cd-pipeline-with-lke-part-9): Traefik is a popular *Ingress Controller* for Kubernetes, which manages external access to the cluster and provides load balancing functionality. This section discusses installing Traefik, configuring an Ingress within our YAML file, and testing things out. +- [Part 10: Installing metrics-server](/cloud/guides/build-a-cd-pipeline-with-lke-part-10): Now that there is an application running on our Kubernetes cluster, the next step is to collect metrics on the resources being used. This part covers installing and using metrics-server as a basic data collection tool. +- [Part 11: Prometheus and Grafana](/cloud/guides/build-a-cd-pipeline-with-lke-part-11): Going beyond metrics-server, this guide goes over collecting more advanced metrics using Prometheus (to capture the metrics) and Grafana (to display the metrics within a user interface). +- [Part 12: cert-manager](/cloud/guides/build-a-cd-pipeline-with-lke-part-12): The cert-manager tool can be used to manage SSL/TLS certificates for applications within a Kubernetes cluster. This part goes over installing and configuring cert-manager, as well as obtaining your first SSL certificate through Let's Encrypt. +- [Part 13: CI/CD with GitLab](/cloud/guides/build-a-cd-pipeline-with-lke-part-13): To complete this series, we'll now build a continuous deployment pipeline using a self-hosted GitLab instance (running within our Kubernetes cluster). GitLab is a `git` platform and, once its set up, we'll be able to push code changes to both a staging environment and a production environment. \ No newline at end of file diff --git a/docs/guides/kubernetes/check-for-configuration-issues-with-popeye/index.md b/docs/guides/kubernetes/check-for-configuration-issues-with-popeye/index.md index df47e1b5484..fe7e437c1e1 100644 --- a/docs/guides/kubernetes/check-for-configuration-issues-with-popeye/index.md +++ b/docs/guides/kubernetes/check-for-configuration-issues-with-popeye/index.md @@ -27,7 +27,7 @@ Popeye can either be installed using the package manager [Homebrew](https://brew #### Ubuntu 20.04 -Before proceeding with installation on **Ubuntu 20.04 LTS**, ensure that all of the following commands are entered as a [limited sudo user](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) with access to a fully configured [LKE](https://www.linode.com/products/kubernetes/) or [Kubernetes](/cloud/guides/kubernetes/) cluster with [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) fully installed and using your kubeconfig configuration file. A good way to test this is to ensure that you can see all nodes in your cluster when entering the following command: +Before proceeding with installation on **Ubuntu 20.04 LTS**, ensure that all of the following commands are entered as a [limited sudo user](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) with access to a fully configured [LKE](https://www.linode.com/products/kubernetes/) or [Kubernetes](/cloud/guides/kubernetes) cluster with [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) fully installed and using your kubeconfig configuration file. A good way to test this is to ensure that you can see all nodes in your cluster when entering the following command: ```command kubectl get nodes @@ -90,7 +90,7 @@ The following steps will complete the installation of Popeye on **MacOS**: ### Install Popeye using Linux Binary Tarballs -Before proceeding with the installation of popeye, ensure that [wget](/cloud/guides/how-to-use-wget/) is installed on your system. Once installed proceed with the following steps: +Before proceeding with the installation of popeye, ensure that [wget](/cloud/guides/how-to-use-wget) is installed on your system. Once installed proceed with the following steps: 1. Determine the architecture of your system: diff --git a/docs/guides/kubernetes/controlling-linode-lke-costs-using-kubecost/index.md b/docs/guides/kubernetes/controlling-linode-lke-costs-using-kubecost/index.md index d21d1e17c80..479a7222301 100644 --- a/docs/guides/kubernetes/controlling-linode-lke-costs-using-kubecost/index.md +++ b/docs/guides/kubernetes/controlling-linode-lke-costs-using-kubecost/index.md @@ -96,7 +96,7 @@ The following components must be in place prior to installing Kubecost: ```command export KUBECONFIG={{< placeholder "~/Downloads/kubeconfig.yaml" >}} ``` -- The [Helm](https://helm.sh/) Kubernetes package manager installed and configured on your local system. See our guide on [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/). +- The [Helm](https://helm.sh/) Kubernetes package manager installed and configured on your local system. See our guide on [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3). ### Installing Kubecost diff --git a/docs/guides/kubernetes/deploy-container-image-to-kubernetes/index.md b/docs/guides/kubernetes/deploy-container-image-to-kubernetes/index.md index f6745de8d1c..04f40fd0b1f 100644 --- a/docs/guides/kubernetes/deploy-container-image-to-kubernetes/index.md +++ b/docs/guides/kubernetes/deploy-container-image-to-kubernetes/index.md @@ -38,9 +38,9 @@ This guide was written using version 1.14 of Kubectl. ## Before You Begin 1. Create a Kubernetes cluster with one worker node. This can be done in two ways: - 1. Deploy a Kubernetes cluster using [kubeadm](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/). + 1. Deploy a Kubernetes cluster using [kubeadm](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm). - You will need to deploy two Linodes. One will serve as the master node and the other will serve as a worker node. - 1. Deploy a Kubernetes cluster using [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/). + 1. Deploy a Kubernetes cluster using [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli). {{% content "k8s-alpha-deprecation-shortguide" %}} @@ -52,7 +52,7 @@ This guide was written using version 1.14 of Kubectl. Development of your Hugo site and Docker image will take place locally on your personal computer. You will need to install Hugo, Docker CE, and Git, a version control software, on your personal computer to get started. -1. Use the [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide for the steps needed to install Git. +1. Use the [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) guide for the steps needed to install Git. 1. Install Hugo. [Hugo's official documentation](https://gohugo.io/getting-started/installing/) contains more information on installation methods, like [Installing Hugo from Tarball](https://gohugo.io/getting-started/installing/#install-hugo-from-tarball). Below are installation instructions for common operating systems: @@ -238,7 +238,7 @@ The example Hugo site was initialized as a local Git repository in the previous ``` {{< note >}} - Any time you complete work related to one logical change to the Hugo site, you should make sure you commit the changes to your Git repository. Keeping your commits attached to small changes makes it easier to understand the changes and to roll back to previous commits, if necessary. See the [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide for more information. + Any time you complete work related to one logical change to the Hugo site, you should make sure you commit the changes to your Git repository. Keeping your commits attached to small changes makes it easier to understand the changes and to roll back to previous commits, if necessary. See the [Getting Started with Git](/cloud/guides/how-to-configure-git) guide for more information. {{< /note >}} ## Create a Docker Image @@ -556,5 +556,5 @@ To avoid being further billed for your Kubernetes cluster, tear down your cluste Now that you are familiar with basic Kubernetes concepts, like configuring pods, grouping resources, and deploying services, you can deploy a Kubernetes cluster on Linode for production use by using the steps in the following guides: -- [How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) -- [How to Deploy Kubernetes on Linode with Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) \ No newline at end of file +- [How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli) +- [How to Deploy Kubernetes on Linode with Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x) \ No newline at end of file diff --git a/docs/guides/kubernetes/deploy-kubernetes-cluster-using-kubeadm/index.md b/docs/guides/kubernetes/deploy-kubernetes-cluster-using-kubeadm/index.md index 78748ef5976..004071add37 100644 --- a/docs/guides/kubernetes/deploy-kubernetes-cluster-using-kubeadm/index.md +++ b/docs/guides/kubernetes/deploy-kubernetes-cluster-using-kubeadm/index.md @@ -30,7 +30,7 @@ While kubeadm automates several cluster-provisioning tasks, there are other even - The [Linode Kubernetes Engine](https://www.linode.com/products/kubernetes/), allows you to spin up a Kubernetes cluster from the [Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) or the [Linode API](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api), and Linode handles the management and maintenance of your control plane. -- If you prefer a full featured GUI, [Linode's Rancher integration](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) enables you to deploy and manage Kubernetes clusters with a simple web interface. +- If you prefer a full featured GUI, [Linode's Rancher integration](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x) enables you to deploy and manage Kubernetes clusters with a simple web interface. {{% content "k8s-alpha-deprecation-shortguide" %}} @@ -61,7 +61,7 @@ While kubeadm automates several cluster-provisioning tasks, there are other even To learn more about managing compute resources for containers, see the official [Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/). -1. Read the [Beginners Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) to familiarize yourself with the major components and concepts of Kubernetes. The current guide assumes a working knowledge of common Kubernetes concepts and terminology. +1. Read the [Beginners Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) to familiarize yourself with the major components and concepts of Kubernetes. The current guide assumes a working knowledge of common Kubernetes concepts and terminology. ## Build a Kubernetes Cluster @@ -280,7 +280,7 @@ Complete the steps outlined in this section on all three Linodes. After installing the Kubernetes related tooling on all your Linodes, you are ready to set up the Kubernetes control plane. The control plane is responsible for allocating resources to your cluster, maintaining the health of your cluster, and ensuring that it meets the minimum requirements you designate for the cluster. -The primary components of the control plane are the kube-apiserver, kube-controller-manager, kube-scheduler, and etcd. You can easily initialize the Kubernetes control plane with all the necessary components using kubeadm. For more information on each of control plane component see the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/). +The primary components of the control plane are the kube-apiserver, kube-controller-manager, kube-scheduler, and etcd. You can easily initialize the Kubernetes control plane with all the necessary components using kubeadm. For more information on each of control plane component see the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes). In addition to the baseline control plane components, there are several *addons*, that can be installed on the control plane to access additional cluster features. You need to install a networking and network policy provider addon that implements the [Kubernetes' network model](https://kubernetes.io/docs/concepts/cluster-administration/networking/) on the cluster's Pod network. @@ -346,7 +346,7 @@ kubeadm only supports Container Network Interface (CNI) based networks. CNI cons ### Inspect the Control Plane with Kubectl -After completing the previous section, your Kubernetes control plane is ready with all the necessary components to manage a cluster. To gain a better understanding of all the parts that make up the control plane, this section walks you through inspecting your control plane. If you have not yet reviewed the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/), it is helpful to do so prior to continuing with this section as it relies on the understanding of basic Kubernetes concepts. +After completing the previous section, your Kubernetes control plane is ready with all the necessary components to manage a cluster. To gain a better understanding of all the parts that make up the control plane, this section walks you through inspecting your control plane. If you have not yet reviewed the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes), it is helpful to do so prior to continuing with this section as it relies on the understanding of basic Kubernetes concepts. 1. View the current state of all nodes in your cluster. At this stage, the only node you should expect to see is the control plane, since worker nodes have yet to be bootstrapped. A `STATUS` of `Ready` indicates that the control plane contains all necessary components, including the Pod network add-on, to start managing clusters. @@ -361,7 +361,7 @@ After completing the previous section, your Kubernetes control plane is ready wi primary Ready control-plane 1h v1.14.1 ``` -1. Inspect the available [namespaces](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#namespaces) in your cluster. +1. Inspect the available [namespaces](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects#namespaces) in your cluster. ```command kubectl get namespaces @@ -458,7 +458,7 @@ Follow the steps below on each node you would like to bootstrap to the cluster a ## Next Steps -Now that you have a Kubernetes cluster up and running, you can begin experimenting with the various ways to configure Pods, group resources, and deploy services that are exposed to the public internet. To help you get started with this, move on to follow along with the [Deploy a Static Site on Linode using Kubernetes](/cloud/guides/how-to-deploy-a-static-site-on-linode-kubernetes-engine/) guide. +Now that you have a Kubernetes cluster up and running, you can begin experimenting with the various ways to configure Pods, group resources, and deploy services that are exposed to the public internet. To help you get started with this, move on to follow along with the [Deploy a Static Site on Linode using Kubernetes](/cloud/guides/how-to-deploy-a-static-site-on-linode-kubernetes-engine) guide. ## Tear Down Your Cluster diff --git a/docs/guides/kubernetes/deploy-lke-cluster-using-pulumi/index.md b/docs/guides/kubernetes/deploy-lke-cluster-using-pulumi/index.md index 4a214cedc6a..b78a71fed96 100644 --- a/docs/guides/kubernetes/deploy-lke-cluster-using-pulumi/index.md +++ b/docs/guides/kubernetes/deploy-lke-cluster-using-pulumi/index.md @@ -10,8 +10,8 @@ tags: ["linode platform","kubernetes","automation","managed hosting"] license: "[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)" aliases: [] external_resources: -- '[Setting Up a Private Docker Registry with Linode Kubernetes Engine and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/)' -- '[Deploying a Static Site on Linode Kubernetes Engine](/cloud/guides/how-to-deploy-a-static-site-on-linode-kubernetes-engine/)' +- '[Setting Up a Private Docker Registry with Linode Kubernetes Engine and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage)' +- '[Deploying a Static Site on Linode Kubernetes Engine](/cloud/guides/how-to-deploy-a-static-site-on-linode-kubernetes-engine)' - '[Linode Provider Pulumi Documentation](https://www.pulumi.com/registry/packages/linode/)' --- @@ -30,7 +30,7 @@ This guide walks you through the steps needed to deploy a Kubernetes cluster usi {{< /note >}} 1. Download and [install Pulumi](https://www.pulumi.com/docs/install/) on your local machine. 1. Create a free [Pulumi Cloud account](https://app.pulumi.com/signup). -1. Review the [Getting Started With Pulumi](/cloud/guides/deploy-in-code-with-pulumi/) guide to familiarize yourself with Pulumi concepts if you have not used the tool before. You need to be familiar with Pulumi and one of the [supported programming languages](https://www.pulumi.com/docs/languages-sdks/). In this guide, TypeScript is used for the code examples. +1. Review the [Getting Started With Pulumi](/cloud/guides/deploy-in-code-with-pulumi) guide to familiarize yourself with Pulumi concepts if you have not used the tool before. You need to be familiar with Pulumi and one of the [supported programming languages](https://www.pulumi.com/docs/languages-sdks/). In this guide, TypeScript is used for the code examples. 1. [Install kubectl](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api#install-kubectl) on your local machine. ## Create your Pulumi Infrastructure Code @@ -301,7 +301,7 @@ Now that your Kubernetes cluster is deployed, you can use kubectl to connect to lke126299-187151-64e4b54376b5 Ready 4m22s v1.26.3 ``` - Now that you are connected to your LKE cluster, you can begin using kubectl to deploy applications, [inspect and manage](/cloud/guides/troubleshooting-kubernetes/#kubectl-get) cluster resources, and [view logs](/cloud/guides/troubleshooting-kubernetes/#kubectl-logs). + Now that you are connected to your LKE cluster, you can begin using kubectl to deploy applications, [inspect and manage](/cloud/guides/troubleshooting-kubernetes#kubectl-get) cluster resources, and [view logs](/cloud/guides/troubleshooting-kubernetes#kubectl-logs). ## Destroy your Kubernetes Cluster (optional) diff --git a/docs/guides/kubernetes/deploy-lke-cluster-using-terraform/index.md b/docs/guides/kubernetes/deploy-lke-cluster-using-terraform/index.md index 98d8c86f637..279e98a232c 100644 --- a/docs/guides/kubernetes/deploy-lke-cluster-using-terraform/index.md +++ b/docs/guides/kubernetes/deploy-lke-cluster-using-terraform/index.md @@ -13,7 +13,7 @@ image: deploy-lke-cluster-with-terraform.png external_resources: - '[LKE Product Documentation](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine)' - '[LKE Enterprise Product Documentation](https://techdocs.akamai.com/cloud-computing/docs/lke-enterprise)' -- '[Setting Up a Private Docker Registry with Linode Kubernetes Engine and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/)' +- '[Setting Up a Private Docker Registry with Linode Kubernetes Engine and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage)' - '[Linode Provider Terraform Documentation](https://www.terraform.io/docs/providers/linode/index.html)' aliases: [] --- @@ -34,13 +34,13 @@ This guide will walk you through the steps needed to deploy a Kubernetes cluster Ensure that your token has, at minimum, Read/Write permissions for Compute Instances, Kubernetes, NodeBalancers, and Volumes. {{< /note >}} -1. Review the [A Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/) to familiarize yourself with Terraform concepts if you have not used the tool before. This guide assumes familiarity with Terraform and its native [HCL syntax](https://www.terraform.io/docs/configuration/syntax.html). +1. Review the [A Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform) to familiarize yourself with Terraform concepts if you have not used the tool before. This guide assumes familiarity with Terraform and its native [HCL syntax](https://www.terraform.io/docs/configuration/syntax.html). ## Prepare your Local Environment ### Install Terraform -Install Terraform on your computer by following the [Install Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) section of our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) guide. +Install Terraform on your computer by following the [Install Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform) section of our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform) guide. ### Install kubectl @@ -376,7 +376,7 @@ Now that your Kubernetes cluster is deployed, you can use kubectl to connect to lke4377-5673-5eb331acd6c2 Ready 17h v1.17.0 ``` - Now that you are connected to your LKE cluster, you can begin using kubectl to deploy applications, [inspect and manage](/cloud/guides/troubleshooting-kubernetes/#kubectl-get) cluster resources, and [view logs](/cloud/guides/troubleshooting-kubernetes/#kubectl-logs). + Now that you are connected to your LKE cluster, you can begin using kubectl to deploy applications, [inspect and manage](/cloud/guides/troubleshooting-kubernetes#kubectl-get) cluster resources, and [view logs](/cloud/guides/troubleshooting-kubernetes#kubectl-logs). ## Destroy your Kubernetes Cluster (optional) diff --git a/docs/guides/kubernetes/deploy-llm-for-ai-inferencing-on-apl/index.md b/docs/guides/kubernetes/deploy-llm-for-ai-inferencing-on-apl/index.md index 47e15e06472..7d6c97db6dd 100644 --- a/docs/guides/kubernetes/deploy-llm-for-ai-inferencing-on-apl/index.md +++ b/docs/guides/kubernetes/deploy-llm-for-ai-inferencing-on-apl/index.md @@ -19,9 +19,9 @@ LLMs (large language models) generate human-like text and perform language-based App Platform also integrates [Istio](https://istio.io/latest/docs/overview/what-is-istio/) and [Knative](https://knative.dev/docs/concepts/), both of which are prerequisites for using KServe. App Platform automates the provisioning process of these applications. -This guide describes the steps required to: install KServe with App Platform, deploy the Meta Llama 3.1 8B model using the Hugging Face runtime server, and deploy a chatbot interface using Open WebUI. Once functional, use our [Deploy a RAG Pipeline and Chatbot with App Platform for LKE](/cloud/guides/deploy-rag-pipeline-and-chatbot-on-apl/) guide to add and run a RAG pipeline and deploy an AI Agent that exposes an OpenAI compatible API. +This guide describes the steps required to: install KServe with App Platform, deploy the Meta Llama 3.1 8B model using the Hugging Face runtime server, and deploy a chatbot interface using Open WebUI. Once functional, use our [Deploy a RAG Pipeline and Chatbot with App Platform for LKE](/cloud/guides/deploy-rag-pipeline-and-chatbot-on-apl) guide to add and run a RAG pipeline and deploy an AI Agent that exposes an OpenAI compatible API. -If you prefer to manually install an LLM and RAG Pipeline on LKE rather than using Akamai App Platform, see our [Deploy a Chatbot and RAG Pipeline for AI Inference on LKE](/cloud/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke/) guide. +If you prefer to manually install an LLM and RAG Pipeline on LKE rather than using Akamai App Platform, see our [Deploy a Chatbot and RAG Pipeline for AI Inference on LKE](/cloud/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke) guide. ## Diagram diff --git a/docs/guides/kubernetes/deploy-nginx-ingress-on-lke/index.md b/docs/guides/kubernetes/deploy-nginx-ingress-on-lke/index.md index dc413954bb1..a7d846040aa 100644 --- a/docs/guides/kubernetes/deploy-nginx-ingress-on-lke/index.md +++ b/docs/guides/kubernetes/deploy-nginx-ingress-on-lke/index.md @@ -36,7 +36,7 @@ This guide will show you how to: ## Before You Begin -1. Review the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series to gain an understanding of key concepts within Kubernetes, including master and worker nodes, Pods, Deployments, and Services. +1. Review the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series to gain an understanding of key concepts within Kubernetes, including master and worker nodes, Pods, Deployments, and Services. 1. Purchase a domain name from a reliable domain registrar. In a later section, you will use Linode's DNS Manager to [create a new Domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) and to [add a DNS "A" record](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) for two subdomains: one named `blog` and another named `shop`. Your subdomains will point to the example Kubernetes Services you will create in this guide. The example domain names used throughout this guide are `blog.example.com` and `shop.example.com`. @@ -50,11 +50,11 @@ This guide will show you how to: - [Cloud Manager LKE instructions](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) - [Linode API LKE instructions](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api) - - [Terraform instructions](/cloud/guides/deploy-lke-cluster-using-terraform/) + - [Terraform instructions](/cloud/guides/deploy-lke-cluster-using-terraform) - You can also use an unmanaged Kubernetes cluster (that's not deployed through LKE). The instructions within this guide depend on the Linode Cloud Controller Manager (CCM), which is installed by default on LKE clusters but needs to be manually installed on unmanaged clusters. To learn how to install the Linode CCM on a cluster that was not deployed through LKE, see the [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) guide. + You can also use an unmanaged Kubernetes cluster (that's not deployed through LKE). The instructions within this guide depend on the Linode Cloud Controller Manager (CCM), which is installed by default on LKE clusters but needs to be manually installed on unmanaged clusters. To learn how to install the Linode CCM on a cluster that was not deployed through LKE, see the [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes) guide. -1. **Setup your local environment** by installing [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) and [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) on your computer (or whichever system you intend to use to manage your Kubernetes Cluster). +1. **Setup your local environment** by installing [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3#install-helm) and [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) on your computer (or whichever system you intend to use to manage your Kubernetes Cluster). 1. **Configure kubectl** to use the new Kubernetes cluster by downloading the kubeconfig YAML file and adding it to kubectl. See the instructions within the [Download Your kubeconfig](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) guide. @@ -275,7 +275,7 @@ Once your Ingress Controller is installed and DNS records have been created poin ## Next Steps -If you would like to secure your site with TLS encryption, you can follow the [Getting Started with Load Balancing on a Linode Kubernetes Engine (LKE) Cluster](/cloud/kubernetes/getting-started-with-load-balancing-on-a-lke-cluster/). +If you would like to secure your site with TLS encryption, you can follow the [Getting Started with Load Balancing on a Linode Kubernetes Engine (LKE) Cluster](/cloud/kubernetes/getting-started-with-load-balancing-on-a-lke-cluster). If you would rather not continue using the cluster you just created, review the [tear-down section](#tear-down-your-lke-cluster-and-nodebalancer) to remove the billable Linode resources that were generated. diff --git a/docs/guides/kubernetes/deploy-prometheus-operator-with-grafana-on-lke/index.md b/docs/guides/kubernetes/deploy-prometheus-operator-with-grafana-on-lke/index.md index faef82e4917..e87b95b2ae8 100644 --- a/docs/guides/kubernetes/deploy-prometheus-operator-with-grafana-on-lke/index.md +++ b/docs/guides/kubernetes/deploy-prometheus-operator-with-grafana-on-lke/index.md @@ -46,7 +46,7 @@ This guide was written using [Kubernetes version 1.17](https://v1-17.docs.kubern 1. [Deploy an LKE Cluster](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). This guide was written using an example node pool with three [2 GB Linodes](https://www.linode.com/pricing/). Depending on the workloads you will be deploying on your cluster, you may consider using Linodes with more available resources. -1. Install [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) to your local environment. +1. Install [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3#install-helm) to your local environment. 1. Install [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) to your local environment and [connect to your cluster](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl). diff --git a/docs/guides/kubernetes/deploy-rag-pipeline-and-chatbot-on-apl/index.md b/docs/guides/kubernetes/deploy-rag-pipeline-and-chatbot-on-apl/index.md index ed66e463f92..8097fe2b78b 100644 --- a/docs/guides/kubernetes/deploy-rag-pipeline-and-chatbot-on-apl/index.md +++ b/docs/guides/kubernetes/deploy-rag-pipeline-and-chatbot-on-apl/index.md @@ -17,7 +17,7 @@ This guide extends the LLM (Large Language Model) inference architecture built i Follow the steps in this tutorial to enable Kubeflow Pipelines and deploy a RAG pipeline using App Platform for LKE. The data set you use may vary depending on your use case. For example purposes, this guide uses a sample data set from Akamai Techdocs that includes documentation about all Akamai Cloud services. -If you prefer a manual installation rather than one using App Platform for LKE, see our [Deploy a Chatbot and RAG Pipeline for AI Inference on LKE](/cloud/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke/) guide. +If you prefer a manual installation rather than one using App Platform for LKE, see our [Deploy a Chatbot and RAG Pipeline for AI Inference on LKE](/cloud/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke) guide. ## Diagram @@ -560,7 +560,7 @@ The agent pipeline requires access to the PGvector database. For configure this, 1. Click on **Create Workload**. -1. Select the _open-webui_ Helm chart from the catalog. This Helm chart should have been added in the previous [Deploy an LLM for AI Inference with App Platform for LKE](/cloud/guides/deploy-llm-for-ai-inferencing-on-apl/#add-the-open-webui-helm-chart-to-the-catalog) guide. +1. Select the _open-webui_ Helm chart from the catalog. This Helm chart should have been added in the previous [Deploy an LLM for AI Inference with App Platform for LKE](/cloud/guides/deploy-llm-for-ai-inferencing-on-apl#add-the-open-webui-helm-chart-to-the-catalog) guide. 1. Click on **Values**. diff --git a/docs/guides/kubernetes/deploy-tobs-on-linode-kubernetes-engine/index.md b/docs/guides/kubernetes/deploy-tobs-on-linode-kubernetes-engine/index.md index 97c671c14d8..8164e691b74 100644 --- a/docs/guides/kubernetes/deploy-tobs-on-linode-kubernetes-engine/index.md +++ b/docs/guides/kubernetes/deploy-tobs-on-linode-kubernetes-engine/index.md @@ -42,7 +42,7 @@ This guide was written using [Kubernetes version 1.23](https://v1-17.docs.kubern 1. [Deploy an LKE Cluster](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). This guide was written using an example node pool with three [4 GB Shared CPU Compute Instances](https://www.linode.com/pricing/). Depending on the workloads you plan to deploy on your cluster, you may consider using other plans with more available resources. -1. Install [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) to your local environment. +1. Install [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3#install-helm) to your local environment. 1. Install [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) to your local environment and [connect to your cluster](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl). diff --git a/docs/guides/kubernetes/deploy-volumes-with-the-linode-block-storage-csi-driver/index.md b/docs/guides/kubernetes/deploy-volumes-with-the-linode-block-storage-csi-driver/index.md index fba842ecfe8..89fa5417ba2 100644 --- a/docs/guides/kubernetes/deploy-volumes-with-the-linode-block-storage-csi-driver/index.md +++ b/docs/guides/kubernetes/deploy-volumes-with-the-linode-block-storage-csi-driver/index.md @@ -33,11 +33,11 @@ This guide assumes you have a working Kubernetes cluster running on Linode. You - The [Linode Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). - [Linode's API v4](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api). - - [Terraform](/cloud/guides/deploy-lke-cluster-using-terraform/), the popular infrastructure as code (IaC) tool. + - [Terraform](/cloud/guides/deploy-lke-cluster-using-terraform), the popular infrastructure as code (IaC) tool. -1. Deploy an [unmanaged Kubernetes cluster using Terraform](/cloud/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/) and the [Kubernetes Terraform installer](https://registry.terraform.io/modules/linode/k8s/linode/0.1.2). +1. Deploy an [unmanaged Kubernetes cluster using Terraform](/cloud/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform) and the [Kubernetes Terraform installer](https://registry.terraform.io/modules/linode/k8s/linode/0.1.2). -1. Use kubeadm to manually deploy a Kubernetes cluster on Linode. You can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/) guide to do this. +1. Use kubeadm to manually deploy a Kubernetes cluster on Linode. You can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm) guide to do this. {{< note >}} The Block Storage CSI Driver supports Kubernetes version 1.13 or higher. To check the version of Kubernetes you are running, you can issue the following command: @@ -47,7 +47,7 @@ This guide assumes you have a working Kubernetes cluster running on Linode. You ``` {{< /note >}} - After deploying your cluster with kubeadm, to continue with this guide, you'll need to install the CSI driver using the instructions in the [Installing the Linode Block Storage CSI Driver](/cloud/guides/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes/) guide. + After deploying your cluster with kubeadm, to continue with this guide, you'll need to install the CSI driver using the instructions in the [Installing the Linode Block Storage CSI Driver](/cloud/guides/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes) guide. {{< note >}} Using either the Linode Kubernetes Engine or Terraform methods above will install both the Linode Block Storage CSI Driver and the `linode` secret token as part of their deployment methods automatically. diff --git a/docs/guides/kubernetes/deploying-rabbitmq-on-kubernetes-with-lke/index.md b/docs/guides/kubernetes/deploying-rabbitmq-on-kubernetes-with-lke/index.md index 10e9e7b1c14..98dff10453e 100644 --- a/docs/guides/kubernetes/deploying-rabbitmq-on-kubernetes-with-lke/index.md +++ b/docs/guides/kubernetes/deploying-rabbitmq-on-kubernetes-with-lke/index.md @@ -44,10 +44,10 @@ These operators extend Kubernetes management capabilities and leverage the Kuber 1. Install the Linode CLI using the instructions in the [Install and configure the CLI](https://techdocs.akamai.com/cloud-computing/docs/install-and-configure-the-cli) guide. -1. [Install `jq`](/cloud/guides/using-jq-to-process-json-on-the-command-line/#install-jq-with-package-managers), a lightweight command line JSON processor. +1. [Install `jq`](/cloud/guides/using-jq-to-process-json-on-the-command-line#install-jq-with-package-managers), a lightweight command line JSON processor. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Provision a Kubernetes Cluster diff --git a/docs/guides/kubernetes/fine-tuning-job-on-lke/index.md b/docs/guides/kubernetes/fine-tuning-job-on-lke/index.md index 3158e50336a..323b0ee40c0 100644 --- a/docs/guides/kubernetes/fine-tuning-job-on-lke/index.md +++ b/docs/guides/kubernetes/fine-tuning-job-on-lke/index.md @@ -15,7 +15,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' Pre-trained AI models are now used across many fields and applications. When working within specialized domains or knowledge bases, these models often require adjustments to improve accuracy. However, these pre-trained models have not been trained on your company's private data and likely do not contain deep levels of details on specialized subjects. -Retrieval-Augmented Generation (RAG) is one method to aid in improving responses. When using the RAG method, the pre-trained model searches an indexed database of supplemental data during each query. This process is covered in the [Deploy a Chatbot and RAG Pipeline for AI Inferencing on LKE](/cloud/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke/) guide. Since this data is not integrated directly into the model, it is easy to keep the data up-to-date or to replace the data entirely. When compared to training a model, the RAG method uses minimal resources to maintain and update the data, keeping the cost low and allowing for more frequent updates. However, since the model searches through this indexed data when queried, there is a performance impact. +Retrieval-Augmented Generation (RAG) is one method to aid in improving responses. When using the RAG method, the pre-trained model searches an indexed database of supplemental data during each query. This process is covered in the [Deploy a Chatbot and RAG Pipeline for AI Inferencing on LKE](/cloud/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke) guide. Since this data is not integrated directly into the model, it is easy to keep the data up-to-date or to replace the data entirely. When compared to training a model, the RAG method uses minimal resources to maintain and update the data, keeping the cost low and allowing for more frequent updates. However, since the model searches through this indexed data when queried, there is a performance impact. Another approach to improve the accuracy of AI models is called fine-tuning. Fine-tuning is a technique that takes a pre-trained model and trains it further using your own custom data. This incorporates the data directly into the model and provides the model with a much deeper understanding of the material when compared to the RAG method. In addition, the model can process queries more quickly as there is no need to search through a supplemental database. While fine-tuning requires less permanent infrastructure, there can be significant investment in time and infrastructure when initially training the model. diff --git a/docs/guides/kubernetes/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/index.md b/docs/guides/kubernetes/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/index.md index b75c0db3e6f..5f8a9244bfb 100644 --- a/docs/guides/kubernetes/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/index.md +++ b/docs/guides/kubernetes/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/index.md @@ -19,14 +19,14 @@ aliases: [] This guide will use an example Kubernetes Deployment and Service to demonstrate how to route external traffic to a Kubernetes application over HTTPS. This is accomplished using the [NGINX Ingress Controller](https://kubernetes.github.io/ingress-nginx/deploy/#using-helm), [cert-manager](https://cert-manager.io/docs/) and [Linode NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer). The NGINX Ingress Controller uses Linode NodeBalancers, which are Linode's load balancing service, to route a Kubernetes Service's traffic to the appropriate backend Pods over HTTP and HTTPS. The cert-manager tool creates a Transport Layer Security (TLS) certificate from the [Let’s Encrypt](https://letsencrypt.org/) certificate authority (CA) providing secure HTTPS access to a Kubernetes Service. {{< note >}} -The [*Linode Cloud Controller Manager*](https://github.com/linode/linode-cloud-controller-manager) provides a way for a Kubernetes cluster to create, configure, and delete Linode NodeBalancers. The Linode CCM is installed by default on clusters deployed with the [Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) and the [Linode Terraform K8s module](/cloud/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/). +The [*Linode Cloud Controller Manager*](https://github.com/linode/linode-cloud-controller-manager) provides a way for a Kubernetes cluster to create, configure, and delete Linode NodeBalancers. The Linode CCM is installed by default on clusters deployed with the [Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) and the [Linode Terraform K8s module](/cloud/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform). To learn about the various configurations available for Linode NodeBalancers via [Kubernetes annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/), see [Getting Started with Load Balancing on a Linode Kubernetes Engine (LKE) Cluster](https://techdocs.akamai.com/cloud-computing/docs/get-started-with-load-balancing-on-an-lke-cluster). {{< /note >}} ## Before You Begin -1. Review the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series to gain an understanding of key concepts within Kubernetes, including master and worker nodes, Pods, Deployments, and Services. +1. Review the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series to gain an understanding of key concepts within Kubernetes, including master and worker nodes, Pods, Deployments, and Services. 1. Purchase a domain name from a reliable domain registrar. In a later section, you will use Linode's DNS Manager to [create a new Domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) and to [add a DNS "A" record](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) for two subdomains: one named `blog` and another named `shop`. Your subdomains will point to the example Kubernetes Services you will create in this guide. The example domain names used throughout this guide are `blog.example.com` and `shop.example.com`. @@ -40,11 +40,11 @@ To learn about the various configurations available for Linode NodeBalancers via - [Cloud Manager LKE instructions](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) - [Linode API LKE instructions](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api) - - [Terraform instructions](/cloud/guides/deploy-lke-cluster-using-terraform/) + - [Terraform instructions](/cloud/guides/deploy-lke-cluster-using-terraform) - You can also use an unmanaged Kubernetes cluster (that's not deployed through LKE). The instructions within this guide depend on the Linode Cloud Controller Manager (CCM), which is installed by default on LKE clusters but needs to be manually installed on unmanaged clusters. To learn how to install the Linode CCM on a cluster that was not deployed through LKE, see the [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) guide. + You can also use an unmanaged Kubernetes cluster (that's not deployed through LKE). The instructions within this guide depend on the Linode Cloud Controller Manager (CCM), which is installed by default on LKE clusters but needs to be manually installed on unmanaged clusters. To learn how to install the Linode CCM on a cluster that was not deployed through LKE, see the [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes) guide. -1. **Setup your local environment** by installing [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) and [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) on your computer (or whichever system you intend to use to manage your Kubernetes Cluster). +1. **Setup your local environment** by installing [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3#install-helm) and [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) on your computer (or whichever system you intend to use to manage your Kubernetes Cluster). 1. **Configure kubectl** to use the new Kubernetes cluster by downloading the kubeconfig YAML file and adding it to kubectl. See the instructions within the [Download Your kubeconfig](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) guide. @@ -164,7 +164,7 @@ Each example manifest file creates three Pods to serve the application. In this section you will use Helm to install the NGINX Ingress Controller on your Kubernetes Cluster. Installing the NGINX Ingress Controller will create Linode NodeBalancers that your cluster can make use of to load balance traffic to your example application. {{< note >}} -If you would like a slightly deeper dive into the NGINX Ingress Controller, see our guide [Deploying NGINX Ingress on Linode Kubernetes Engine](/cloud/guides/deploy-nginx-ingress-on-lke/). +If you would like a slightly deeper dive into the NGINX Ingress Controller, see our guide [Deploying NGINX Ingress on Linode Kubernetes Engine](/cloud/guides/deploy-nginx-ingress-on-lke). {{< /note >}} 1. Add the following Helm ingress-nginx repository to your Helm repos. @@ -239,7 +239,7 @@ To enable HTTPS on your example application, you will create a Transport Layer S In this section you will install cert-manager using Helm and the required cert-manager [CustomResourceDefinitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) (CRDs). Then, you will create a [ClusterIssuer](https://cert-manager.io/docs/concepts/issuer/) resource to assist in creating a cluster's TLS certificate. {{< note >}} -If you would like a deeper dive into cert-manager, see our guide [What is Kubernetes cert-manager](/cloud/guides/what-is-kubernetes-cert-manager/). +If you would like a deeper dive into cert-manager, see our guide [What is Kubernetes cert-manager](/cloud/guides/what-is-kubernetes-cert-manager). {{< /note >}} ### Install cert-manager diff --git a/docs/guides/kubernetes/how-to-deploy-a-static-site-on-linode-kubernetes-engine/index.md b/docs/guides/kubernetes/how-to-deploy-a-static-site-on-linode-kubernetes-engine/index.md index 0d8c8e3d04d..f63356953fc 100644 --- a/docs/guides/kubernetes/how-to-deploy-a-static-site-on-linode-kubernetes-engine/index.md +++ b/docs/guides/kubernetes/how-to-deploy-a-static-site-on-linode-kubernetes-engine/index.md @@ -16,7 +16,7 @@ aliases: [] *Linode Kubernetes Engine (LKE)* allows you to easily create, scale, and manage Kubernetes clusters to meet your application's demands, reducing the often complicated cluster set-up process to just a few clicks. Linode manages your Kubernetes master node, and you select how many Compute Instances you want to add as worker nodes to your cluster. -Deploying a static site using an LKE cluster is a great example to follow when learning Kubernetes. A [container](/cloud/guides/kubernetes-reference/#container) image for a static site can be written in less than ten lines, and only one container image is needed. Therefore, it's often less complicated to deploy a static site on Kubernetes than some other applications that require multiple components. +Deploying a static site using an LKE cluster is a great example to follow when learning Kubernetes. A [container](/cloud/guides/kubernetes-reference#container) image for a static site can be written in less than ten lines, and only one container image is needed. Therefore, it's often less complicated to deploy a static site on Kubernetes than some other applications that require multiple components. {{< note type="alert" >}} Following the instructions in this guide creates billable resources on your account in the form of Compute Instances and NodeBalancers. You are billed an hourly rate for the time that these resources exist on your account. Be sure to follow the [tear-down section](#tear-down-your-lke-cluster-and-nodebalancer) at the end of this guide if you do not wish to continue using these resources. @@ -32,7 +32,7 @@ This guide shows you how to: ## Before You Begin -- You should have a working knowledge of Kubernetes' key concepts, including master and worker nodes, Pods, Deployments, and Services. For more information on Kubernetes, see our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series. +- You should have a working knowledge of Kubernetes' key concepts, including master and worker nodes, Pods, Deployments, and Services. For more information on Kubernetes, see our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series. - You also need to prepare your workstation with some prerequisite software: @@ -56,7 +56,7 @@ You should have `kubectl` installed on your local workstation. `kubectl` is the ### Install Git -To perform some of the commands in this guide you need to have Git installed on your workstation. Git is a version control system that allows you to save your codebase in various states to ease development and deployment. Follow our [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide for instructions on how to install Git. +To perform some of the commands in this guide you need to have Git installed on your workstation. Git is a version control system that allows you to save your codebase in various states to ease development and deployment. Follow our [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) guide for instructions on how to install Git. ### Install Docker @@ -70,7 +70,7 @@ You use [Docker Hub](https://hub.docker.com/) to store your Docker image. If you A *static site generator* (SSG) is a command line tool that takes text files written in a markup language like [Markdown](https://daringfireball.net/projects/markdown/), applies a stylized template to the content, and produces valid HTML, CSS, and JavaScript files. Static sites are prized for their simplicity and speed, as they do not generally have to interact with a database. -The Linode documentation website, and this guide, employ [Hugo](https://gohugo.io). Hugo is a powerful and fast SSG written in the [Go](/cloud/guides/install-go-on-ubuntu/#what-is-go) programming language, but you can choose one that best suits your needs by reading our [How to Choose a Static Site Generator guide](/cloud/guides/how-to-choose-static-site-generator/). +The Linode documentation website, and this guide, employ [Hugo](https://gohugo.io). Hugo is a powerful and fast SSG written in the [Go](/cloud/guides/install-go-on-ubuntu#what-is-go) programming language, but you can choose one that best suits your needs by reading our [How to Choose a Static Site Generator guide](/cloud/guides/how-to-choose-static-site-generator). The steps in this guide are generally the same across SSGs: install a static site generator, create some content in a text file, and then generate your site's HTML through a build process. @@ -383,7 +383,7 @@ In this section you create a Docker container for your static site, which you th ## Deploying the Container to LKE -In this section, you create a [Deployment](/cloud/guides/kubernetes-reference/#deployment) from the container you created in the previous section, and a [Service](/cloud/guides/kubernetes-reference/#services) to load balance the deployment. +In this section, you create a [Deployment](/cloud/guides/kubernetes-reference#deployment) from the container you created in the previous section, and a [Service](/cloud/guides/kubernetes-reference#services) to load balance the deployment. 1. Begin by navigating to a location outside of your static site directory. You do not need your static site directory for the remainder of this guide. @@ -391,7 +391,7 @@ In this section, you create a [Deployment](/cloud/guides/kubernetes-reference/#d cd .. ``` -1. Create a new directory to house your Kubernetes [manifests](/cloud/guides/kubernetes-reference/#kubernetes-manifests), and move into that directory: +1. Create a new directory to house your Kubernetes [manifests](/cloud/guides/kubernetes-reference#kubernetes-manifests), and move into that directory: ```command mkdir manifests && cd manifests @@ -458,7 +458,7 @@ In this section, you create a [Deployment](/cloud/guides/kubernetes-reference/#d Specifically, the Service manifest that is used in this guide triggers the creation of a [NodeBalancer](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers). {{< note title="Cloud Controller Manager (CCM)" >}} - The NodeBalancer's creation is controlled through the [Cloud Controller Manager (CCM)](/cloud/guides/kubernetes-reference/#linode-cloud-controller-manager). The CCM provides a number of settings, called `annotations`, that allow you to control the functionality of the NodeBalancer. To learn more about the CCM, read our [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) guide. + The NodeBalancer's creation is controlled through the [Cloud Controller Manager (CCM)](/cloud/guides/kubernetes-reference#linode-cloud-controller-manager). The CCM provides a number of settings, called `annotations`, that allow you to control the functionality of the NodeBalancer. To learn more about the CCM, read our [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes) guide. {{< /note >}} 1. Name the file `static-site-service.yaml`, save it to your `manifests` directory, and enter the contents of this snippet: @@ -514,7 +514,7 @@ To learn more about networking within LKE, open ports, and configuring firewall ## Next Steps -If you'd like to continue using the static site that you created in this guide, you may want to assign a domain to it. Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) and [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guides for help with setting up DNS. When setting up your DNS record, use the external IP address that you noted at the end of the previous section. +If you'd like to continue using the static site that you created in this guide, you may want to assign a domain to it. Review the [DNS Records: An Introduction](/cloud/guides/dns-overview) and [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guides for help with setting up DNS. When setting up your DNS record, use the external IP address that you noted at the end of the previous section. If you would rather not continue using the cluster you just created, review the [tear-down section](#tear-down-your-lke-cluster-and-nodebalancer) to remove any billable resources that were generated. diff --git a/docs/guides/kubernetes/how-to-deploy-istio-with-kubernetes/index.md b/docs/guides/kubernetes/how-to-deploy-istio-with-kubernetes/index.md index 1e05779b6e2..3775694469c 100644 --- a/docs/guides/kubernetes/how-to-deploy-istio-with-kubernetes/index.md +++ b/docs/guides/kubernetes/how-to-deploy-istio-with-kubernetes/index.md @@ -36,7 +36,7 @@ If you remove the resources afterward, you will only be billed for the hour(s) t ## Before You Begin -Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) and [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases/). +Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) and [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases). ## Create Your Kubernetes Cluster @@ -45,7 +45,7 @@ Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kub There are many ways to create a Kubernetes cluster. This guide will use the Linode k8s-alpha CLI. 1. To set it up the Linode k8s-alpha CLI, see the -[How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) guide and stop before the "Create a Cluster" section. +[How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli) guide and stop before the "Create a Cluster" section. 1. Now that your Linode K8s-alpha CLI is set up, You are ready to create your Kubernetes cluster. You will need **3 worker nodes** and **one master** for this guide. Create your cluster using the following command: @@ -70,7 +70,7 @@ There are many ways to create a Kubernetes cluster. This guide will use the Lino ### Install Helm -Follow the instructions in the [How to Install Apps on Kubernetes with Helm](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/) guide to install Helm on your cluster. Stop before the section on "Using Helm Charts to Install Apps". +Follow the instructions in the [How to Install Apps on Kubernetes with Helm](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3) guide to install Helm on your cluster. Stop before the section on "Using Helm Charts to Install Apps". ## Install Istio diff --git a/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/index.md b/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/index.md index f8cf85d4728..65f8e5b722d 100644 --- a/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/index.md +++ b/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/index.md @@ -52,7 +52,7 @@ These nodes will all exist as billable services on your account. You can specify Another easy way to create clusters is with [Rancher](https://rancher.com). Rancher is a web application that provides a GUI interface for cluster creation and for management of clusters. Rancher also provides easy interfaces for deploying and scaling apps on your clusters, and it has a built-in catalog of curated apps to choose from. -To get started with Rancher, review our [How to Deploy Kubernetes on Linode with Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) guide. Rancher is capable of importing clusters that were created outside of it, so you can still use it even if you create your clusters through the k8s-alpha CLI or some other means. +To get started with Rancher, review our [How to Deploy Kubernetes on Linode with Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x) guide. Rancher is capable of importing clusters that were created outside of it, so you can still use it even if you create your clusters through the k8s-alpha CLI or some other means. #### Linode Kubernetes Engine (LKE) @@ -64,25 +64,25 @@ When you deploy an LKE cluster, you receive a Kubernetes Master at no additional If you haven't used Kubernetes before, we recommend reading through our introductory guides on the subject: -- [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/): this guide explains the concepts and architecture of Kubernetes. +- [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes): this guide explains the concepts and architecture of Kubernetes. -- [Getting Started with Kubernetes - Basic Installation and Setup](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/): this guide shows how to create a Kubernetes cluster manually. While you wouldn't normally set your clusters up in this way, doing it once can help provide a better understanding for how a cluster's components fit together. +- [Getting Started with Kubernetes - Basic Installation and Setup](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm): this guide shows how to create a Kubernetes cluster manually. While you wouldn't normally set your clusters up in this way, doing it once can help provide a better understanding for how a cluster's components fit together. ## Before You Begin 1. You will need to have a personal access token for Linode's API. If you don't have one already, follow the [Get an Access Token](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) section of our API guide and create a token with read/write permissions. -1. If you do not already have a public-private SSH key pair, you will need to generate one. Follow the [Generate a Key Pair](/cloud/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of our [Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) guide for instructions. +1. If you do not already have a public-private SSH key pair, you will need to generate one. Follow the [Generate a Key Pair](/cloud/guides/use-public-key-authentication-with-ssh#generate-an-ssh-key-pair) section of our [Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh) guide for instructions. {{< note >}} - If you're unfamiliar with the concept of public-private key pairs, the introduction to our [Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) guide explains what they are. + If you're unfamiliar with the concept of public-private key pairs, the introduction to our [Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh) guide explains what they are. {{< /note >}} ## Install the k8s-alpha CLI The k8s-alpha CLI is bundled with the Linode CLI, and using it requires the installation and configuration of a few dependencies: -- [Terraform](#install-terraform): The k8s-alpha CLI creates clusters by defining a resource *plan* in Terraform and then having Terraform create those resources. If you're interested in how Terraform works, you can review our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/), but doing so is not required to use the k8s-alpha CLI. +- [Terraform](#install-terraform): The k8s-alpha CLI creates clusters by defining a resource *plan* in Terraform and then having Terraform create those resources. If you're interested in how Terraform works, you can review our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform), but doing so is not required to use the k8s-alpha CLI. {{< note >}} The k8s-alpha CLI requires [Terraform version 0.12.0+](https://www.hashicorp.com/blog/announcing-terraform-0-12). @@ -102,7 +102,7 @@ pip install --upgrade linode-cli ### Install Terraform -Follow the instructions in the [Install Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) section of our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) guide. +Follow the instructions in the [Install Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform) section of our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode) guide. ### Install kubectl @@ -304,5 +304,5 @@ kubectl config unset users.example-cluster-kat7BqBBgU8 Now that you have a cluster up and running, you're ready to start deploying apps to it. Review our other Kubernetes guides for help with deploying software and managing your cluster: -- [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/) -- [Linode Container Storage Interface](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/) \ No newline at end of file +- [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3) +- [Linode Container Storage Interface](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver) \ No newline at end of file diff --git a/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/index.md b/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/index.md index eccf0af6d94..b4d5f8481d5 100644 --- a/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/index.md +++ b/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/index.md @@ -64,7 +64,7 @@ The Rancher web application will run on a Linode in your Cloud Manager account. {{< /note >}} 1. The Rancher web application is run inside a Docker container, so you will also need to install Docker CE on your Linode. Follow the instructions for [Installing and Using Docker on Ubuntu and Debian -](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) and then return to this guide. +](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian) and then return to this guide. You will also need to generate an API token and prepare a domain zone: @@ -127,7 +127,7 @@ Rancher includes two kinds of integrations with hosting providers: ## Deploy an LKE Cluster on Rancher -The [Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) is a fully-managed orchestration Engine that can simplify the management of Kubernetes on Linode, capable of being supported by the Rancher platform. If an unmanaged option for Kubernetes is preferred, skip to the Deploying an [Unmanaged Kubernetes Cluster](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/#the-linode-node-driver-for-rancher) section. +The [Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) is a fully-managed orchestration Engine that can simplify the management of Kubernetes on Linode, capable of being supported by the Rancher platform. If an unmanaged option for Kubernetes is preferred, skip to the Deploying an [Unmanaged Kubernetes Cluster](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x#the-linode-node-driver-for-rancher) section. ### The LKE Cluster Driver for Rancher diff --git a/docs/guides/kubernetes/how-to-deploy-linkerd-with-linode-kubernetes-engine/index.md b/docs/guides/kubernetes/how-to-deploy-linkerd-with-linode-kubernetes-engine/index.md index 49c824f2315..fcbe9c0325e 100644 --- a/docs/guides/kubernetes/how-to-deploy-linkerd-with-linode-kubernetes-engine/index.md +++ b/docs/guides/kubernetes/how-to-deploy-linkerd-with-linode-kubernetes-engine/index.md @@ -20,7 +20,7 @@ aliases: [] [Linkerd 2](https://linkerd.io) is an ultra lightweight service mesh that monitors, reports, and encrypts connections between Kubernetes services without disturbing the existing applications. It does this by employing proxy sidecars along each instance. -Unlike [Istio](/cloud/guides/how-to-deploy-istio-with-kubernetes/), another service mesh monitoring tool, it provides it's own proxies written in Rust instead of using Envoy. This makes it both lighter and more secure. +Unlike [Istio](/cloud/guides/how-to-deploy-istio-with-kubernetes), another service mesh monitoring tool, it provides it's own proxies written in Rust instead of using Envoy. This makes it both lighter and more secure. {{< note >}} Linkerd 1.x is still available and is being actively developed as a separate project. However, it is built on the "Twitter stack" and is not for Kubernetes. Linkerd 2 is built in Rust and Go and only supports Kubernetes. @@ -44,7 +44,7 @@ If you remove the resources afterward, you will only be billed for the hour(s) t ## Before You Begin -Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) and [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases/). +Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) and [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases). ## Create an LKE Cluster @@ -255,7 +255,7 @@ Linkerd comes with two dashboards, a Linkerd dashboard and the [Grafana](https:/ - This command sets up a port forward from the `linkerd-web` Pod. - - If you want to expose the dashboard for others to use as well, you need to add an [ingress controller](/cloud/guides/deploy-nginx-ingress-on-lke/). + - If you want to expose the dashboard for others to use as well, you need to add an [ingress controller](/cloud/guides/deploy-nginx-ingress-on-lke). 1. The dashboard opens in the browser. If it does not, you can access it by going to http://localhost:50750: @@ -281,7 +281,7 @@ Linkerd comes with two dashboards, a Linkerd dashboard and the [Grafana](https:/ To demonstrate the full ease of use and utility of Linkerd, deploy Drupal on the cluster and monitor it using Linkerd. -1. Follow the [How to Install Drupal with Linode Kubernetes Engine](/cloud/guides/how-to-install-drupal-with-linode-kubernetes-engine/) guide to install Drupal onto your LKE cluster. +1. Follow the [How to Install Drupal with Linode Kubernetes Engine](/cloud/guides/how-to-install-drupal-with-linode-kubernetes-engine) guide to install Drupal onto your LKE cluster. ### Add Linkerd to Drupal diff --git a/docs/guides/kubernetes/how-to-deploy-nginx-on-a-kubernetes-cluster/index.md b/docs/guides/kubernetes/how-to-deploy-nginx-on-a-kubernetes-cluster/index.md index ecf913d850e..ef1ad3b1265 100644 --- a/docs/guides/kubernetes/how-to-deploy-nginx-on-a-kubernetes-cluster/index.md +++ b/docs/guides/kubernetes/how-to-deploy-nginx-on-a-kubernetes-cluster/index.md @@ -54,7 +54,7 @@ The steps in this guide create a two-node cluster. Evaluate your own resource re 1. For each node, go into the **Networking** tab of the Linode Cloud Manager and add a [private IP](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address). It is possible to build a Kubernetes cluster using public IPs between data centers, but performance and security may suffer. -1. Configure a firewall with [UFW](/cloud/guides/configure-firewall-with-ufw/) or [iptables](/cloud/guides/control-network-traffic-with-iptables/) to ensure only the two nodes can communicate with each other. +1. Configure a firewall with [UFW](/cloud/guides/configure-firewall-with-ufw) or [iptables](/cloud/guides/control-network-traffic-with-iptables) to ensure only the two nodes can communicate with each other. When configuring your firewall, a good place to start is to create rules for the ports Kubernetes requires to function. This includes any inbound traffic on Master nodes and their required ports. If you have changed any custom ports, you should ensure those ports are also open. Master Nodes will have a public IP address or `192.168.0.0/16`. See the chart below for more details. @@ -465,7 +465,7 @@ chmod 700 get_helm.sh ./get_helm.sh ``` -For more details on Helm and installing Helm, see [How to Install Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/). +For more details on Helm and installing Helm, see [How to Install Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3). ### Installing Ingress Controller diff --git a/docs/guides/kubernetes/how-to-deploy-the-elastic-stack-on-kubernetes/index.md b/docs/guides/kubernetes/how-to-deploy-the-elastic-stack-on-kubernetes/index.md index ce665dcd991..e004f346552 100644 --- a/docs/guides/kubernetes/how-to-deploy-the-elastic-stack-on-kubernetes/index.md +++ b/docs/guides/kubernetes/how-to-deploy-the-elastic-stack-on-kubernetes/index.md @@ -63,7 +63,7 @@ This guide uses Kubernetes services which are private by default. Local listener kubectl config get-contexts ``` -1. Set up Helm in the Kubernetes cluster by following the [Install Helm](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) section in the *How to Install Apps on Kubernetes with Helm 3* guide. +1. Set up Helm in the Kubernetes cluster by following the [Install Helm](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3#install-helm) section in the *How to Install Apps on Kubernetes with Helm 3* guide. ## Configure Helm diff --git a/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-3/index.md b/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-3/index.md index 4412c3f5342..77ad68e3e70 100644 --- a/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-3/index.md +++ b/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-3/index.md @@ -120,7 +120,7 @@ The Helm client software issues commands to your cluster. You run the client sof kubectl config use-context your-cluster-name ``` -1. It is beneficial to have a registered [domain name](/cloud/guides/dns-overview/) for this guide's example app, but it is not required. +1. It is beneficial to have a registered [domain name](/cloud/guides/dns-overview) for this guide's example app, but it is not required. ## Install Helm diff --git a/docs/guides/kubernetes/how-to-install-drupal-with-linode-kubernetes-engine/index.md b/docs/guides/kubernetes/how-to-install-drupal-with-linode-kubernetes-engine/index.md index e8cfd66b2a8..ef651dbbf0d 100644 --- a/docs/guides/kubernetes/how-to-install-drupal-with-linode-kubernetes-engine/index.md +++ b/docs/guides/kubernetes/how-to-install-drupal-with-linode-kubernetes-engine/index.md @@ -31,7 +31,7 @@ If you remove the resources afterward, you will only be billed for the hour(s) t ## Before You Begin -Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) and [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases/). +Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) and [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases). ## Create an LKE Cluster diff --git a/docs/guides/kubernetes/how-to-install-hashicorp-consul-service-mesh/index.md b/docs/guides/kubernetes/how-to-install-hashicorp-consul-service-mesh/index.md index 30e560a0f9b..e613d95b1d7 100644 --- a/docs/guides/kubernetes/how-to-install-hashicorp-consul-service-mesh/index.md +++ b/docs/guides/kubernetes/how-to-install-hashicorp-consul-service-mesh/index.md @@ -14,7 +14,7 @@ external_resources: - '[Helm Chart Configuration](https://www.consul.io/docs/k8s/helm)' --- -[Consul](https://www.consul.io/) is a service mesh offered by HashiCorp, with robust service discovery and diagnostic features for managing your application's services. You can learn more about service meshes in our guide [What Is a Service Mesh?](/cloud/guides/what-is-a-service-mesh/). Consul offers a balanced approach between flexibility and usability that makes it a compelling option for managing your service-oriented applications. +[Consul](https://www.consul.io/) is a service mesh offered by HashiCorp, with robust service discovery and diagnostic features for managing your application's services. You can learn more about service meshes in our guide [What Is a Service Mesh?](/cloud/guides/what-is-a-service-mesh). Consul offers a balanced approach between flexibility and usability that makes it a compelling option for managing your service-oriented applications. In this guide, you can see how to install and get started using the Consul service mesh with a Kubernetes cluster. You can get started with Kubernetes with our [Linode Kubernetes Engine](https://www.linode.com/products/kubernetes/) (LKE). diff --git a/docs/guides/kubernetes/how-to-install-rooknfs-on-lke/index.md b/docs/guides/kubernetes/how-to-install-rooknfs-on-lke/index.md index 50a4dc34364..54b46eb9ec8 100644 --- a/docs/guides/kubernetes/how-to-install-rooknfs-on-lke/index.md +++ b/docs/guides/kubernetes/how-to-install-rooknfs-on-lke/index.md @@ -18,7 +18,7 @@ Rook NFS allows remote hosts to mount filesystems over a network and interact wi ## Before you Begin - This guide assumes that you already have an LKE cluster up and running. If that is not the case, please follow the instructions in our [LKE Tutorial](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). -- This guide relies on git wherever `kubectl` is installed. While git is installed on many Linux distributions, others may require manual installation. Git can be installed on most distributions by following our [Git Installation Guide](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) +- This guide relies on git wherever `kubectl` is installed. While git is installed on many Linux distributions, others may require manual installation. Git can be installed on most distributions by following our [Git Installation Guide](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) ## Installing Rook NFS on LKE diff --git a/docs/guides/kubernetes/how-to-migrate-from-k8s-alpha-to-terraform/index.md b/docs/guides/kubernetes/how-to-migrate-from-k8s-alpha-to-terraform/index.md index d62e3942c44..384b0ba8d75 100644 --- a/docs/guides/kubernetes/how-to-migrate-from-k8s-alpha-to-terraform/index.md +++ b/docs/guides/kubernetes/how-to-migrate-from-k8s-alpha-to-terraform/index.md @@ -13,15 +13,15 @@ image: L_Migratefromk8s-alphaCLItoTerraform.png concentrations: ["Kubernetes"] external_resources: - '[Kubernetes Concepts Documentation](https://kubernetes.io/docs/concepts/)' -- '[Beginners Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/)' -- '[Using Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/)' +- '[Beginners Guide to Terraform](/cloud/guides/beginners-guide-to-terraform)' +- '[Using Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode)' aliases: [] build: list: false deprecated: true --- -The [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) is deprecated. On **March 31st, 2020**, it will be **removed** from the [linode-cli](https://github.com/linode/linode-cli). After March 31, 2020, you will no longer be able to create or manage clusters created by the k8s-alpha CLI plugin, however, you will still be able to successfully manage your clusters using the [Kubernetes Terraform installer for Linode Instances](https://github.com/linode/terraform-linode-k8s). +The [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli) is deprecated. On **March 31st, 2020**, it will be **removed** from the [linode-cli](https://github.com/linode/linode-cli). After March 31, 2020, you will no longer be able to create or manage clusters created by the k8s-alpha CLI plugin, however, you will still be able to successfully manage your clusters using the [Kubernetes Terraform installer for Linode Instances](https://github.com/linode/terraform-linode-k8s). ## In This Guide You will use the Kubernetes Terraform installer for Linode Instances to continue to manage and support clusters created using the k8s-alpha CLI plugin following the EOL date and beyond. You will learn how to: @@ -54,7 +54,7 @@ drwxr-xr-x 3 username staff 96 Dec 11 08:10 terraform.tfstate.d - `cluster.tf` is the Terraform module file. This is the most important file here because it will allow you to scale, upgrade, and delete your cluster. {{< note >}} -For more information regarding these files and directories and their contents, see our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/) +For more information regarding these files and directories and their contents, see our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform) {{< /note >}} ### Scale a Cluster diff --git a/docs/guides/kubernetes/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/index.md b/docs/guides/kubernetes/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/index.md index 97f1d0e0dd5..8cf85219077 100644 --- a/docs/guides/kubernetes/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/index.md +++ b/docs/guides/kubernetes/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/index.md @@ -25,7 +25,7 @@ This guide was written using [Kubernetes version 1.17](https://v1-17.docs.kubern 1. [Deploy a LKE Cluster](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). This example was written using a node pool with two [2 GB nodes](https://www.linode.com/pricing/). Depending on the workloads you will be deploying on your cluster, you may consider using nodes with higher resources. -1. Install [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm), [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl), and [Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) to your local environment. +1. Install [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3#install-helm), [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl), and [Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian) to your local environment. {{< note >}} For Docker installation instructions on other operating systems, see [Docker's official documentation](https://docs.docker.com/get-docker/). @@ -399,7 +399,7 @@ If you have not yet [generated an Object Storage key pair](https://techdocs.akam You are now ready to push and pull images to your Docker registry. In this section you will pull an existing image from Docker Hub and then push it to your registry. Then, in the next section, you will use your registry's image to deploy an example static site. -1. Use Docker to pull an image from [Docker Hub](https://hub.docker.com/). This example is using an image that was created following our [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/cloud/guides/deploy-container-image-to-kubernetes/) guide. The image will build a Hugo static site with some boiler plate content. However, you can use any image from Docker Hub that you prefer. +1. Use Docker to pull an image from [Docker Hub](https://hub.docker.com/). This example is using an image that was created following our [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/cloud/guides/deploy-container-image-to-kubernetes) guide. The image will build a Hugo static site with some boiler plate content. However, you can use any image from Docker Hub that you prefer. ```command sudo docker pull leslitagordita/hugo-site:v10 diff --git a/docs/guides/kubernetes/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes/index.md b/docs/guides/kubernetes/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes/index.md index d76e2c44f0f..594ed50c96c 100644 --- a/docs/guides/kubernetes/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes/index.md +++ b/docs/guides/kubernetes/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes/index.md @@ -28,9 +28,9 @@ The [Container Storage Interface](https://github.com/container-storage-interface This guide assumes you have a working Kubernetes cluster running on Linode. If you have already created a Kubernetes cluster managed with [LKE](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine), then the Block Storage CSI driver and the `linode` secret token will already be pre-installed on your cluster. See the [Deploying Persistent Volume Claims with the Linode Block Storage CSI Driver](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver) guide for the next steps for working with Persistent Volume Claims. -If you are not using LKE or the [Kubernetes Terraform installer](https://registry.terraform.io/modules/linode/k8s/linode/0.1.2), the Kubernetes cluster will require the Block Storage CSI driver to be installed on the cluster in order to use Linode's Block Storage. If you need to set up an unmanaged Kubernetes cluster, you can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/) guide to do this. +If you are not using LKE or the [Kubernetes Terraform installer](https://registry.terraform.io/modules/linode/k8s/linode/0.1.2), the Kubernetes cluster will require the Block Storage CSI driver to be installed on the cluster in order to use Linode's Block Storage. If you need to set up an unmanaged Kubernetes cluster, you can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm) guide to do this. -The Linode Block Storage CSI driver **absolutely requires** that the Linode Cloud Controller Manager (CCM) is pre-installed and running on your cluster in order for the CSI to be installed. Follow the steps in our [CCM installation guide](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) before proceeding. +The Linode Block Storage CSI driver **absolutely requires** that the Linode Cloud Controller Manager (CCM) is pre-installed and running on your cluster in order for the CSI to be installed. Follow the steps in our [CCM installation guide](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes) before proceeding. {{< note >}} The Block Storage CSI supports Kubernetes version 1.13 or higher. To check the version of Kubernetes you are running, you can issue the following command: diff --git a/docs/guides/kubernetes/install-the-linode-ccm-on-unmanaged-kubernetes/index.md b/docs/guides/kubernetes/install-the-linode-ccm-on-unmanaged-kubernetes/index.md index 07f11fcb4a2..1aa41c4d77a 100644 --- a/docs/guides/kubernetes/install-the-linode-ccm-on-unmanaged-kubernetes/index.md +++ b/docs/guides/kubernetes/install-the-linode-ccm-on-unmanaged-kubernetes/index.md @@ -44,13 +44,13 @@ Instructions are shown for manually installing the Linode CCM on your unmanaged ### Before You Begin -1. Deploy a new **unmanaged** Kubernetes cluster. You can deploy an unmanaged Kubernetes cluster on Linode by following the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/) +1. Deploy a new **unmanaged** Kubernetes cluster. You can deploy an unmanaged Kubernetes cluster on Linode by following the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm) {{< note >}} It is recommended that you install the Linode CCM on a new Kubernetes cluster, as there are a number of issues that prevent the CCM from running on Nodes that are in the "Ready" state. {{< /note >}} -1. Ensure you have [kubectl installed](/cloud/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/#install-kubectl) on your local computer and you can access your Kubernetes cluster with it. +1. Ensure you have [kubectl installed](/cloud/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform#install-kubectl) on your local computer and you can access your Kubernetes cluster with it. 1. Generate a [Linode APIv4 token](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token). This is required for both methods of installing the Linode CCM in this guide. @@ -92,7 +92,7 @@ For advanced configuration, one can specify their own [values.yaml](https://gith The Linode CCM's GitHub repository provides a helper script that creates a Kubernetes manifest file that you can use to install the CCM on your cluster. These steps should be run on your local computer and were tested on a macOS workstation. -1. [Install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) on your local computer. +1. [Install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) on your local computer. 1. Clone the [Linode CCM's GitHub repository](https://github.com/linode/linode-cloud-controller-manager). diff --git a/docs/guides/kubernetes/kubernetes-cron-job/index.md b/docs/guides/kubernetes/kubernetes-cron-job/index.md index 4aae114245c..7647e387941 100644 --- a/docs/guides/kubernetes/kubernetes-cron-job/index.md +++ b/docs/guides/kubernetes/kubernetes-cron-job/index.md @@ -14,7 +14,7 @@ external_resources: - '[CronJobs](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/)' --- -Linode Kubernetes Engine (LKE) is an open source container orchestration system that helps deploy and manage containerized applications. If you are not familiar with Kubernetes, read our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/). Kubernetes (K8s) includes the capability to schedule jobs to run at a particular time with [CronJobs](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/). CronJobs use the same scheduling syntax as **cron** and **crontab**, which are standard Linux utilities. If you are not familiar with cron, you can refer to our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide. +Linode Kubernetes Engine (LKE) is an open source container orchestration system that helps deploy and manage containerized applications. If you are not familiar with Kubernetes, read our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction). Kubernetes (K8s) includes the capability to schedule jobs to run at a particular time with [CronJobs](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/). CronJobs use the same scheduling syntax as **cron** and **crontab**, which are standard Linux utilities. If you are not familiar with cron, you can refer to our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron) guide. In this guide, you learn the syntax for creating Kubernetes CronJobs. You also learn how to generate automatic daily backups for a Drupal website using Kubernetes CronJobs. @@ -24,7 +24,7 @@ In this guide, you learn the syntax for creating Kubernetes CronJobs. You also l 1. After deploying your Kubernetes cluster, make sure your local environment has [kubectl installed](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl), and you can access your cluster using `kubectl`. -1. This guide uses a Drupal website deployed with LKE to demonstrate how to back up a MySQL database. To follow along, ensure you use the [How to Install Drupal with Linode Kubernetes Engine](/cloud/guides/how-to-install-drupal-with-linode-kubernetes-engine/) guide to deploy your own Drupal site. +1. This guide uses a Drupal website deployed with LKE to demonstrate how to back up a MySQL database. To follow along, ensure you use the [How to Install Drupal with Linode Kubernetes Engine](/cloud/guides/how-to-install-drupal-with-linode-kubernetes-engine) guide to deploy your own Drupal site. ## An Overview of a Kubernetes CronJob @@ -56,7 +56,7 @@ spec: The manifest file above uses the example provided in the [Kubernetes official documentation](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#example). {{< /note >}} -A Kubernetes CronJob must contain the `apiVersion`, `kind`, and `metadata` fields. It must also contain the `spec.schedule` field which defines the time interval for the CronJob. The time interval syntax for a Kubernetes is the same as Linux system Cron jobs. You can refer to the [How to Use Cron and crontab - The Basics](/cloud/guides/schedule-tasks-with-cron/#how-to-use-cron-and-crontab---the-basics) section of our Cron guide for time interval syntax details. Finally, the `jobTemplate` field is required. This field defines the requirements for the Pod that executes your CronJob. It also defines the commands to execute from the Pod. To learn more about defining `jobTemplates`, see the [Kubernetes Jobs](https://kubernetes.io/docs/concepts/workloads/controllers/job/) documentation. +A Kubernetes CronJob must contain the `apiVersion`, `kind`, and `metadata` fields. It must also contain the `spec.schedule` field which defines the time interval for the CronJob. The time interval syntax for a Kubernetes is the same as Linux system Cron jobs. You can refer to the [How to Use Cron and crontab - The Basics](/cloud/guides/schedule-tasks-with-cron#how-to-use-cron-and-crontab---the-basics) section of our Cron guide for time interval syntax details. Finally, the `jobTemplate` field is required. This field defines the requirements for the Pod that executes your CronJob. It also defines the commands to execute from the Pod. To learn more about defining `jobTemplates`, see the [Kubernetes Jobs](https://kubernetes.io/docs/concepts/workloads/controllers/job/) documentation. To launch a CronJob, execute the command below. Ensure your replace `cronjob.yaml` with the name of your CronJob's manifest file. @@ -103,7 +103,7 @@ kubectl exec -it mysql-56f9846bb7-tlbv6 -- /bin/bash Viewing your MySQL Pod's terminal prompt, run the `mysqldump` command to generate a backup copy of your database. Enter your database's password when prompted. You can verify the `dump.sql` backup file created using the `ls` command. {{< note >}} -If you deployed your Kubernetes cluster following the [How to Install Drupal with Linode Kubernetes Engine](/cloud/guides/how-to-install-drupal-with-linode-kubernetes-engine/), your password should be the same one used in your `kustomization.yaml` file. +If you deployed your Kubernetes cluster following the [How to Install Drupal with Linode Kubernetes Engine](/cloud/guides/how-to-install-drupal-with-linode-kubernetes-engine), your password should be the same one used in your `kustomization.yaml` file. {{< /note >}} ### Create your CronJob diff --git a/docs/guides/kubernetes/kubernetes-security-best-practices/index.md b/docs/guides/kubernetes/kubernetes-security-best-practices/index.md index 3a743e51c84..a9c28b6331c 100644 --- a/docs/guides/kubernetes/kubernetes-security-best-practices/index.md +++ b/docs/guides/kubernetes/kubernetes-security-best-practices/index.md @@ -11,10 +11,10 @@ tags: ['kubernetes', 'container'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -If you are [deploying your first Kubernetes cluster](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/), it's important to consider the security best practices that are available to keep your workload safe. Kubernetes provides several out-of-the-box features to help secure your cluster. This guide provides an overview of three Kubernetes features to you can use to secure different components of a cluster. The three areas covered are Role-Based Access Control (RBAC), Secrets, and Network Policies. +If you are [deploying your first Kubernetes cluster](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm), it's important to consider the security best practices that are available to keep your workload safe. Kubernetes provides several out-of-the-box features to help secure your cluster. This guide provides an overview of three Kubernetes features to you can use to secure different components of a cluster. The three areas covered are Role-Based Access Control (RBAC), Secrets, and Network Policies. {{< note >}} -This guide assumes some familiarity with Kubernetes terminology and concepts. If you are newer to Kubernetes, refer to our [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/). +This guide assumes some familiarity with Kubernetes terminology and concepts. If you are newer to Kubernetes, refer to our [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction). {{< /note >}} ## Use Security Policies and Role-Based Access Control diff --git a/docs/guides/kubernetes/kubernetes-use-cases/index.md b/docs/guides/kubernetes/kubernetes-use-cases/index.md index bb462c451b2..96dd0688bc9 100644 --- a/docs/guides/kubernetes/kubernetes-use-cases/index.md +++ b/docs/guides/kubernetes/kubernetes-use-cases/index.md @@ -17,7 +17,7 @@ Kubernetes is a container orchestration system that was initially designed by Go In general, Kubernetes is formed by a *cluster* of servers, called Nodes, each running Kubernetes agent processes and communicating with one another. The *Master Node* is made up of a collection of processes called the *control plane* that help enact and maintain the desired state of the Kubernetes cluster, while *Worker Nodes* are responsible for running the containers that form your applications and services. -For a more in-depth explanation of Kubernetes concepts, see our five-part [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/). +For a more in-depth explanation of Kubernetes concepts, see our five-part [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes). ### What is Managed Kubernetes @@ -83,7 +83,7 @@ There are many reasons that developers would choose to use Kubernetes as a solut ### Declarative in Nature -Kubernetes is declarative: describe to Kubernetes the desired state of the cluster and Kubernetes will ensure that this state is always fulfilled. If you want five containers running at any given time, all you need to do is create a [Deployment](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/#deployments) and set the number of replicas to five. And, each set of instructions is rendered in human-readable YAML, which results in further benefits: +Kubernetes is declarative: describe to Kubernetes the desired state of the cluster and Kubernetes will ensure that this state is always fulfilled. If you want five containers running at any given time, all you need to do is create a [Deployment](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers#deployments) and set the number of replicas to five. And, each set of instructions is rendered in human-readable YAML, which results in further benefits: - **Version control of your infrastructure.** Because the resources in your cluster are declared in code, you can track changes to that code over time in version control systems like Git. @@ -109,9 +109,9 @@ Kubernetes determines which Worker Nodes a container should run on based on avai ### Zero Downtime with Rolling Deployments -[Pods](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#pods) are the smallest unit of computing in Kubernetes, responsible for running your application's containers. Like many features of Kubernetes, pods have the additional capability of increasing your applications overall uptime when compared to other solutions. For example, consider the process that takes place when the code for your application and its container images has been updated by your team. To update your application running in your cluster, you'll need a way to update its Pods with the new container images. +[Pods](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects#pods) are the smallest unit of computing in Kubernetes, responsible for running your application's containers. Like many features of Kubernetes, pods have the additional capability of increasing your applications overall uptime when compared to other solutions. For example, consider the process that takes place when the code for your application and its container images has been updated by your team. To update your application running in your cluster, you'll need a way to update its Pods with the new container images. -Kubernetes offers a solution with [Deployments](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/#deployments), which will create additional Pods with the newer image and assure that they are running and healthy before destroying the old Pods. Kubernetes will also roll back any changes should the newer containers fail. In this way there is limited downtime, ensuring a strong user experience. +Kubernetes offers a solution with [Deployments](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers#deployments), which will create additional Pods with the newer image and assure that they are running and healthy before destroying the old Pods. Kubernetes will also roll back any changes should the newer containers fail. In this way there is limited downtime, ensuring a strong user experience. ### Self-Healing @@ -121,11 +121,11 @@ For many reasons, containers can fail. Kubernetes keeps deployments healthy by r It's important that all services have a predictable way of communicating with one another. However, within Kubernetes, containers are created and destroyed many times over, so a particular service may not exist permanently at a particular location. This traditionally meant that some kind of service registry would need to be created or adapted to the application logic to keep track of each container's location. -Kubernetes has a native [Service](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#services) concept which groups your Pods and simplifies service discovery. Kubernetes will provide IP addresses for each Pod, assign a DNS name for each set of Pods, and then load-balance the traffic to the Pods in a set. This creates an environment where the service discovery can be abstracted away from the container level. +Kubernetes has a native [Service](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects#services) concept which groups your Pods and simplifies service discovery. Kubernetes will provide IP addresses for each Pod, assign a DNS name for each set of Pods, and then load-balance the traffic to the Pods in a set. This creates an environment where the service discovery can be abstracted away from the container level. ### Multi-Container Pods -Kubernetes [Pods](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#pods) often run a single container, but they are capable of running multiple containers as well. This makes adding a loosely coupled, reusable "sidecar" container to a Pod easy. These sidecar containers serve to enhance the primary container running in a Pod; frequent use-cases including adding [logging](https://kubernetes.io/docs/concepts/cluster-administration/logging/) or a [service mesh](https://en.wikipedia.org/wiki/Service_mesh). These coupled containers will share an IP address with the primary container. +Kubernetes [Pods](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects#pods) often run a single container, but they are capable of running multiple containers as well. This makes adding a loosely coupled, reusable "sidecar" container to a Pod easy. These sidecar containers serve to enhance the primary container running in a Pod; frequent use-cases including adding [logging](https://kubernetes.io/docs/concepts/cluster-administration/logging/) or a [service mesh](https://en.wikipedia.org/wiki/Service_mesh). These coupled containers will share an IP address with the primary container. ### Network Policy as Part of Application Deployment @@ -135,11 +135,11 @@ By default, all Pods in Kubernetes can communicate with each other. A cluster ad While Kubernetes provides a storage solution, called a [Volume](https://kubernetes.io/docs/concepts/storage/), that allows data to outlive the lifecycle of a container, the data is still tied to the longevity of the Pod. However, Kubernetes also provides a mechanisms for [storing persistent data in cloud storage](https://kubernetes.io/docs/concepts/storage/persistent-volumes/). In particular, the [Container Storage Interface (CSI)](https://kubernetes.io/docs/concepts/storage/volumes/#csi) specification standard allows Kubernetes to create storage volumes on any cloud platform which supports the CSI. -For example, the [Linode Container Storage Interface (CSI)](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/), makes it easy for you to create and attach Linode Block Storage Volumes to your Pods. Even if a Pod that's attached to the Block Storage Volume is destroyed, the data will persist. +For example, the [Linode Container Storage Interface (CSI)](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver), makes it easy for you to create and attach Linode Block Storage Volumes to your Pods. Even if a Pod that's attached to the Block Storage Volume is destroyed, the data will persist. ### Cron Jobs -Kubernetes provides a [Jobs](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/#jobs) object for completing single tasks, like running a one-off script. For regular scheduled tasks, Kubernetes also provides [CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) objects that can complete a task at a certain time, just like the [jobs you might find in a `crontab` file](/cloud/guides/schedule-tasks-with-cron/). This is particularly useful because it provides a declarative way to schedule cron jobs from within a cluster. +Kubernetes provides a [Jobs](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers#jobs) object for completing single tasks, like running a one-off script. For regular scheduled tasks, Kubernetes also provides [CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) objects that can complete a task at a certain time, just like the [jobs you might find in a `crontab` file](/cloud/guides/schedule-tasks-with-cron). This is particularly useful because it provides a declarative way to schedule cron jobs from within a cluster. ### Secrets Management @@ -165,7 +165,7 @@ With Kubernetes it's easy to create physical or virtual clusters that exactly mi - You could create a separate testing cluster and use [`kubectl` contexts](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) to switch between testing and production. -- Virtual clusters are called [Namespaces](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#namespaces). You can create Namespaces for testing, staging, and production, and run them all on the same hardware. With [ResourceQuotas](https://kubernetes.io/docs/concepts/policy/resource-quotas/) you can easily limit the CPU and memory resource allocation of the Namespace, ensuring that every Namespace has exactly what it needs to run without stealing resources from other Namespaces. +- Virtual clusters are called [Namespaces](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects#namespaces). You can create Namespaces for testing, staging, and production, and run them all on the same hardware. With [ResourceQuotas](https://kubernetes.io/docs/concepts/policy/resource-quotas/) you can easily limit the CPU and memory resource allocation of the Namespace, ensuring that every Namespace has exactly what it needs to run without stealing resources from other Namespaces. ### CI/CD Pipelines diff --git a/docs/guides/kubernetes/kubernetes-vs-nomad/index.md b/docs/guides/kubernetes/kubernetes-vs-nomad/index.md index f5d3340bfa6..53599241748 100644 --- a/docs/guides/kubernetes/kubernetes-vs-nomad/index.md +++ b/docs/guides/kubernetes/kubernetes-vs-nomad/index.md @@ -30,7 +30,7 @@ Kubernetes typically operates on a cluster of nodes, where Kubernetes agents con Kubernetes has become a significant technology within the cloud computing world. Its influence continues to spread, changing not only how many operations manage deployments, but how people think of deployments entirely. Kubernetes' use cases and capabilities continue to be extended and developed. -For a more in-depth breakdown of Kubernetes, see our guide [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases/). +For a more in-depth breakdown of Kubernetes, see our guide [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases). ### Pros and Cons @@ -56,7 +56,7 @@ Nomad is part of the HashiCorp ecosystem, making it easy to integrate with Hashi Discussions around Nomad have centered around Nomad as a simplified Kubernetes alternative. However, Nomad's flexibility makes it stand out on its own. Nomad can handle scheduling and management for highly scalable clusters, and can work with applications that are containerized, non-containerized, or a mix. What's more, it can accomplish all of this across a wider range of systems. -Learn more about Nomad and how it operates in our tutorial [How to Use Nomad for Container Orchestration](/cloud/guides/using-nomad-for-orchestration/). +Learn more about Nomad and how it operates in our tutorial [How to Use Nomad for Container Orchestration](/cloud/guides/using-nomad-for-orchestration). ### Pros and Cons @@ -90,7 +90,7 @@ Below are just a few of the similarities, but they highlight key features that m - **Rolling Deployments**: Nomad and Kubernetes support rolling upgrades that verify a deployment's health before replacing an old deployment, and each can automatically rollback changes if a deployment fails. -- **External Storage Solutions**: Both Kubernetes and Nomad utilize the Container Storage Interface (CSI) standard, allowing them to leverage storage resources on cloud platforms that support CSI. Linode has its own CSI that you can learn more in our guide [How to Deploy Persistent Volume Claims with Linode](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/). +- **External Storage Solutions**: Both Kubernetes and Nomad utilize the Container Storage Interface (CSI) standard, allowing them to leverage storage resources on cloud platforms that support CSI. Linode has its own CSI that you can learn more in our guide [How to Deploy Persistent Volume Claims with Linode](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver). ### Differences @@ -130,6 +130,6 @@ Be sure to reference the tutorials linked throughout this guide to keep learning - [Deploying and Managing a Cluster on Linode Kubernetes Engine (LKE)](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine) -- [Manage a Docker Cluster with Kubernetes](/cloud/guides/manage-a-docker-cluster-with-kubernetes/) +- [Manage a Docker Cluster with Kubernetes](/cloud/guides/manage-a-docker-cluster-with-kubernetes) -- [How to Use Nomad for Container Orchestration](/cloud/guides/using-nomad-for-orchestration/) \ No newline at end of file +- [How to Use Nomad for Container Orchestration](/cloud/guides/using-nomad-for-orchestration) \ No newline at end of file diff --git a/docs/guides/kubernetes/leverage-kubernetes-data-oriented-projects-with-portworx/index.md b/docs/guides/kubernetes/leverage-kubernetes-data-oriented-projects-with-portworx/index.md index 5383226ba57..8f2ffae5d08 100644 --- a/docs/guides/kubernetes/leverage-kubernetes-data-oriented-projects-with-portworx/index.md +++ b/docs/guides/kubernetes/leverage-kubernetes-data-oriented-projects-with-portworx/index.md @@ -30,11 +30,11 @@ A limited version of the Portworx Storage Platform is available for free. It all Portworx integrates with widely known software systems such as Kubernetes, Kafka, and Cassandra: -- [**Kubernetes**](/cloud/guides/kubernetes/) serves as the foundation of most Portworx implementations. However, Portworx is also compatible with other container orchestration systems. +- [**Kubernetes**](/cloud/guides/kubernetes) serves as the foundation of most Portworx implementations. However, Portworx is also compatible with other container orchestration systems. -- [**Cassandra**](/cloud/guides/databases/cassandra/) is an open source distributed database management system that emphasizes economical operation, high availability, and wide-column semantics. Portworx addresses several of the challenges involved in configuring and operating Cassandra. For example, when running Cassandra in containers managed by Kubernetes, Portworx can effectively control memory, resource quotas, and/or CPU cores per Kubernetes cluster. +- [**Cassandra**](/cloud/guides/databases/cassandra) is an open source distributed database management system that emphasizes economical operation, high availability, and wide-column semantics. Portworx addresses several of the challenges involved in configuring and operating Cassandra. For example, when running Cassandra in containers managed by Kubernetes, Portworx can effectively control memory, resource quotas, and/or CPU cores per Kubernetes cluster. -- [**Kafka**](/cloud/guides/what-is-apache-kafka/) is a widely used open source distributed event store and stream-processing platform. In much the same way a traditional database system manages **records** of data, Kafka manages **events**. For Kafka to perform optimally, it needs a high-performance underlying storage system, and Portworx is a good choice. Teams and individuals often initially adopt Portworx to meet requirements for hosting or upgrading Kafka. Portworx also offers white papers specifically on the [operation of Kafka in a Kubernetes environment](https://portworx.com/blog/deploying-kafka-on-kubernetes-using-portworx-data-services/). +- [**Kafka**](/cloud/guides/what-is-apache-kafka) is a widely used open source distributed event store and stream-processing platform. In much the same way a traditional database system manages **records** of data, Kafka manages **events**. For Kafka to perform optimally, it needs a high-performance underlying storage system, and Portworx is a good choice. Teams and individuals often initially adopt Portworx to meet requirements for hosting or upgrading Kafka. Portworx also offers white papers specifically on the [operation of Kafka in a Kubernetes environment](https://portworx.com/blog/deploying-kafka-on-kubernetes-using-portworx-data-services/). ## Before You Begin @@ -45,7 +45,7 @@ Portworx integrates with widely known software systems such as Kubernetes, Kafka 1. Sign up for a personal account on [Portworx Central](https://central.portworx.com). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Portworx Installation diff --git a/docs/guides/kubernetes/manage-a-docker-cluster-with-kubernetes/index.md b/docs/guides/kubernetes/manage-a-docker-cluster-with-kubernetes/index.md index ad7ee5f5f73..b1b9de71020 100644 --- a/docs/guides/kubernetes/manage-a-docker-cluster-with-kubernetes/index.md +++ b/docs/guides/kubernetes/manage-a-docker-cluster-with-kubernetes/index.md @@ -33,7 +33,7 @@ To complete this guide you will need three Linodes running Ubuntu 16.04 LTS, eac ## Before You Begin -This article requires that you first complete our [How to Install, Configure, and Deploy NGINX on a Kubernetes Cluster](/cloud/guides/how-to-deploy-nginx-on-a-kubernetes-cluster/) guide and follow the procedures described there to configure one master node and two worker nodes. +This article requires that you first complete our [How to Install, Configure, and Deploy NGINX on a Kubernetes Cluster](/cloud/guides/how-to-deploy-nginx-on-a-kubernetes-cluster) guide and follow the procedures described there to configure one master node and two worker nodes. Set the hostnames of the three Linodes as follows: diff --git a/docs/guides/kubernetes/migrating-from-aws-eks-to-linode-kubernetes-engine-lke/index.md b/docs/guides/kubernetes/migrating-from-aws-eks-to-linode-kubernetes-engine-lke/index.md index 3f4d89344b6..1c9add71d63 100644 --- a/docs/guides/kubernetes/migrating-from-aws-eks-to-linode-kubernetes-engine-lke/index.md +++ b/docs/guides/kubernetes/migrating-from-aws-eks-to-linode-kubernetes-engine-lke/index.md @@ -30,7 +30,7 @@ This guide walks you through the process of migrating an application from [Amazo 1. Install [ripgrep (`rg`)](https://github.com/BurntSushi/ripgrep), an alternative to `grep` written in Rust. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Connect `kubectl` to Your EKS Cluster @@ -508,7 +508,7 @@ There are multiple ways to define the resources you want to deploy to Kubernetes ### Update Manifests for Compatibility With LKE -You may need to update your manifests to accommodate for differences between EKS and LKE. For example, your configuration on EKS may use the [AWS Load Balancer Controller](https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/), which helps manage AWS Application Load Balancers (ALB) as Kubernetes [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) resources. As an alternative to AWS ALBs, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke/). +You may need to update your manifests to accommodate for differences between EKS and LKE. For example, your configuration on EKS may use the [AWS Load Balancer Controller](https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/), which helps manage AWS Application Load Balancers (ALB) as Kubernetes [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) resources. As an alternative to AWS ALBs, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke). The deployment image may point to AWS Elastic Container Registry (ECR). Modify this to point to an alternative registry. For example, the `Deployment` section of your application manifest may look like this: @@ -534,7 +534,7 @@ The container image, pointing to AWS ECR, has the following format: {{< placeholder "AWS_ACCOUNT_ID" >}}.dkr.ecr.{{< placeholder "REGION" >}}.amazonaws.com/{{< placeholder "REPOSITORY_NAME" >}}:{{< placeholder "TAG" >}} ``` -To migrate away from AWS ECR, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. +To migrate away from AWS ECR, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage). Then, modify your Kubernetes manifest to point to the new location for your image. {{< note >}} Since the image for the example service application in this guide comes from Docker Hub, redirecting the registry is unnecessary. @@ -544,8 +544,8 @@ Since the image for the example service application in this guide comes from Doc If the workload depends on persistent data in AWS S3 or a database, then transfer the data or make it available to LKE. See the following guides for more information: -- [How to Migrate From AWS S3 to Linode Object Storage](/cloud/guides/migrate-from-aws-s3-to-linode-object-storage/) -- [Migrate From AWS EBS to Linode Block Storage](/cloud/guides/migrate-from-aws-ebs-to-linode-block-storage/) +- [How to Migrate From AWS S3 to Linode Object Storage](/cloud/guides/migrate-from-aws-s3-to-linode-object-storage) +- [Migrate From AWS EBS to Linode Block Storage](/cloud/guides/migrate-from-aws-ebs-to-linode-block-storage) {{< note >}} The example application, with its in-memory configuration, does not rely on any persistent data. @@ -692,7 +692,7 @@ If you use Route53, the AWS DNS service, and plan to migrate away from it, [our LKE doesn't have its own container registry. To migrate away from AWS ECR, set up a third-party private container registry, such as [Docker Hub](https://hub.docker.com/) or [GitHub Container Registry](https://github.blog/news-insights/product-news/introducing-github-container-registry/). -Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. +Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage) for instructions. ### Alternative to AWS CloudWatch @@ -712,9 +712,9 @@ AWS uses CloudWatch for Kubernetes cluster observability. With Akamai Cloud, you See the following guides for additional information: -- [Migrating From AWS CloudWatch to Prometheus and Grafana on Akamai](/cloud/guides/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai/) -- [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine/) +- [Migrating From AWS CloudWatch to Prometheus and Grafana on Akamai](/cloud/guides/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai) +- [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine) ### Alternative to AWS Secrets Manager -The AWS Secrets Manager can be leveraged to provide Kubernetes secrets on EKS. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao/). \ No newline at end of file +The AWS Secrets Manager can be leveraged to provide Kubernetes secrets on EKS. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao). \ No newline at end of file diff --git a/docs/guides/kubernetes/migrating-from-aws-lambda-to-knative/index.md b/docs/guides/kubernetes/migrating-from-aws-lambda-to-knative/index.md index c236eac73d6..431a62efa8b 100644 --- a/docs/guides/kubernetes/migrating-from-aws-lambda-to-knative/index.md +++ b/docs/guides/kubernetes/migrating-from-aws-lambda-to-knative/index.md @@ -53,7 +53,7 @@ This guide walks through the process of migrating an AWS Lambda function to a Kn ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Provision a Kubernetes Cluster diff --git a/docs/guides/kubernetes/migrating-from-aws-sns-to-rabbitmq-on-akamai/index.md b/docs/guides/kubernetes/migrating-from-aws-sns-to-rabbitmq-on-akamai/index.md index f72d9b16c2c..bc1e4698003 100644 --- a/docs/guides/kubernetes/migrating-from-aws-sns-to-rabbitmq-on-akamai/index.md +++ b/docs/guides/kubernetes/migrating-from-aws-sns-to-rabbitmq-on-akamai/index.md @@ -43,14 +43,14 @@ This guide includes steps and recommendations on how to migrate from AWS SNS to 1. Migrating from AWS SNS to RabbitMQ on Akamai requires choosing between a single Linode instance or a larger scale, more fault-tolerant environment with Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your needs: - - [Deploy RabbitMQ through the Linode Marketplace](/cloud/marketplace-docs/guides/rabbitmq/) - - [Deploying RabbitMQ on a Linode](/cloud/guides/deploying-rabbitmq-on-a-linode/) - - [Deploying RabbitMQ on Kubernetes with LKE](/cloud/guides/deploying-rabbitmq-on-kubernetes-with-lke/) + - [Deploy RabbitMQ through the Linode Marketplace](/cloud/marketplace-docs/guides/rabbitmq) + - [Deploying RabbitMQ on a Linode](/cloud/guides/deploying-rabbitmq-on-a-linode) + - [Deploying RabbitMQ on Kubernetes with LKE](/cloud/guides/deploying-rabbitmq-on-kubernetes-with-lke) 1. You must have access to your AWS account with sufficient permissions to work with SNS topics. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Migrate from AWS SNS to RabbitMQ diff --git a/docs/guides/kubernetes/migrating-from-azure-aks-to-linode-kubernetes-engine-lke/index.md b/docs/guides/kubernetes/migrating-from-azure-aks-to-linode-kubernetes-engine-lke/index.md index c923c1486aa..5202ad3b413 100644 --- a/docs/guides/kubernetes/migrating-from-azure-aks-to-linode-kubernetes-engine-lke/index.md +++ b/docs/guides/kubernetes/migrating-from-azure-aks-to-linode-kubernetes-engine-lke/index.md @@ -28,7 +28,7 @@ This guide walks you through the process of migrating an application from [Azure 1. Install [`yq`](https://github.com/mikefarah/yq), a YAML processor for the command line. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Connect `kubectl` to Your AKS Cluster @@ -513,7 +513,7 @@ There are multiple ways to define the resources you want to deploy to Kubernetes ### Update Manifests for Compatibility with LKE -You may need to update your manifests to accommodate for differences between AKS and LKE. For example, your configuration on AKS may use [ingress services from AKS](https://learn.microsoft.com/en-us/azure/aks/concepts-network-ingress) and the [Azure LoadBalancer Service](https://learn.microsoft.com/en-us/azure/aks/concepts-network-services#loadbalancer) to provide access to clients located outside of your AKS cluster. As an alternative to using these Azure services, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke/). +You may need to update your manifests to accommodate for differences between AKS and LKE. For example, your configuration on AKS may use [ingress services from AKS](https://learn.microsoft.com/en-us/azure/aks/concepts-network-ingress) and the [Azure LoadBalancer Service](https://learn.microsoft.com/en-us/azure/aks/concepts-network-services#loadbalancer) to provide access to clients located outside of your AKS cluster. As an alternative to using these Azure services, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke). The deployment image may point to Azure Container Registry. Modify this to point to an alternative registry. For example, the `Deployment` section of your application manifest may look like this: @@ -539,7 +539,7 @@ The container image, pointing to Microsoft Container Registry, has the following {{< placeholder "REGISTRY_NAME" >}}.azurecr.io/{{< placeholder "IMAGE_NAME" >}}:{{< placeholder "TAG" >}} ``` -To migrate away from Azure Container Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. +To migrate away from Azure Container Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage). Then, modify your Kubernetes manifest to point to the new location for your image. {{< note >}} Since the image for the example service application in this guide comes from Docker Hub, redirecting the registry is unnecessary. @@ -549,8 +549,8 @@ Since the image for the example service application in this guide comes from Doc If the workload depends on persistent data in Azure Storage or a database, then transfer the data or make it available to LKE. See the following guides for more information: -- [How to Migrate From Azure Blob Storage to Linode Object Storage](/cloud/guides/migrate-from-azure-blob-storage-to-linode-object-storage/) -- [Migrate From Azure Disk Storage to Linode Block Storage](/cloud/guides/migrate-from-azure-disk-storage-to-linode-block-storage/) +- [How to Migrate From Azure Blob Storage to Linode Object Storage](/cloud/guides/migrate-from-azure-blob-storage-to-linode-object-storage) +- [Migrate From Azure Disk Storage to Linode Block Storage](/cloud/guides/migrate-from-azure-disk-storage-to-linode-block-storage) {{< note >}} The example application, with its in-memory configuration, does not rely on any persistent data. @@ -696,7 +696,7 @@ If you use Azure DNS and plan to migrate away from it, [our DNS Manager](https:/ LKE doesn't have its own container registry. To migrate away from Azure Container Registry, set up a third-party private container registry, such as [Docker Hub](https://hub.docker.com/) or [GitHub Container Registry](https://github.blog/news-insights/product-news/introducing-github-container-registry/). -Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. +Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage) for instructions. ### Alternative to Azure Monitor @@ -716,9 +716,9 @@ Microsoft uses [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-mon See the following guides for more information: -- [Migrating From Azure Monitor to Prometheus and Grafana on Akamai](/cloud/guides/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai/) -- [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine/) +- [Migrating From Azure Monitor to Prometheus and Grafana on Akamai](/cloud/guides/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai) +- [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine) ### Alternative to Azure Key Vault -The [Azure Key Vault](https://learn.microsoft.com/en-us/azure/key-vault/general/overview) can be leveraged to provide Kubernetes secrets on Azure. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao/). \ No newline at end of file +The [Azure Key Vault](https://learn.microsoft.com/en-us/azure/key-vault/general/overview) can be leveraged to provide Kubernetes secrets on Azure. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao). \ No newline at end of file diff --git a/docs/guides/kubernetes/migrating-from-azure-functions-to-knative/index.md b/docs/guides/kubernetes/migrating-from-azure-functions-to-knative/index.md index 09368d62b52..593b985e911 100644 --- a/docs/guides/kubernetes/migrating-from-azure-functions-to-knative/index.md +++ b/docs/guides/kubernetes/migrating-from-azure-functions-to-knative/index.md @@ -38,7 +38,7 @@ This guide walks through the process of migrating an Azure function to a Knative 1. Install the Linode CLI using the instructions in our [Install and configure the CLI](https://techdocs.akamai.com/cloud-computing/docs/install-and-configure-the-cli) guide. -1. Follow the instructions in our [Installing and Using NVM (Node Version Manager)](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide to install NVM and the latest Long Term Support (LTS) release of Node. +1. Follow the instructions in our [Installing and Using NVM (Node Version Manager)](/cloud/guides/how-to-install-use-node-version-manager-nvm) guide to install NVM and the latest Long Term Support (LTS) release of Node. 1. Ensure that you have Knative's [`func` CLI](https://knative.dev/docs/functions/install-func/) installed. @@ -65,7 +65,7 @@ This guide walks through the process of migrating an Azure function to a Knative ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Provision a Kubernetes Cluster diff --git a/docs/guides/kubernetes/migrating-from-azure-service-bus-to-rabbitmq-on-akamai/index.md b/docs/guides/kubernetes/migrating-from-azure-service-bus-to-rabbitmq-on-akamai/index.md index dd36d4831d2..681d3a0e68c 100644 --- a/docs/guides/kubernetes/migrating-from-azure-service-bus-to-rabbitmq-on-akamai/index.md +++ b/docs/guides/kubernetes/migrating-from-azure-service-bus-to-rabbitmq-on-akamai/index.md @@ -42,14 +42,14 @@ Below is a list comparing the key features of Azure Service Bus and RabbitMQ: 1. Migrating from Azure Service Bus to RabbitMQ on Akamai requires choosing between a single Linode instance or a larger scale, more fault-tolerant environment with Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your needs: - - [Deploy RabbitMQ through the Linode Marketplace](/cloud/marketplace-docs/guides/rabbitmq/) - - [Deploying RabbitMQ on a Linode](/cloud/guides/deploying-rabbitmq-on-a-linode/) - - [Deploying RabbitMQ on Kubernetes with LKE](/cloud/guides/deploying-rabbitmq-on-kubernetes-with-lke/) + - [Deploy RabbitMQ through the Linode Marketplace](/cloud/marketplace-docs/guides/rabbitmq) + - [Deploying RabbitMQ on a Linode](/cloud/guides/deploying-rabbitmq-on-a-linode) + - [Deploying RabbitMQ on Kubernetes with LKE](/cloud/guides/deploying-rabbitmq-on-kubernetes-with-lke) 1. You must have access to your Azure account with sufficient permissions to work with Service Bus resources. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Migrate from Azure Service Bus to RabbitMQ diff --git a/docs/guides/kubernetes/migrating-from-gcp-pub-sub-to-rabbitmq-on-akamai/index.md b/docs/guides/kubernetes/migrating-from-gcp-pub-sub-to-rabbitmq-on-akamai/index.md index e4521a0ce9a..64660557c7c 100644 --- a/docs/guides/kubernetes/migrating-from-gcp-pub-sub-to-rabbitmq-on-akamai/index.md +++ b/docs/guides/kubernetes/migrating-from-gcp-pub-sub-to-rabbitmq-on-akamai/index.md @@ -42,14 +42,14 @@ GCP Pub/Sub and RabbitMQ share many key features in common, though there are som 1. Migrating from GCP Pub/Sub to RabbitMQ on Akamai requires choosing between a single Linode instance or a larger scale, more fault-tolerant environment with Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your needs: - - [Deploy RabbitMQ through the Linode Marketplace](/cloud/marketplace-docs/guides/rabbitmq/) - - [Deploying RabbitMQ on a Linode](/cloud/guides/deploying-rabbitmq-on-a-linode/) - - [Deploying RabbitMQ on Kubernetes with LKE](/cloud/guides/deploying-rabbitmq-on-kubernetes-with-lke/) + - [Deploy RabbitMQ through the Linode Marketplace](/cloud/marketplace-docs/guides/rabbitmq) + - [Deploying RabbitMQ on a Linode](/cloud/guides/deploying-rabbitmq-on-a-linode) + - [Deploying RabbitMQ on Kubernetes with LKE](/cloud/guides/deploying-rabbitmq-on-kubernetes-with-lke) 1. You must have access to your Google Cloud account with sufficient permissions to work with Pub/Sub resources. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Migrate from GCP Pub/Sub to RabbitMQ diff --git a/docs/guides/kubernetes/migrating-from-google-cloud-run-functions-to-knative/index.md b/docs/guides/kubernetes/migrating-from-google-cloud-run-functions-to-knative/index.md index 9ed2016d92d..d94b3cd1d4c 100644 --- a/docs/guides/kubernetes/migrating-from-google-cloud-run-functions-to-knative/index.md +++ b/docs/guides/kubernetes/migrating-from-google-cloud-run-functions-to-knative/index.md @@ -63,7 +63,7 @@ This guide walks through the process of migrating a Google Cloud Run function to ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Provision a Kubernetes Cluster diff --git a/docs/guides/kubernetes/migrating-from-google-gke-to-linode-kubernetes-engine-lke/index.md b/docs/guides/kubernetes/migrating-from-google-gke-to-linode-kubernetes-engine-lke/index.md index 444d1d9913e..48e24535dd2 100644 --- a/docs/guides/kubernetes/migrating-from-google-gke-to-linode-kubernetes-engine-lke/index.md +++ b/docs/guides/kubernetes/migrating-from-google-gke-to-linode-kubernetes-engine-lke/index.md @@ -28,7 +28,7 @@ This guide walks you through the process of migrating an application from [Googl 1. Install [`yq`](https://github.com/mikefarah/yq), a YAML processor for the command line. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Connect `kubectl` to Your GKE Cluster @@ -557,7 +557,7 @@ There are multiple ways to define the resources you want to deploy to Kubernetes ### Update Manifests for Compatibility with LKE -You may need to update your manifests to accommodate for differences between GKE and LKE. For example, your configuration on GKE may use the [Ingress Controller for Google Cloud](https://github.com/kubernetes/ingress-gce) and the [External LoadBalancer Service](https://cloud.google.com/kubernetes-engine/docs/concepts/service-load-balancer) to provide access to clients located outside of your Google Cloud VPC. As an alternative to using these GCP load balancer and ingress services, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke/). +You may need to update your manifests to accommodate for differences between GKE and LKE. For example, your configuration on GKE may use the [Ingress Controller for Google Cloud](https://github.com/kubernetes/ingress-gce) and the [External LoadBalancer Service](https://cloud.google.com/kubernetes-engine/docs/concepts/service-load-balancer) to provide access to clients located outside of your Google Cloud VPC. As an alternative to using these GCP load balancer and ingress services, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke). The deployment image may point to GCP Artifact Registry. Modify this to point to an alternative registry. For example, the `Deployment` section of your application manifest may look like this: @@ -583,7 +583,7 @@ The container image, pointing to GCP Artifact Registry, has the following format {{< placeholder "REGION" >}}-docker.pkg.dev/{{< placeholder "PROJECT_ID" >}}/{{< placeholder "REPOSITORY_NAME" >}}/{{< placeholder "IMAGE_NAME" >}}:{{< placeholder "TAG" >}} ``` -To migrate away from GCP Artifact Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. +To migrate away from GCP Artifact Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage). Then, modify your Kubernetes manifest to point to the new location for your image. {{< note >}} Since the image for the example service application in this guide comes from Docker Hub, redirecting the registry is unnecessary. @@ -593,8 +593,8 @@ Since the image for the example service application in this guide comes from Doc If the workload depends on persistent data in Google Cloud Storage or a database, then transfer the data or make it available to LKE. See the following guides for more information: -- [How to Migrate From Google Cloud Storage to Linode Object Storage](/cloud/guides/migrate-from-google-cloud-storage-to-linode-object-storage/) -- [Migrate from GCP Hyperdisk and Persistent Disk to Linode Block Storage](/cloud/guides/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage/) +- [How to Migrate From Google Cloud Storage to Linode Object Storage](/cloud/guides/migrate-from-google-cloud-storage-to-linode-object-storage) +- [Migrate from GCP Hyperdisk and Persistent Disk to Linode Block Storage](/cloud/guides/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage) {{< note >}} The example application, with its in-memory configuration, does not rely on any persistent data. @@ -740,7 +740,7 @@ If you use Google Cloud DNS and plan to migrate away from it, [our DNS Manager]( LKE doesn't have its own container registry. To migrate away from GCP Artifact Registry, set up a third-party private container registry, such as [Docker Hub](https://hub.docker.com/) or [GitHub Container Registry](https://github.blog/news-insights/product-news/introducing-github-container-registry/). -Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. +Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage) for instructions. ### Alternative to Google Cloud Operations Suite @@ -760,9 +760,9 @@ GCP uses its [cloud operations suite](https://cloud.google.com/blog/topics/devel See the following guides for more information: -- [Migrating From GCP Cloud Monitoring to Prometheus and Grafana on Akamai](/cloud/guides/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai/) -- [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine/) +- [Migrating From GCP Cloud Monitoring to Prometheus and Grafana on Akamai](/cloud/guides/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai) +- [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine) ### Alternative to GCP Secrets Manager -The [GCP Secrets Manager](https://cloud.google.com/security/products/secret-manager) can be leveraged to provide Kubernetes secrets on GKE. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao/). \ No newline at end of file +The [GCP Secrets Manager](https://cloud.google.com/security/products/secret-manager) can be leveraged to provide Kubernetes secrets on GKE. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao). \ No newline at end of file diff --git a/docs/guides/kubernetes/migrating-from-oracle-kubernetes-engine-to-linode-kubernetes-engine-lke/index.md b/docs/guides/kubernetes/migrating-from-oracle-kubernetes-engine-to-linode-kubernetes-engine-lke/index.md index 3ea4955d48a..c4702685d1c 100644 --- a/docs/guides/kubernetes/migrating-from-oracle-kubernetes-engine-to-linode-kubernetes-engine-lke/index.md +++ b/docs/guides/kubernetes/migrating-from-oracle-kubernetes-engine-to-linode-kubernetes-engine-lke/index.md @@ -28,7 +28,7 @@ This guide walks you through the process of migrating an application from Oracle 1. Install [`yq`](https://github.com/mikefarah/yq), a YAML processor for the command line. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Connect `kubectl` to Your OKE Cluster @@ -531,7 +531,7 @@ There are multiple ways to define the resources you want to deploy to Kubernetes ### Update Manifests for Compatibility with LKE -You may need to update your manifests to accommodate for differences between OKE and LKE. For example, your configuration on OKE may use the [OCI native ingress controller](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengsettingupnativeingresscontroller.htm) and the [LoadBalancer Service](https://docs.oracle.com/en-us/iaas/Content/Balance/Tasks/managingloadbalancer_topic-Creating_Load_Balancers.htm#top) to provide access to clients located outside of your Oracle virtual cloud network. As an alternative to using these OCI load balancer and ingress services, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke/). +You may need to update your manifests to accommodate for differences between OKE and LKE. For example, your configuration on OKE may use the [OCI native ingress controller](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengsettingupnativeingresscontroller.htm) and the [LoadBalancer Service](https://docs.oracle.com/en-us/iaas/Content/Balance/Tasks/managingloadbalancer_topic-Creating_Load_Balancers.htm#top) to provide access to clients located outside of your Oracle virtual cloud network. As an alternative to using these OCI load balancer and ingress services, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke). The deployment image may point to Oracle Cloud Infrastructure Container Registry. Modify this to point to an alternative registry. For example, the `Deployment` section of your application manifest may look like this: @@ -557,7 +557,7 @@ The container image, pointing to Oracle Container Registry, has the following fo ocir.{{< placeholder "REGION" >}}.oci.oraclecloud.com/{{< placeholder "TENANCY_OBJECT_STORAGE_NAMESPACE" >}}/{{< placeholder "REPOSITORY_NAME" >}}/{{< placeholder "IMAGE_NAME" >}}:{{< placeholder "TAG" >}} ``` -To migrate away from the Oracle Container Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. +To migrate away from the Oracle Container Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage). Then, modify your Kubernetes manifest to point to the new location for your image. {{< note >}} Since the image for the example service application in this guide comes from Docker Hub, redirecting the registry is unnecessary. @@ -711,7 +711,7 @@ If you use OCI DNS and plan to migrate away from it, [our DNS Manager](https://t LKE doesn't have its own container registry. To migrate away from the Oracle Container Registry, set up a third-party private container registry, such as [Docker Hub](https://hub.docker.com/) or [GitHub Container Registry](https://github.blog/news-insights/product-news/introducing-github-container-registry/). -Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. +Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage) for instructions. ### Alternative to the Oracle Cloud Observability and Management Platform @@ -729,8 +729,8 @@ Oracle provides its [Cloud Observability and Management Platform](https://www.or - Postgres-Exporter - OpenTelemetry-Operator -See [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine/) for more information. +See [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine) for more information. ### Alternative to OCI Vault -The [OCI Vault](https://docs.oracle.com/en-us/iaas/Content/KeyManagement/home.htm) can be leveraged to provide Kubernetes secrets on OKE. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao/). \ No newline at end of file +The [OCI Vault](https://docs.oracle.com/en-us/iaas/Content/KeyManagement/home.htm) can be leveraged to provide Kubernetes secrets on OKE. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao). \ No newline at end of file diff --git a/docs/guides/kubernetes/nomad-alongside-kubernetes/index.md b/docs/guides/kubernetes/nomad-alongside-kubernetes/index.md index 4c068fa0901..17181ab4538 100644 --- a/docs/guides/kubernetes/nomad-alongside-kubernetes/index.md +++ b/docs/guides/kubernetes/nomad-alongside-kubernetes/index.md @@ -14,7 +14,7 @@ external_resources: Kubernetes and Nomad are both orchestration tools that each come with a compelling set of features. Despite some overlap, each tool has unique strengths and a favorable set of use cases. -Review our [Kubernetes vs Nomad?](/cloud/guides/kubernetes-vs-nomad/) article to see how Kubernetes and Nomad excel in different orchestration areas. +Review our [Kubernetes vs Nomad?](/cloud/guides/kubernetes-vs-nomad) article to see how Kubernetes and Nomad excel in different orchestration areas. As that guide points out, there are cases where you may want the benefits of both tools side-by-side. While you can accomplish this with two distinct parallel setups, it's also possible to directly run Nomad on a Kubernetes cluster. @@ -26,7 +26,7 @@ Kubernetes tends to be best for large and complicated applications, but it is re Many organizations can effectively leverage both use cases. Often, you need to run more than just large and containerized applications. You may need to orchestrate batch applications or other non-containerized applications that benefit from a higher degree of flexibility. -Running a distinct Nomad cluster in addition to a Kubernetes cluster is a possibility for handling this. Learn everything you need to get started with a Nomad cluster in our guide [How to Use Nomad for Container Orchestration](/cloud/guides/using-nomad-for-orchestration/). +Running a distinct Nomad cluster in addition to a Kubernetes cluster is a possibility for handling this. Learn everything you need to get started with a Nomad cluster in our guide [How to Use Nomad for Container Orchestration](/cloud/guides/using-nomad-for-orchestration). However, that model may be restrictive, and price-inefficient depending on your needs. @@ -50,7 +50,7 @@ Learn how to deploy an LKE cluster through our guide [Linode Kubernetes Engine - The present tutorial assumes you followed the guide above to create an LKE cluster with three nodes. The tutorial has been tested with Dedicated 4GB nodes, but that can be adjusted to fit your needs. -For an alternative method to deploy a Kubernetes cluster onto Linode, see our guide [Using kubeadm to Deploy a Kubernetes Cluster](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/). The guide covers using the `kubeadm` tool to set up a cluster, but the guide also highlights and links to further options for Kubernetes deployments. +For an alternative method to deploy a Kubernetes cluster onto Linode, see our guide [Using kubeadm to Deploy a Kubernetes Cluster](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm). The guide covers using the `kubeadm` tool to set up a cluster, but the guide also highlights and links to further options for Kubernetes deployments. This tutorial additionally requires that `kubectl` is installed locally and set up with the `kubeconfig` file to connect to your LKE cluster. Learn more about this in the guides linked above, depending on your method for setting up the Kubernetes cluster. @@ -58,7 +58,7 @@ This tutorial additionally requires that `kubectl` is installed locally and set Nomad typically uses [Consul](https://www.consul.io/) for network discovery. Fortunately, a Consul mesh can be set up on a Kubernetes cluster with relative ease through the official Helm chart. -Learn more about setting up a Consul service mesh on Kubernetes through our guide [Install HashiCorp Consul Service Mesh](/cloud/guides/how-to-install-hashicorp-consul-service-mesh/). +Learn more about setting up a Consul service mesh on Kubernetes through our guide [Install HashiCorp Consul Service Mesh](/cloud/guides/how-to-install-hashicorp-consul-service-mesh). The steps that follow are based on those covered in the guide above. Some alterations have been made and more specifics given to fit smoothly with Nomad on the cluster. diff --git a/docs/guides/kubernetes/setting-up-harbor-registry-with-lke/index.md b/docs/guides/kubernetes/setting-up-harbor-registry-with-lke/index.md index d5935b5ea10..fd76687fb4e 100644 --- a/docs/guides/kubernetes/setting-up-harbor-registry-with-lke/index.md +++ b/docs/guides/kubernetes/setting-up-harbor-registry-with-lke/index.md @@ -42,7 +42,7 @@ The following is a summary of the infrastructure created in this guide. Instruct If you would like to remove these services after you finish following the guide, review our [Stop Further Billing](https://techdocs.akamai.com/cloud-computing/docs/stop-further-billing) guide. For more information on how billing for services works, review the [Billing Overview](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is Harbor? @@ -73,7 +73,7 @@ The server is your Harbor access point. It gives you an administrative interface This tutorial requires you to have a domain for your Harbor server. Doing so allows you to use Let's Encrypt for SSL certification. For example code and commands, the tutorial uses `harbor.example.com` as the domain name. -In your DNS manager for your own domain, create an [A record](/cloud/guides/dns-overview/#a-and-aaaa) named `harbor`: +In your DNS manager for your own domain, create an [A record](/cloud/guides/dns-overview#a-and-aaaa) named `harbor`: - If you use the Linode DNS Manager, follow our [Manage DNS Records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) guide to create the new a record. @@ -172,7 +172,7 @@ Using SSL lets you secure traffic to and from your Harbor server. You can create [Certbot](https://certbot.eff.org) is a tool that provides an interface for requesting and downloading certificates from Let's Encrypt. This tutorial uses Certbot to set up an SSL certificate: -1. To install Certbot, follow one of our [Certbot for NGINX guides](/cloud/guides/enabling-https-using-certbot/#nginx). For this tutorial, follow just the **Installing Snapd** and **Installing Certbot** sections. *Do not* follow that guide's steps for requesting a certificate. +1. To install Certbot, follow one of our [Certbot for NGINX guides](/cloud/guides/enabling-https-using-certbot#nginx). For this tutorial, follow just the **Installing Snapd** and **Installing Certbot** sections. *Do not* follow that guide's steps for requesting a certificate. 1. Use Certbot to request a certificate for your domain (given after the `-d` option), using the [standalone verification](https://eff-certbot.readthedocs.io/en/stable/using.html#standalone) option. Replace the domain in this command with your Harbor server's domain: @@ -379,7 +379,7 @@ The following instructions can be run from your local workstation. They require ``` {{< note >}} -You can learn more about building Docker images through our guide on [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles/). +You can learn more about building Docker images through our guide on [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles). {{< /note >}} #### Push an Image to Harbor diff --git a/docs/guides/kubernetes/terraform-vs-helm/index.md b/docs/guides/kubernetes/terraform-vs-helm/index.md index c3c07745983..1fe37aa73b1 100644 --- a/docs/guides/kubernetes/terraform-vs-helm/index.md +++ b/docs/guides/kubernetes/terraform-vs-helm/index.md @@ -114,6 +114,6 @@ One caveat to using Helm and Terraform together is the added complexity that may With the information provided in this guide, you should now be equipped to make an informed decision between Terraform and Helm, or even consider using them in tandem. To learn more about these tools, review some of our other resources: -- Navigate to the [Terraform](/cloud/guides/applications/configuration-management/terraform/) section for a list of related guides. +- Navigate to the [Terraform](/cloud/guides/applications/configuration-management/terraform) section for a list of related guides. -- For Helm, you can start with our [Introduction to Helm | LKE Workshop](https://www.linode.com/content/introduction-to-helm-lke-workshop-with-jerome-petazzoni/) video. Then, dive deeper with our [How to Install Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/) guide. \ No newline at end of file +- For Helm, you can start with our [Introduction to Helm | LKE Workshop](https://www.linode.com/content/introduction-to-helm-lke-workshop-with-jerome-petazzoni/) video. Then, dive deeper with our [How to Install Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3) guide. \ No newline at end of file diff --git a/docs/guides/kubernetes/troubleshooting-kubernetes/index.md b/docs/guides/kubernetes/troubleshooting-kubernetes/index.md index 5def4048eee..ca7f421e0ab 100644 --- a/docs/guides/kubernetes/troubleshooting-kubernetes/index.md +++ b/docs/guides/kubernetes/troubleshooting-kubernetes/index.md @@ -77,7 +77,7 @@ mariadb-0 1/1 Running 0 2h ``` {{< note >}} - If you've set up Kubernetes using automated solutions like Linode's Kubernetes Engine, [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/), or [Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/), you'll see [csi-linode](https://github.com/linode/linode-blockstorage-csi-driver) and [ccm-linode](https://github.com/linode/linode-cloud-controller-manager) Pods in the `kube-system` namespace. This is normal as long as they're in the Running status. + If you've set up Kubernetes using automated solutions like Linode's Kubernetes Engine, [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli), or [Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x), you'll see [csi-linode](https://github.com/linode/linode-blockstorage-csi-driver) and [ccm-linode](https://github.com/linode/linode-cloud-controller-manager) Pods in the `kube-system` namespace. This is normal as long as they're in the Running status. {{< /note >}} @@ -182,7 +182,7 @@ If the Kubernetes API server isn't working normally, then you may not be able to #### Non-systemd systems -If your nodes do not run [systemd](/cloud/guides/what-is-systemd/), the location of logs on your master nodes should be: +If your nodes do not run [systemd](/cloud/guides/what-is-systemd), the location of logs on your master nodes should be: - `/var/log/kube-apiserver.log` - [API server](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/) - `/var/log/kube-scheduler.log` - [Scheduler](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/ ) diff --git a/docs/guides/kubernetes/use-rook-to-orchestrate-distributed-open-source-storage/index.md b/docs/guides/kubernetes/use-rook-to-orchestrate-distributed-open-source-storage/index.md index 21a073a3d21..bbaaebe8319 100644 --- a/docs/guides/kubernetes/use-rook-to-orchestrate-distributed-open-source-storage/index.md +++ b/docs/guides/kubernetes/use-rook-to-orchestrate-distributed-open-source-storage/index.md @@ -42,10 +42,10 @@ Rook automates the deployment and management of Ceph to create self-managing, se - Multipath Devices - Persistent Volumes - This guide utilizes Linode Block Storage Volumes attached to individual cluster nodes to demonstrate initial Rook and Ceph configuration. For production environments, we recommend utilizing [persistent volumes](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/) or another local storage option. + This guide utilizes Linode Block Storage Volumes attached to individual cluster nodes to demonstrate initial Rook and Ceph configuration. For production environments, we recommend utilizing [persistent volumes](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver) or another local storage option. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Creating and Attaching Volumes diff --git a/docs/guides/kubernetes/using-kompose-for-kubernetes/index.md b/docs/guides/kubernetes/using-kompose-for-kubernetes/index.md index 092a80eaa6d..192ca38d8fa 100644 --- a/docs/guides/kubernetes/using-kompose-for-kubernetes/index.md +++ b/docs/guides/kubernetes/using-kompose-for-kubernetes/index.md @@ -23,7 +23,7 @@ Kompose is a tool that makes it easier to convert Docker Compose files into Kube 1. Have an active Kubernetes cluster configured with `kubectl` or a similar tool. You can follow our [Linode Kubernetes Engine - Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine) guide to deploy an LKE cluster from the Linode Cloud Manager. The guide also includes steps for installing and configuring `kubectl` to manage the cluster. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Kompose? @@ -222,7 +222,7 @@ The resources have been deployed, meaning your Kubernetes cluster should be runn {{< tabs >}} {{< tab "Debian and Ubuntu" >}} - Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide, and use the following commands to open the HTTP port. + Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide, and use the following commands to open the HTTP port. ```command sudo ufw allow 8080/tcp @@ -230,7 +230,7 @@ The resources have been deployed, meaning your Kubernetes cluster should be runn ``` {{< /tab >}} {{< tab "CentOS Stream, AlmaLinux, and Rocky Linux" >}} - Refer to our [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) guide, and use the following commands to open the HTTP port: + Refer to our [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos) guide, and use the following commands to open the HTTP port: ```command sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent @@ -255,6 +255,6 @@ Kompose is a powerful tool. Whether you are a Docker Compose aficionado beginnin The links below are helpful resources for learning more about working with Kompose. Additionally, you may be interested in moving forward with more on Kubernetes and Docker Compose: -- Refer to our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series to go deeper with Kubernetes, and see our [collection of Kubernetes guides](/cloud/guides/kubernetes/) for a range of use cases to build on. +- Refer to our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series to go deeper with Kubernetes, and see our [collection of Kubernetes guides](/cloud/guides/kubernetes) for a range of use cases to build on. -- Search our documentation for Docker Compose to see everything from getting started guides like [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/) to specific use cases like how to [Install a Mastodon Server](/cloud/guides/install-mastodon-on-ubuntu-2004/). \ No newline at end of file +- Search our documentation for Docker Compose to see everything from getting started guides like [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose) to specific use cases like how to [Install a Mastodon Server](/cloud/guides/install-mastodon-on-ubuntu-2004). \ No newline at end of file diff --git a/docs/guides/kubernetes/using-octant-with-kubernetes-a-tutorial/index.md b/docs/guides/kubernetes/using-octant-with-kubernetes-a-tutorial/index.md index dfe1a935d15..5aafe7368cb 100644 --- a/docs/guides/kubernetes/using-octant-with-kubernetes-a-tutorial/index.md +++ b/docs/guides/kubernetes/using-octant-with-kubernetes-a-tutorial/index.md @@ -34,12 +34,12 @@ This guide will explore a few ways to use Octant with some example software depl - A [troubleshooting thought experiment](#troubleshooting-with-octant) will show how Octant can make discovering issues in your cluster easier. {{< note >}} -This guide assumes familiarity with the Kubernetes concepts outlined in Linode's [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/). If you have never set up a Kubernetes cluster before, it's also recommended that you do so to get the most out of this guide. The [How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) guide describes a one-line command for generating a cluster. +This guide assumes familiarity with the Kubernetes concepts outlined in Linode's [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes). If you have never set up a Kubernetes cluster before, it's also recommended that you do so to get the most out of this guide. The [How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli) guide describes a one-line command for generating a cluster. {{< /note >}} ## Before you Begin -The examples in this guide have been tested on a cluster running with Linode with Linode's [CCM](/cloud/guides/kubernetes-reference/#linode-cloud-controller-manager) and [CSI](/cloud/guides/kubernetes-reference/#container-storage-interface) plugins installed. If you would like to install these examples as well, a cluster made with [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) will meet these criteria. +The examples in this guide have been tested on a cluster running with Linode with Linode's [CCM](/cloud/guides/kubernetes-reference#linode-cloud-controller-manager) and [CSI](/cloud/guides/kubernetes-reference#container-storage-interface) plugins installed. If you would like to install these examples as well, a cluster made with [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli) will meet these criteria. {{< note type="alert" >}} These examples will create billable services. To stop billing for these services after reading the guide, be sure to read the tear-down instructions at the end of each section. If you created a new cluster for this guide, you can remove the cluster's Nodes from the [Linode Cloud Manager](https://cloud.linode.com). @@ -107,7 +107,7 @@ Octant can be run as a local server process on your workstation. To install and The interfaces that Octant provides are meant to be a complement, and not a replacement, for kubectl. When using Octant, you may find that you sometimes need to return to kubectl to perform certain actions. Still, the Octant dashboard will serve as a helpful overview when inspecting your cluster. {{< note >}} -The cluster objects visible in the following screenshots were created by installing the [Helm chart](https://github.com/helm/charts/tree/master/stable/ghost) for the [Ghost](https://ghost.org) blogging software. The [How to Install Apps on Kubernetes with Helm 2](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-2/) guide outlines how to install this software. Please note that this guide uses Helm 2 and not Helm 3 to install the software. +The cluster objects visible in the following screenshots were created by installing the [Helm chart](https://github.com/helm/charts/tree/master/stable/ghost) for the [Ghost](https://ghost.org) blogging software. The [How to Install Apps on Kubernetes with Helm 2](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-2) guide outlines how to install this software. Please note that this guide uses Helm 2 and not Helm 3 to install the software. {{< /note >}} - When first viewing the dashboard, a list of all of your cluster objects will be shown: diff --git a/docs/guides/kubernetes/what-is-kubernetes-cert-manager/index.md b/docs/guides/kubernetes/what-is-kubernetes-cert-manager/index.md index 55ddb73ae71..11999d855be 100644 --- a/docs/guides/kubernetes/what-is-kubernetes-cert-manager/index.md +++ b/docs/guides/kubernetes/what-is-kubernetes-cert-manager/index.md @@ -16,10 +16,10 @@ external_resources: ## What is cert manager? -Cert-manager is a Kubernetes add-on designed to assist with the creation and management of TLS certificates. Similar to [Certbot](/cloud/guides/secure-http-traffic-certbot/), cert-manager can automate the process of creating and renewing self-signed and signed certificates for a large number of use cases, with a specific focus on container orchestration tools like Kubernetes. +Cert-manager is a Kubernetes add-on designed to assist with the creation and management of TLS certificates. Similar to [Certbot](/cloud/guides/secure-http-traffic-certbot), cert-manager can automate the process of creating and renewing self-signed and signed certificates for a large number of use cases, with a specific focus on container orchestration tools like Kubernetes. {{< note >}} -This guide assumes a working knowledge of Kubernetes key concepts, including master and worker nodes, Pods, Deployments, and Services. For more information on Kubernetes, see our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series. +This guide assumes a working knowledge of Kubernetes key concepts, including master and worker nodes, Pods, Deployments, and Services. For more information on Kubernetes, see our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) series. {{< /note >}} ## Understanding Cert Manager Concepts @@ -28,7 +28,7 @@ Cert-Manager is divided into a number of components and microservices that are e ### Issuers and ClusterIssuers -Certificate creation begins with `Issuers` and `ClusterIssuers`, resources that represent certificate authorities and are able to generate signed certificates using a specific issuer `type`. An issuer `type` represents the method used to create your certificate, such as `SelfSigned` for a [Self-Signed Certificate](/cloud/guides/create-a-self-signed-tls-certificate/) and `ACME` for requests for certificates from ACME servers, typically used by tools like [Let's Encrypt](https://letsencrypt.org/). All supported issuer types are listed in [Cert-Manager's Documentation](https://cert-manager.io/docs/configuration/). +Certificate creation begins with `Issuers` and `ClusterIssuers`, resources that represent certificate authorities and are able to generate signed certificates using a specific issuer `type`. An issuer `type` represents the method used to create your certificate, such as `SelfSigned` for a [Self-Signed Certificate](/cloud/guides/create-a-self-signed-tls-certificate) and `ACME` for requests for certificates from ACME servers, typically used by tools like [Let's Encrypt](https://letsencrypt.org/). All supported issuer types are listed in [Cert-Manager's Documentation](https://cert-manager.io/docs/configuration/). While `Issuers` resources are only able to create certificates in the namespace they were created in, `ClusterIssuers` can create certificates for all namespaces. This guide provides an example that demonstrates how `ClusterIssuers` creates certificates for all namespaces in the cluster. @@ -83,4 +83,4 @@ cert-manager-webhook-68d464c8b-86tqw 1/1 Running 0 19m ## Next Steps -To learn how to apply some of the concepts learned in this guide, see the [Configuring Load Balancing with TLS Encryption on a Kubernetes Cluster](/cloud/guides/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/) guide. \ No newline at end of file +To learn how to apply some of the concepts learned in this guide, see the [Configuring Load Balancing with TLS Encryption on a Kubernetes Cluster](/cloud/guides/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster) guide. \ No newline at end of file diff --git a/docs/guides/linode-writers-formatting-guide/index.md b/docs/guides/linode-writers-formatting-guide/index.md index 67b62ca935d..63706fda679 100644 --- a/docs/guides/linode-writers-formatting-guide/index.md +++ b/docs/guides/linode-writers-formatting-guide/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] show_on_rss_feed: false external_resources: - - '[GitHub Beginners Guide](/cloud/guides/a-beginners-guide-to-github/)' + - '[GitHub Beginners Guide](/cloud/guides/a-beginners-guide-to-github)' - '[Red Hat Writing Style Guide](http://stylepedia.net/)' build: list: false @@ -21,7 +21,7 @@ build: ## Write Guides for Linode -This guide provides templates and guidelines to use when creating or updating a guide for [Linode Docs](/cloud/). +This guide provides templates and guidelines to use when creating or updating a guide for [Linode Docs](/cloud). Updates, improvements, and bug fixes to Linode documentation are always welcome through [GitHub](https://github.com/linode/docs) via pull requests (PRs) or issues. @@ -100,13 +100,13 @@ Below is an example *Before You Begin* section. You may copy the example and edi ```file {title="Guides Written for a Non-Root User" lang="txt"} {{}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{}} ``` ```file {title="Guides Written for a Root User" lang="txt"} {{}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{}} ``` diff --git a/docs/guides/networking/diagnostics/check-linux-ports-in-use/index.md b/docs/guides/networking/diagnostics/check-linux-ports-in-use/index.md index 730143f61aa..b83d56ce568 100644 --- a/docs/guides/networking/diagnostics/check-linux-ports-in-use/index.md +++ b/docs/guides/networking/diagnostics/check-linux-ports-in-use/index.md @@ -56,11 +56,11 @@ tcp6 0 0 [::]:http [::]:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN 2145/sshd: /usr/sbi {{}} -To learn how to install netstat, interpret its output, and view common command line options, see our [Inspecting Network Information with netstat](/cloud/guides/inspecting-network-information-with-netstat/) guide. +To learn how to install netstat, interpret its output, and view common command line options, see our [Inspecting Network Information with netstat](/cloud/guides/inspecting-network-information-with-netstat) guide. ### Using ss -Another way to have Linux check ports is via the [**ss**](/cloud/guides/ss/) tool. `ss` was created to improve upon netstat and provides more functionality. It allows you to monitor TCP, UDP, and UNIX sockets. A socket enables programs to communicate with each other across a network and is comprised of an IP address and a port number. +Another way to have Linux check ports is via the [**ss**](/cloud/guides/ss) tool. `ss` was created to improve upon netstat and provides more functionality. It allows you to monitor TCP, UDP, and UNIX sockets. A socket enables programs to communicate with each other across a network and is comprised of an IP address and a port number. Running the `ss` with no options displays TCP, UDP, and UNIX sockets. Similar to netstat, this unrestricted list can get quite big on busy machines, so it is useful to restrict the ss command's output by using command-line options. For example, to view all listening and non-listening TCP sockets issue the following command: @@ -87,7 +87,7 @@ LISTEN 0 128 [::]:ssh Using just the `-l` parameter tells ss to list all Linux's listening ports, which are omitted by default, making it easier to check for listening ports in Linux. -To take a deeper dive into the ss tool, read our [Learning to Use the ss Tool to its Full Potential](/cloud/guides/ss/) guide. This guide provides commands specific to each protocol, commands to view general statistics about a system's current connections, and ways to filter your output. +To take a deeper dive into the ss tool, read our [Learning to Use the ss Tool to its Full Potential](/cloud/guides/ss) guide. This guide provides commands specific to each protocol, commands to view general statistics about a system's current connections, and ways to filter your output. ### Using lsof @@ -109,4 +109,4 @@ hugo 57981 jdoe 8041u IPv4 0x3dab8c45a423853b 0t0 TCP localhost: hugo 57981 jdoe 8042u IPv4 0x3dab8c45a3a8e2db 0t0 TCP localhost:bmc_patroldb->localhost:51706 (ESTABLISHED) {{}} -`lsof` is a powerful diagnostic tool capable of a significant number of ways that you can combine its command line options to troubleshoot various issues. To learn more about the `lsof` command read our [How to List Open Files with lsof](/cloud/guides/lsof/) guide. This guide provides information about command-line options, the anatomy of the lsof output, and filtering your output with regular expressions. +`lsof` is a powerful diagnostic tool capable of a significant number of ways that you can combine its command line options to troubleshoot various issues. To learn more about the `lsof` command read our [How to List Open Files with lsof](/cloud/guides/lsof) guide. This guide provides information about command-line options, the anatomy of the lsof output, and filtering your output with regular expressions. diff --git a/docs/guides/networking/diagnostics/diagnosing-network-issues-with-mtr/index.md b/docs/guides/networking/diagnostics/diagnosing-network-issues-with-mtr/index.md index 08b3ef95acc..29b4886c23e 100644 --- a/docs/guides/networking/diagnostics/diagnosing-network-issues-with-mtr/index.md +++ b/docs/guides/networking/diagnostics/diagnosing-network-issues-with-mtr/index.md @@ -20,7 +20,7 @@ external_resources: [MTR](http://www.bitwizard.nl/mtr/) is a powerful tool that enables administrators to diagnose and isolate networking errors and provide reports of network status to upstream providers. MTR represents an evolution of the `traceroute` command by providing a greater data sample as if augmenting `traceroute` with `ping` output. This document provides an in-depth overview of MTR, the data it generates, and how to interpret and draw conclusions based on the data provided by it. -For a basic overview of network diagnostic techniques, see our introduction to [network diagnostics](/cloud/guides/linux-system-administration-basics/#network-diagnostics). If you are having general issues with your system, read our overview of general [system diagnostics](/cloud/guides/linux-system-administration-basics/#system-diagnostics). +For a basic overview of network diagnostic techniques, see our introduction to [network diagnostics](/cloud/guides/linux-system-administration-basics#network-diagnostics). If you are having general issues with your system, read our overview of general [system diagnostics](/cloud/guides/linux-system-administration-basics#system-diagnostics). ## Network Diagnostics Background diff --git a/docs/guides/networking/diagnostics/inspecting-network-information-with-netstat/index.md b/docs/guides/networking/diagnostics/inspecting-network-information-with-netstat/index.md index 741709a93d6..01ac2290cb9 100644 --- a/docs/guides/networking/diagnostics/inspecting-network-information-with-netstat/index.md +++ b/docs/guides/networking/diagnostics/inspecting-network-information-with-netstat/index.md @@ -15,7 +15,7 @@ aliases: [] The `netstat` command line utility shows information about the network status of a workstation or server. `netstat` is available on Unix-like and Windows operating systems, with some differences in its usage between these systems. -`netstat` is an older utility, and some components of its functionality have been superseded by newer tools, like the [`ss` command](/cloud/guides/ss/). A primary benefit of using `netstat` is that it is frequently pre-installed on Linux systems, while other tools might not be. As well, many (but not all) of the command line options for `netstat` can be run without root privileges, so it can still be useful on a system where you do not have root or `sudo` privileges. +`netstat` is an older utility, and some components of its functionality have been superseded by newer tools, like the [`ss` command](/cloud/guides/ss). A primary benefit of using `netstat` is that it is frequently pre-installed on Linux systems, while other tools might not be. As well, many (but not all) of the command line options for `netstat` can be run without root privileges, so it can still be useful on a system where you do not have root or `sudo` privileges. {{< note >}} This guide assumes some basic knowledge of networking in Linux, including network interfaces, routing tables, and network connections and sockets. @@ -34,7 +34,7 @@ This guide will explore the options available when running `netstat` on Linux. ` A list of the [command line options](#command-line-options) can be found below, and some [advanced examples of using netstat with the AWK command](#using-awk-to-process-netstat-output) will be introduced at the end of the guide. {{< note >}} -This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to properly execute. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to properly execute. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Basic Usage diff --git a/docs/guides/networking/diagnostics/lsof/index.md b/docs/guides/networking/diagnostics/lsof/index.md index c35b75f3e7e..9e6bd5ccf2a 100644 --- a/docs/guides/networking/diagnostics/lsof/index.md +++ b/docs/guides/networking/diagnostics/lsof/index.md @@ -29,7 +29,7 @@ There are two main drawbacks of `lsof`. First, it can only display information a ## Before You Begin {{< note >}} -Running `lsof` without root privileges only returns the results available to the current user. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Running `lsof` without root privileges only returns the results available to the current user. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} On most major distributions, `lsof` comes pre-installed and you can begin using it immediately. If for any reason it is not found, you can install `lsof` using your preferred package manager. @@ -294,7 +294,7 @@ apache2 24571 www-data 6u IPv6 8626157 0t0 TCP *:https #### Internet Connections -If you process the output of `lsof` with some traditional UNIX command line tools, like [grep](/cloud/guides/how-to-use-grep/) and `awk`, you can list all active network connections: +If you process the output of `lsof` with some traditional UNIX command line tools, like [grep](/cloud/guides/how-to-use-grep) and `awk`, you can list all active network connections: sudo lsof -i -n -P | grep ESTABLISHED | awk '{print $1, $9}' | sort -u diff --git a/docs/guides/networking/diagnostics/netcat/index.md b/docs/guides/networking/diagnostics/netcat/index.md index 4ef6328caaf..b0eee832606 100644 --- a/docs/guides/networking/diagnostics/netcat/index.md +++ b/docs/guides/networking/diagnostics/netcat/index.md @@ -20,7 +20,7 @@ Netcat is a simple but handy UNIX utility that reads and writes data across netw Some of the commands in this guide will require the use of two terminal windows running `netcat`, one acting as a server and the other as the client. These can be separate machines, or you can connect to the same `localhost`. {{< note >}} -This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to get property executed. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to get property executed. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. Port numbers 0-1024 are restricted and can only be used with root privileges, which means that you should use the `sudo` command for creating TCP/IP *servers* that use port numbers 0-1024. This rule does not apply to TCP/IP *clients* that use port numbers 0-1024. diff --git a/docs/guides/networking/diagnostics/ss/index.md b/docs/guides/networking/diagnostics/ss/index.md index 56e2b2a9950..850462f9dec 100644 --- a/docs/guides/networking/diagnostics/ss/index.md +++ b/docs/guides/networking/diagnostics/ss/index.md @@ -19,7 +19,7 @@ aliases: [] The study of socket connections is important for every UNIX and network administrator because it allows you to better understand your Linux system's status. Written by Alexey Kuznetosv to replace the famous `netstat` utility , the more capable `ss` (socket statistics) utility allows you to monitor TCP, UDP, and UNIX sockets. The purpose of this guide is to help you learn the `ss` utility and to use it as productively as possible. {{< note >}} -Running `ss` without using the `sudo` utility results in different output. Practically, this means that running `ss` without root privileges displays the results available to the current user only. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Running `ss` without using the `sudo` utility results in different output. Practically, this means that running `ss` without root privileges displays the results available to the current user only. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Command Line Options diff --git a/docs/guides/networking/dns/dns-and-user-privacy/index.md b/docs/guides/networking/dns/dns-and-user-privacy/index.md index b4010ae189f..cd769b9f711 100644 --- a/docs/guides/networking/dns/dns-and-user-privacy/index.md +++ b/docs/guides/networking/dns/dns-and-user-privacy/index.md @@ -68,7 +68,7 @@ For users, DoT offers greater transparency. Any attempt to block or tamper with [Bind 9](https://www.isc.org/bind/), the most widely used DNS server software, natively supports both DoT (starting in version 9.17.7) and DoH (starting in version 9.17.10). This support covers Linodes running Ubuntu 22.04 LTS, since this distribution includes Bind version 9.18.1. -To add DoT support to a recursive server running Bind 9, add these lines to `/etc/bind/named.conf`. This example assumes you’ve used [Let’s Encrypt to generate a TLS certificate and key for your DNS server](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/). Substitute the full paths and names of your certificate and key files as appropriate: +To add DoT support to a recursive server running Bind 9, add these lines to `/etc/bind/named.conf`. This example assumes you’ve used [Let’s Encrypt to generate a TLS certificate and key for your DNS server](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates). Substitute the full paths and names of your certificate and key files as appropriate: ```file {title="/etc/bind/named.conf" lang="aconf"} tls mytls { diff --git a/docs/guides/networking/dns/dns-overview/index.md b/docs/guides/networking/dns/dns-overview/index.md index 514aa9fa711..86d1f0cd985 100644 --- a/docs/guides/networking/dns/dns-overview/index.md +++ b/docs/guides/networking/dns/dns-overview/index.md @@ -106,7 +106,7 @@ An *AAAA record* is just like an A record, but for IPv6 IP addresses. A typical An *AXFR record* is a type of DNS record used for DNS replication, although there are more modern ways to do DNS replication. AXFR records are not used in ordinary zone files. Rather, they are used on a slave DNS server to replicate the zone file from a master DNS server. -For an example of how to configure Linode's nameservers as slave DNS servers using AXFR, see our [guide on configuring DNS in cPanel](/cloud/guides/set-up-dns-services-on-cpanel/#using-linodes-dns-manager-as-a-secondary-server). +For an example of how to configure Linode's nameservers as slave DNS servers using AXFR, see our [guide on configuring DNS in cPanel](/cloud/guides/set-up-dns-services-on-cpanel#using-linodes-dns-manager-as-a-secondary-server). ### CAA @@ -144,7 +144,7 @@ An *MX record* or *mail exchanger record* sets the mail delivery destination for The above records direct mail for *example.com* to the *mail.example.com* server. The target domain (`mail.example.com` above) needs to have its own A record that resolves to your Linode. An MX record should ideally point to a domain that is also the [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) for its server. -Your MX records don't necessarily have to point to your Linode. If you're using a third-party mail service like [Google Workspace](/cloud/guides/using-google-workspace-for-email/), you should use the MX records they provide. +Your MX records don't necessarily have to point to your Linode. If you're using a third-party mail service like [Google Workspace](/cloud/guides/using-google-workspace-for-email), you should use the MX records they provide. *Priority* is another component of MX records. This is the number written between the record type and the target server (10 in the example above). Priority allows you to designate a fallback server (or servers) for mail for a particular domain. Lower numbers have a higher priority. Here's an example of a domain that has two fallback mail servers: diff --git a/docs/guides/networking/dns/dns-primary-and-secondary-server-setup/index.md b/docs/guides/networking/dns/dns-primary-and-secondary-server-setup/index.md index c8cd5018d3a..5584df321a3 100644 --- a/docs/guides/networking/dns/dns-primary-and-secondary-server-setup/index.md +++ b/docs/guides/networking/dns/dns-primary-and-secondary-server-setup/index.md @@ -27,7 +27,7 @@ Our guide [An Introduction to DNS on Linux](/cloud/guides/introduction-to-dns-on 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your systems. Also set the timezone, configure your hostnames, and create limited user accounts. To follow along with this guide, give your servers the hostnames `ns2` and `ns3`. Make them part of the `yourdomainhere.com` domain (e.g. `ns2.yourdomainhere.com` and `ns3.yourdomainhere.com`, replacing `yourdomainhere.com` with your actual domain name). Also be sure to configure the hosts files with your hostnames and external IP addresses. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prepare the Primary DNS Server diff --git a/docs/guides/networking/dns/how-to-set-up-cloudflare-with-linode/index.md b/docs/guides/networking/dns/how-to-set-up-cloudflare-with-linode/index.md index 21f7bb32d43..3ecc75e33d3 100644 --- a/docs/guides/networking/dns/how-to-set-up-cloudflare-with-linode/index.md +++ b/docs/guides/networking/dns/how-to-set-up-cloudflare-with-linode/index.md @@ -10,7 +10,7 @@ keywords: ["cloudflare", "dns"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Cloudflare Support](https://support.cloudflare.com/hc/en-us)' - - '[DNS Records: An Introduction](/cloud/guides/dns-overview/)' + - '[DNS Records: An Introduction](/cloud/guides/dns-overview)' tags: ["dns","networking"] aliases: [] --- @@ -77,7 +77,7 @@ Cloudflare offers a free tier of service which enables the benefits described in The table displays an *orange cloud* icon for hostnames that will be routed through Cloudflare's network. A *gray cloud* denotes hostnames which bypass Cloudflare's network. You can toggle between these two options. Consult [Cloudflare's documentation](https://support.cloudflare.com/hc/en-us/articles/200169626-What-subdomains-are-appropriate-for-orange-gray-clouds-) to determine which services you should route through their network. -1. Change the [name servers](/cloud/guides/dns-overview/#name-servers) configured with your domain registrar to the ones listed under the *To* heading. This sets Cloudflare's nameservers as the [*authoritative name servers*](https://en.wikipedia.org/wiki/Name_server#Authoritative_name_server) for your domain: +1. Change the [name servers](/cloud/guides/dns-overview#name-servers) configured with your domain registrar to the ones listed under the *To* heading. This sets Cloudflare's nameservers as the [*authoritative name servers*](https://en.wikipedia.org/wiki/Name_server#Authoritative_name_server) for your domain: ![Cloudflare setup - authoritative name servers](cloudflare-setup-name-servers.png "Cloudflare setup - authoritative name servers") @@ -115,7 +115,7 @@ In total, there are four different SSL modes: If your web server is configured to redirect all HTTP requests to HTTPS while using Cloudflare's Flexible SSL mode, visitors may encounter a redirect loop when attempting to view your site. {{< /note >}} -- **Full SSL**: All connections between your site visitors and the edge servers will be redirected to HTTPS, and the edge servers will open HTTPS connections to your origin server. This option requires that you set up SSL on your origin web server with, at minimum, a [self-signed certificate](/cloud/guides/create-a-self-signed-tls-certificate/). The certificate you use on the origin server will not be validated by Cloudflare. +- **Full SSL**: All connections between your site visitors and the edge servers will be redirected to HTTPS, and the edge servers will open HTTPS connections to your origin server. This option requires that you set up SSL on your origin web server with, at minimum, a [self-signed certificate](/cloud/guides/create-a-self-signed-tls-certificate). The certificate you use on the origin server will not be validated by Cloudflare. - **Full SSL (strict)**: All connections between your site visitors and the edge servers will be redirected to HTTPS, and the edge servers will open HTTPS connections to your origin server. This option requires that you set up SSL on your origin web server with a certificate authority that Cloudflare can validate. A valid certificate can be obtained through [Let's Encrypt](https://letsencrypt.org), or directly from [Cloudflare](https://blog.cloudflare.com/cloudflare-ca-encryption-origin/). @@ -140,13 +140,13 @@ Certificates from Cloudflare's Origin CA are only trusted within the Cloudflare Copy the contents of each into two separate files on your computer: name the certificate file `example.com.pem`, and the private key file `example.com.key`. Substitute your domain name for `example.com` in those filenames. -1. Upload these files to your Linode. You can upload files by using an SFTP client like [FileZilla](/cloud/guides/filezilla/) or you can use the command line tool [rsync](/cloud/guides/introduction-to-rsync/). +1. Upload these files to your Linode. You can upload files by using an SFTP client like [FileZilla](/cloud/guides/filezilla) or you can use the command line tool [rsync](/cloud/guides/introduction-to-rsync). 1. Configure your Linode's web server software to listen on port `443` (HTTPS) to use the new certificate and private key. Instructions for doing this can vary depending on which web server software you use: - Cloudflare has a number of guides for installing the Origin CA certificate with different software packages. Consult their [documentation](https://support.cloudflare.com/hc/en-us/sections/207182687-Origin-CA) for instructions. - - You can also adapt instructions from Linode's various [SSL Certificate guides](/cloud/guides/security/ssl/). + - You can also adapt instructions from Linode's various [SSL Certificate guides](/cloud/guides/security/ssl). 1. Be sure to restrict the file permissions of your certificate and private key files on your Linode so that only your web server process can read them. For example, if your files are stored in the directory `/etc/ssl/certs/example.com/`, run: diff --git a/docs/guides/networking/dns/introduction-to-dns-on-linux/index.md b/docs/guides/networking/dns/introduction-to-dns-on-linux/index.md index 49d4a6ada51..75d2797eb3a 100644 --- a/docs/guides/networking/dns/introduction-to-dns-on-linux/index.md +++ b/docs/guides/networking/dns/introduction-to-dns-on-linux/index.md @@ -113,7 +113,7 @@ The above list is enough for a bare-bones setup, but other common RR types inclu Replace the example IP addresses with your Linode instance's external IPv4 and IPv6 addresses, and `yourdomainhere.com` with your domain name. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Building an Authoritative Server diff --git a/docs/guides/networking/dns/previewing-websites-without-dns/index.md b/docs/guides/networking/dns/previewing-websites-without-dns/index.md index c8b2bff10e6..fbd0c2375d7 100644 --- a/docs/guides/networking/dns/previewing-websites-without-dns/index.md +++ b/docs/guides/networking/dns/previewing-websites-without-dns/index.md @@ -16,7 +16,7 @@ tags: ["dns","networking"] Previewing your website before updating your domain's nameservers allows you to stage and test your setup without redirecting viewers from your live site running on your old host. This is done with an entry to your local system's hosts file. -A hosts file is used to map specific hostnames to IP addresses, and takes precedence over name resolution provided by DNS queries. By manually specifying an IP/hostname pair, web traffic sent to the given domain is directed to the given IP address, regardless of the domain's actual A records. If these terms are unfamiliar, see our [DNS](/cloud/guides/dns-overview/) guide for more information. +A hosts file is used to map specific hostnames to IP addresses, and takes precedence over name resolution provided by DNS queries. By manually specifying an IP/hostname pair, web traffic sent to the given domain is directed to the given IP address, regardless of the domain's actual A records. If these terms are unfamiliar, see our [DNS](/cloud/guides/dns-overview) guide for more information. ## Find Your Linode's IP Address diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-5-lenny/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-5-lenny/index.md index b9b50b3c8f6..9cf2a9f9f9a 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-5-lenny/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname @@ -108,7 +108,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: Rebuild the database and restart NSD each time you edit an existing zone or create a new one. -Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: +Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries). If `dig` is not installed, install the utility by issuing the following command: apt-get install dnsutils diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-6-squeeze/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-6-squeeze/index.md index 3dafa86c446..41ad2725edc 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-6-squeeze/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-6-squeeze/index.md @@ -19,7 +19,7 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname @@ -140,7 +140,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: Rebuild the database and restart NSD each time you edit an existing zone or create a new one. -Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: +Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries). If `dig` is not installed, install the utility by issuing the following command: apt-get install dnsutils diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-13/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-13/index.md index eb047ed3205..22cc37459d3 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-13/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Install Required Software @@ -102,7 +102,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: nsdc rebuild /etc/init.d/nsd restart -Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). Issue the following command to test the DNS server: +Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries). Issue the following command to test the DNS server: dig @localhost www.example.org diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-14/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-14/index.md index 7189c13f388..c75657bf194 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-14/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-14/index.md @@ -20,7 +20,7 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname @@ -106,7 +106,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: nsdc rebuild /etc/init.d/nsd restart -Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). Issue the following command to test the DNS server: +Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries). Issue the following command to test the DNS server: dig @localhost www.example.org diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-04-lucid/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-04-lucid/index.md index af02eaeadef..0a84341e3c6 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname @@ -113,7 +113,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: Rebuild the database and restart NSD each time you edit an existing zone or create a new one. -Test the configuration and functionality of the DNS server using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: +Test the configuration and functionality of the DNS server using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries). If `dig` is not installed, install the utility by issuing the following command: apt-get install dnsutils diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-10-maverick/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-10-maverick/index.md index 9bc7c991898..159534e8ccf 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true NSD is a light-weight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-11-04-natty/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-11-04-natty/index.md index 5d733354372..75eb9e84cdc 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-11-04-natty/index.md @@ -20,7 +20,7 @@ deprecated: true NSD is a light-weight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-12-04/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-12-04/index.md index 9eb838ffe8a..4a0852025d1 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-12-04/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-12-04/index.md @@ -22,7 +22,7 @@ deprecated: true NSD is a lightweight yet full-featured open-source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname @@ -146,7 +146,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: Rebuild the database and restart NSD each time you edit an existing zone or create a new one. -Test the configuration and functionality of the DNS server using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: +Test the configuration and functionality of the DNS server using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries). If `dig` is not installed, install the utility by issuing the following command: apt-get install dnsutils diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-9-10-karmic/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-9-10-karmic/index.md index 1bea35a94b8..1dff9a1cf2b 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Enable Universe Repositories @@ -124,7 +124,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: Rebuild the database and restart NSD each time you edit an existing zone or create a new one. -Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: +Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries). If `dig` is not installed, install the utility by issuing the following command: apt-get install dnsutils diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-5-lenny/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-5-lenny/index.md index 2b4fdf49c9b..258b5683422 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-5-lenny/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname @@ -104,7 +104,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [DNS Fundamentals](/cloud/guides/dns-overview) - [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-6-squeeze/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-6-squeeze/index.md index b647b31de76..5da96321689 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-6-squeeze/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-6-squeeze/index.md @@ -20,7 +20,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname @@ -104,7 +104,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [DNS Fundamentals](/cloud/guides/dns-overview) - [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-13/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-13/index.md index 2df0a3ea52c..d2375009950 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-13/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics#configure-the-etchosts-file) to provide this functionality. ## Install Unbound @@ -104,7 +104,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [DNS Fundamentals](/cloud/guides/dns-overview) - [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-14/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-14/index.md index 6f106ac25aa..8248a97be59 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-14/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-14/index.md @@ -20,7 +20,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname @@ -111,7 +111,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [DNS Fundamentals](/cloud/guides/dns-overview) - [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-15/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-15/index.md index 49b9f3caa26..a2a47905c1c 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-15/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-15/index.md @@ -20,7 +20,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname @@ -111,7 +111,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [DNS Fundamentals](/cloud/guides/dns-overview) - [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-04-lts-lucid/index.md index 2bdd4e7a530..b0fae734e0d 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-04-lts-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname @@ -104,7 +104,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [DNS Fundamentals](/cloud/guides/dns-overview) - [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-10-maverick/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-10-maverick/index.md index 23bbaf2b774..c5d207bb7ad 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname @@ -104,7 +104,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [DNS Fundamentals](/cloud/guides/dns-overview) - [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-11-04-natty/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-11-04-natty/index.md index 7de296f2883..0dc103904c7 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-11-04-natty/index.md @@ -20,7 +20,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname @@ -104,7 +104,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [DNS Fundamentals](/cloud/guides/dns-overview) - [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-12-04-lts-precise-pangolin/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-12-04-lts-precise-pangolin/index.md index 3a43d3a459f..2d6dc083528 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-12-04-lts-precise-pangolin/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-12-04-lts-precise-pangolin/index.md @@ -19,7 +19,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname @@ -103,7 +103,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [DNS Fundamentals](/cloud/guides/dns-overview) - [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-9-10-karmic/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-9-10-karmic/index.md index 55939aa2b20..e854a09e95a 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics#configure-the-etchosts-file) to provide this functionality. ## Install Unbound @@ -112,7 +112,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [DNS Fundamentals](/cloud/guides/dns-overview) - [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/using-your-systems-hosts-file/index.md b/docs/guides/networking/dns/using-your-systems-hosts-file/index.md index 4902b969d05..1d981b905a3 100644 --- a/docs/guides/networking/dns/using-your-systems-hosts-file/index.md +++ b/docs/guides/networking/dns/using-your-systems-hosts-file/index.md @@ -47,7 +47,7 @@ There are various ways to use the hosts file and the types of associations you s A FQDN does not necessarily have any relationship to websites or other services hosted on the server (although it may if you wish). As an example, you might host `www.something.com` on your server, but the system’s FQDN might be `mars.somethingelse.com`. - The domain you assign as your system’s FQDN should have an “A” record in DNS pointing to your Linode’s IPv4 address. For IPv6, you should set up a “AAAA” record in DNS pointing to your Linode’s IPv6 address. For more information on configuring DNS, see our [DNS records](/cloud/guides/dns-overview/) guide. + The domain you assign as your system’s FQDN should have an “A” record in DNS pointing to your Linode’s IPv4 address. For IPv6, you should set up a “AAAA” record in DNS pointing to your Linode’s IPv6 address. For more information on configuring DNS, see our [DNS records](/cloud/guides/dns-overview) guide. - Debian and Ubuntu include a line in their host file for the loopback domain. However, when you change the system's hostname, the loopback domain should be changed too. If you do not, then you'll see the message *sudo: unable to resolve host* when running sudo commands. If you are not using a FQDN like shown above, then all you need to eliminate the sudo message is: diff --git a/docs/guides/networking/ip/how-to-use-the-linux-ip-command/index.md b/docs/guides/networking/ip/how-to-use-the-linux-ip-command/index.md index 1e97241fbe1..e2e4a2b2e3d 100644 --- a/docs/guides/networking/ip/how-to-use-the-linux-ip-command/index.md +++ b/docs/guides/networking/ip/how-to-use-the-linux-ip-command/index.md @@ -33,7 +33,7 @@ The `ip` command is part of the Linux [iproute2](https://en.wikipedia.org/wiki/I 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## ip Command Concepts @@ -167,7 +167,7 @@ lo UNKNOWN 127.0.0.1/8 ::1/128 eth0 UP 178.79.148.108/24 2a01:7e00::f03c:93ff:fe60:5030/64 fe80::f03c:93ff:fe60:5030/64 {{< /output >}} {{< note >}} -There are other methods for determining the IP address of a system. For more information on how to find the IP address of a system, see the guide [How to understand IP addresses](/cloud/guides/how-to-understand-ip-addresses/#finding-your-ip-addresses-via-the-linux-command-line). +There are other methods for determining the IP address of a system. For more information on how to find the IP address of a system, see the guide [How to understand IP addresses](/cloud/guides/how-to-understand-ip-addresses#finding-your-ip-addresses-via-the-linux-command-line). {{< /note >}} ### How to Add or Delete an IP Address diff --git a/docs/guides/networking/linode-network/difference-between-tcp-and-udp/index.md b/docs/guides/networking/linode-network/difference-between-tcp-and-udp/index.md index 2f1643d4a74..955c181b855 100644 --- a/docs/guides/networking/linode-network/difference-between-tcp-and-udp/index.md +++ b/docs/guides/networking/linode-network/difference-between-tcp-and-udp/index.md @@ -23,7 +23,7 @@ The TCP/IP suite divides the communication channel between the source and the de - **Application Layer**: Users directly interact with the networking stack only at the application layer. Applications collect and assemble the data to transmit. Each application chooses the transport protocol that best meets its requirements. Applications such as HTTP and FTP are part of this layer. - **Transport Layer**: This layer establishes a channel for host-to-host communications. The destination can reside either on the local network or on a remote network anywhere in the world. Transport protocols can be either connection oriented or connectionless. A communication port is associated with each application using the transport layer. The main transport protocols are TCP and UDP. -- **Internet Layer**: The internet layer contains the core functionality associated with the modern internet. The Internet Protocol handles implementation of this layer. It constructs IP packets, complete with source and destination *IP addresses*, and transmits them across the network. This layer also handles the routing of packets across the network from source to destination. To learn more about the internet Layer, see our guide [How to Understand and Use IP Addresses](/cloud/guides/how-to-understand-ip-addresses/). +- **Internet Layer**: The internet layer contains the core functionality associated with the modern internet. The Internet Protocol handles implementation of this layer. It constructs IP packets, complete with source and destination *IP addresses*, and transmits them across the network. This layer also handles the routing of packets across the network from source to destination. To learn more about the internet Layer, see our guide [How to Understand and Use IP Addresses](/cloud/guides/how-to-understand-ip-addresses). - **Link Layer**: This layer handles the low-level transmission of packets across the physical layer without the use of routers. An example of a link-layer technology is Ethernet and the *media access control* (MAC) addressing system. The TCP/IP suite is hardware independent and less concerned with the specifics of packet transmission. During transmission, data is passed down from one layer to the next. At each layer, the data is encapsulated inside a new packet with header information for the layer. The application layer sends data to the transport layer, which forwards it to the internet layer. Finally, the link layer physically transmits the data. Upon reception, the order is reversed. Data is passed upward from the link layer until it arrives at the application. A full description and tutorial of the TCP/IP suite is available as an [IETF RFC](https://datatracker.ietf.org/doc/html/rfc1180). diff --git a/docs/guides/networking/linode-network/linux-router-and-ip-forwarding/index.md b/docs/guides/networking/linode-network/linux-router-and-ip-forwarding/index.md index 6b992c731ba..ccff552ba4b 100644 --- a/docs/guides/networking/linode-network/linux-router-and-ip-forwarding/index.md +++ b/docs/guides/networking/linode-network/linux-router-and-ip-forwarding/index.md @@ -53,7 +53,7 @@ To get started, use the Akamai Cloud Compute platform to deploy multiple Compute 1. Confirm that [Network Helper](https://techdocs.akamai.com/cloud-computing/docs/automatically-configure-networking) is enabled and reboot each Compute Instance for the changes to take effect. -1. Log in to each instance and test the connectivity on each Compute Instance to ensure proper configuration. To do this, you can use [SSH](/cloud/guides/connect-to-server-over-ssh/), or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) if utilizing an Akamai Cloud Compute Instance. +1. Log in to each instance and test the connectivity on each Compute Instance to ensure proper configuration. To do this, you can use [SSH](/cloud/guides/connect-to-server-over-ssh), or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) if utilizing an Akamai Cloud Compute Instance. - Ping the VLAN IPv4 address of another system within the same VLAN: @@ -104,7 +104,7 @@ Forwarding is disabled on most Linux systems by default. However, this must be e ``` {{< /note >}} -1. Open the `/etc/sysctl.conf` file using a command-line text editor with `sudo` permissions such as [nano](/cloud/guides/use-nano-to-edit-files-in-linux/): +1. Open the `/etc/sysctl.conf` file using a command-line text editor with `sudo` permissions such as [nano](/cloud/guides/use-nano-to-edit-files-in-linux): ```command {title="Router Instance"} sudo nano /etc/sysctl.conf @@ -330,7 +330,7 @@ Linux network utilities like nftables, iptables, and Firewalld can serve as both By default, iptables rules are ephemeral. To make your configuration changes persistent, install the `iptables-persistent` package. When you do this, the rules saved within `/etc/iptables/rules.v4` (and `rules.v6` for IPv6) are loaded when the system boots up. - You can continue making changes to iptables as normal. When you are ready to save, save the output of [iptables-save](https://linux.die.net/man/8/iptables-save) to the `/etc/iptables/rules.v4` (or `rules.v6`) file. For more information, see the relevant section in the [Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables/#introduction-to-iptables-persistent) guide. + You can continue making changes to iptables as normal. When you are ready to save, save the output of [iptables-save](https://linux.die.net/man/8/iptables-save) to the `/etc/iptables/rules.v4` (or `rules.v6`) file. For more information, see the relevant section in the [Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables#introduction-to-iptables-persistent) guide. ```command {title="Router Instance"} sudo mkdir /etc/iptables | sudo iptables-save | sudo tee /etc/iptables/rules.v4 @@ -368,7 +368,7 @@ The last step is to manually adjust the network configuration settings for each 1. Log in to the [Cloud Manager](https://cloud.linode.com) and disable [Network Helper](https://techdocs.akamai.com/cloud-computing/docs/automatically-configure-networking#enable-or-disable-network-helper) for each non-router Compute Instance you've deployed. While Network Helper was useful for automatically configuring the VLAN IP addresses, the configuration files controlled by Network Helper now need to be manually edited. -1. Log in to each Linux system that is *not* designated as the router. To do so, you can use [SSH](/cloud/guides/connect-to-server-over-ssh/) from the router, or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) if using an Akamai Cloud Compute Instance. +1. Log in to each Linux system that is *not* designated as the router. To do so, you can use [SSH](/cloud/guides/connect-to-server-over-ssh) from the router, or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) if using an Akamai Cloud Compute Instance. 1. Edit the configuration file that contains the settings for the private VLAN interface. The name and location of this file depends on the Linux distribution you are using. See the [Manual Network Configuration on a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance) series of guides and select the specific guide for your distribution. For a system running [ifupdown](https://techdocs.akamai.com/cloud-computing/docs/network-configuration-using-ifupdown) on Debian 12, the network configuration is typically stored within `/etc/network/interfaces`: diff --git a/docs/guides/networking/nfs/how-to-mount-nfs-shares-on-debian-9/index.md b/docs/guides/networking/nfs/how-to-mount-nfs-shares-on-debian-9/index.md index 466cf280a83..b5943daf115 100644 --- a/docs/guides/networking/nfs/how-to-mount-nfs-shares-on-debian-9/index.md +++ b/docs/guides/networking/nfs/how-to-mount-nfs-shares-on-debian-9/index.md @@ -25,7 +25,7 @@ However, be aware that one limitation of NFS (versions 3 and older) is that serv This guide walks you through the setup of two Linodes; one is the NFS server, and the other acting as the client. In this example, both Linodes are in the same data center and will communicate using their private IP addresses, so your data will never leave Linode's network. **Caution**: Other NFS setups can potentially send traffic over the public internet. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites diff --git a/docs/guides/networking/nfs/using-an-nfs-server-on-ubuntu2004/index.md b/docs/guides/networking/nfs/using-an-nfs-server-on-ubuntu2004/index.md index 2afe8ab0800..743df730834 100644 --- a/docs/guides/networking/nfs/using-an-nfs-server-on-ubuntu2004/index.md +++ b/docs/guides/networking/nfs/using-an-nfs-server-on-ubuntu2004/index.md @@ -59,7 +59,7 @@ Due to its flexibility, openness, and simple mechanisms, there are also some dra 1. To complete the server and client configuration, two Linodes are required. One Linode serves as the NFS host and server, while the other acts as a client. Note the IP addresses of both Linodes. Throughout the following sections, replace `server_ip_addr` with the IP address of the NFS server, and `client_ip_addr` with the address of the client. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Configure the NFS Server and Client diff --git a/docs/guides/networking/vpn/configuring-openvpn-client-devices/index.md b/docs/guides/networking/vpn/configuring-openvpn-client-devices/index.md index 4c7e3008316..8dea0c31093 100644 --- a/docs/guides/networking/vpn/configuring-openvpn-client-devices/index.md +++ b/docs/guides/networking/vpn/configuring-openvpn-client-devices/index.md @@ -17,13 +17,13 @@ tags: ["networking","security","vpn"] aliases: [] --- -This guide is the third of a three-part series on setting up a hardened OpenVPN environment. Though it's recommended that you first complete Parts [One](/cloud/guides/set-up-a-hardened-openvpn-server/) and [Two](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server/), this guide stands on its own as a general tutorial for configuring OpenVPN clients on various operating systems. +This guide is the third of a three-part series on setting up a hardened OpenVPN environment. Though it's recommended that you first complete Parts [One](/cloud/guides/set-up-a-hardened-openvpn-server) and [Two](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server), this guide stands on its own as a general tutorial for configuring OpenVPN clients on various operating systems. ![Configuring OpenVPN Client Devices](configuring-openvpn-client-devices.png "Configuring OpenVPN Client Devices") ## Before You Begin -You must already have the client files listed below ready to transfer to the device. **Each client** will need its own copies. If you need client credentials, see the [VPN Certificate Authority](/cloud/guides/set-up-a-hardened-openvpn-server/#vpn-certificate-authority) area of part one of this series. +You must already have the client files listed below ready to transfer to the device. **Each client** will need its own copies. If you need client credentials, see the [VPN Certificate Authority](/cloud/guides/set-up-a-hardened-openvpn-server#vpn-certificate-authority) area of part one of this series. * `client1.key`: Exclusive to this device. * `client1.cert`: Exclusive to this device. @@ -33,7 +33,7 @@ You must already have the client files listed below ready to transfer to the dev ## Transfer Client Credentials -If you will be transferring client credentials to their respective devices over a network, you must use an encrypted transfer protocol such as [SCP or SFTP](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). FTP or telnet should **not** be used because these protocols transfer data in plaintext. Windows has no native SCP or SFTP support. See [our Filezilla guide](/cloud/guides/filezilla/) for transferring the VPN credentials from a Windows computer. +If you will be transferring client credentials to their respective devices over a network, you must use an encrypted transfer protocol such as [SCP or SFTP](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server). FTP or telnet should **not** be used because these protocols transfer data in plaintext. Windows has no native SCP or SFTP support. See [our Filezilla guide](/cloud/guides/filezilla) for transferring the VPN credentials from a Windows computer. Local transfer options are Bluetooth, USB or some other external media. macOS can use iTunes to connect with iOS devices, and a Linux computer needs the package `gvfs-backends` installed to mount Android and iOS devices as external storage. @@ -211,7 +211,7 @@ If the test results show you any IP addresses other than those of your Linode an ## Revoke a VPN Client Certificate -To revoke a client device's access to the VPN, SSH into your VPN server and go back to the EasyRSA root directory. The folder `~/ca` was used in the [VPN Certificate Authority](/cloud/guides/set-up-a-hardened-openvpn-server/#vpn-certificate-authority) section of part one of this series so we'll continue with that location here. +To revoke a client device's access to the VPN, SSH into your VPN server and go back to the EasyRSA root directory. The folder `~/ca` was used in the [VPN Certificate Authority](/cloud/guides/set-up-a-hardened-openvpn-server#vpn-certificate-authority) section of part one of this series so we'll continue with that location here. 1. Change to the `easy-rsa` folder and source `vars`: diff --git a/docs/guides/networking/vpn/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/index.md b/docs/guides/networking/vpn/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/index.md index c4ecaba77d8..89752831196 100644 --- a/docs/guides/networking/vpn/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/index.md +++ b/docs/guides/networking/vpn/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/index.md @@ -31,8 +31,8 @@ Because currently, there is no Shadowsocks package available for Ubuntu or CentO 1. A working firewall is a necessary security measure. Firewall instructions [are provided](#open-firewall-port-for-shadowsocks-client) for UFW, FirewallD, and Iptables. To configure a firewall on a Linode, visit one of the following guides: - * [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) - * [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) + * [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) + * [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos) ## What Is SOCKS5 Proxy Service? SOCKS5 is an internet protocol of SOCKS that helps to route packets through a proxy between a client and a server. To carry out a secure communication, SOCKS5 uses three different modes of authentication: Null authentication, GSS-API based authentication, and a username-password based authentication. diff --git a/docs/guides/networking/vpn/install-openvpn-access-server-on-linux/index.md b/docs/guides/networking/vpn/install-openvpn-access-server-on-linux/index.md index 80e14fd9a33..3db5b3e2b7f 100644 --- a/docs/guides/networking/vpn/install-openvpn-access-server-on-linux/index.md +++ b/docs/guides/networking/vpn/install-openvpn-access-server-on-linux/index.md @@ -25,7 +25,7 @@ OpenVPN Access Server requires a paid license to use more than two connected dev - Ensure that you have not already installed OpenVPN before starting this guide. - Ensure that you have root access to your Linode or a user account with `sudo` privilege. For information about creating a user account with `sudo` privilege, see [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account). - Update your system. For more information, see [Install Software Updates](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#perform-system-updates). -- Allow TCP traffic through port `943` and UDP through port `1194` on your firewall. For more information, see [Add Rules](/cloud/guides/configure-firewall-with-ufw/#add-rules). +- Allow TCP traffic through port `943` and UDP through port `1194` on your firewall. For more information, see [Add Rules](/cloud/guides/configure-firewall-with-ufw#add-rules). ## Install OpenVPN Access Server @@ -102,7 +102,7 @@ Client UI: https://192.0.2.0:943/ echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.d/99-sysctl.conf sudo sysctl -p -1. OpenVPN does not support simultaneous tunnels over IPv4 and IPv6. Follow these steps to [disable IPv6](/cloud/guides/set-up-a-hardened-openvpn-server/#disable-ipv6) on your Linode. +1. OpenVPN does not support simultaneous tunnels over IPv4 and IPv6. Follow these steps to [disable IPv6](/cloud/guides/set-up-a-hardened-openvpn-server#disable-ipv6) on your Linode. 1. Log in to the Access Server Admin UI and go to **VPN Settings**. In the **Routing** section: @@ -183,7 +183,7 @@ Alternatively, you can manually set DNS resolvers of your choice which are pushe ![DMG Finder Window.](openvpn-download-profile-ubuntu.png) {{< note respectIndent=false >}} -If you are connecting a headless machine to your OpenVPN server, such as another Linode, you will need to use `cURL` or `wget` tool to download the appropriate profile. You can do so by copying the link from the OpenVPN Access Server client page for your required profile, and then pasting it at the end of a `cURL` or [wget](/cloud/guides/download-resources-from-the-command-line-with-wget/) command. +If you are connecting a headless machine to your OpenVPN server, such as another Linode, you will need to use `cURL` or `wget` tool to download the appropriate profile. You can do so by copying the link from the OpenVPN Access Server client page for your required profile, and then pasting it at the end of a `cURL` or [wget](/cloud/guides/download-resources-from-the-command-line-with-wget) command. {{< /note >}} 1. Copy the downloaded profile to your `/etc/openvpn` folder and rename it to `client.conf`. Replace `~/Downloads/client.ovpn` with the location of your download folder, if necessary. diff --git a/docs/guides/networking/vpn/pritunl-vpn-ubuntu/index.md b/docs/guides/networking/vpn/pritunl-vpn-ubuntu/index.md index a8fa71653b7..e8866dd962f 100644 --- a/docs/guides/networking/vpn/pritunl-vpn-ubuntu/index.md +++ b/docs/guides/networking/vpn/pritunl-vpn-ubuntu/index.md @@ -18,7 +18,7 @@ deprecated: true Pritunl is an open source VPN server and management panel. It gives the user the power of the OpenVPN protocol while using an intuitive web interface. This tutorial will show you how to install, configure, and connect to Pritunl VPN. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the sudo command, reference the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the sudo command, reference the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-centos-6/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-centos-6/index.md index 10fa0498188..dbe9af63d86 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-centos-6/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-centos-6/index.md @@ -27,7 +27,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. +Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Installing OpenVPN @@ -117,7 +117,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should be transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. +You can use the `scp` tool or any [other means of transferring](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server). Be advised, these keys should be transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. Typically we recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the PGP tool. diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-5-lenny/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-5-lenny/index.md index 75f0235d39e..3fe1e231fd2 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-5-lenny/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-5-lenny/index.md @@ -22,7 +22,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package, which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. +Before installing OpenVPN, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Install OpenVPN @@ -105,7 +105,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. We recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the GPG tool. +You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. We recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the GPG tool. The keys and certificates for the server need to be relocated to the `/etc/openvpn` directory so the OpenVPN server process can access them. These files are: diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-6-squeeze/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-6-squeeze/index.md index 300706a6d88..2bd5f34ea8c 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-6-squeeze/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-6-squeeze/index.md @@ -22,7 +22,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package, which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. +Before installing OpenVPN, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Install OpenVPN @@ -105,7 +105,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. We recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the GPG tool. +You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. We recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the GPG tool. The keys and certificates for the server need to be relocated to the `/etc/openvpn` directory so the OpenVPN server process can access them. These files are: diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-04-lucid/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-04-lucid/index.md index daa06f1f853..32d102c785d 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-04-lucid/index.md @@ -22,7 +22,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. +Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Installing OpenVPN @@ -105,7 +105,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. +You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. Typically we recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the PGP tool. diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-10-maverick/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-10-maverick/index.md index d9a3484f370..d64cbae1702 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-10-maverick/index.md @@ -22,7 +22,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. +Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Installing OpenVPN @@ -105,7 +105,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. +You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. Typically we recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the PGP tool. diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/index.md index 6981ec11351..c378b6e4d96 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/index.md @@ -25,10 +25,10 @@ deprecated: true OpenVPN, or Open Virtual Private Network, is a tool for creating networking tunnels between and among groups of computers that are not on the same local network. This is useful if you want to remotely access services on a local network without making them publicly accessible. By integrating with OpenSSL, OpenVPN can encrypt all VPN traffic to provide a secure connection between machines. -Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [Introduction to Linux Concepts Guide](/cloud/guides/introduction-to-linux-concepts/), [Beginner's Guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [Administration Basics Guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing on your Linode, you might be interested in our [Security Basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. +Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [Introduction to Linux Concepts Guide](/cloud/guides/introduction-to-linux-concepts), [Beginner's Guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [Administration Basics Guide](/cloud/guides/linux-system-administration-basics). If you're concerned about securing on your Linode, you might be interested in our [Security Basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. {{< note >}} -For many private networking tasks, we suggest that you consider the functions of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. For example, see [Using SSHFS on Linux and Mac OS X](/cloud/guides/using-sshfs-on-linux/) or our guide on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) for more information. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. +For many private networking tasks, we suggest that you consider the functions of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. For example, see [Using SSHFS on Linux and Mac OS X](/cloud/guides/using-sshfs-on-linux) or our guide on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing) for more information. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. {{< /note >}} ## How OpenVPN Works @@ -135,7 +135,7 @@ This will be followed by a quantity of seemingly random output. Once it brings y Move all of the secure keys to their proper locations by following these instructions: -1. The `/etc/openvpn/easy-rsa/keys/` directory contains all of the keys and certificates for the server and its clients generated using the `easy-rsa` tools. Copy the following certificate and key files to the remote client machines, using **scp** or another [means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server): +1. The `/etc/openvpn/easy-rsa/keys/` directory contains all of the keys and certificates for the server and its clients generated using the `easy-rsa` tools. Copy the following certificate and key files to the remote client machines, using **scp** or another [means of transferring](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server): - `ca.crt` - `client1.crt` diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-9-10-karmic/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-9-10-karmic/index.md index e3b9616d8c7..0f74ab52edd 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-9-10-karmic/index.md @@ -22,7 +22,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. +Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Installing OpenVPN @@ -105,7 +105,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. +You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. Typically we recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the PGP tool. diff --git a/docs/guides/networking/vpn/set-up-a-hardened-openvpn-server/index.md b/docs/guides/networking/vpn/set-up-a-hardened-openvpn-server/index.md index 5e3db42543f..ea852b5d6e8 100644 --- a/docs/guides/networking/vpn/set-up-a-hardened-openvpn-server/index.md +++ b/docs/guides/networking/vpn/set-up-a-hardened-openvpn-server/index.md @@ -23,7 +23,7 @@ An OpenVPN connection consists of two flow channels between the server and clien This guide is the first of a three-part series. Part one sets up a VPN server on Debian and prepares the access credentials for client devices. This VPN can be used to host internal services such as websites, game servers or file servers. -[Part two](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server/) shows you how to set up a routed VPN so all traffic from client devices is tunneled through your Linode to the internet. [Part three](/cloud/guides/configuring-openvpn-client-devices/) takes you through setting up the client-side software for various operating systems, including mobile platforms. +[Part two](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server) shows you how to set up a routed VPN so all traffic from client devices is tunneled through your Linode to the internet. [Part three](/cloud/guides/configuring-openvpn-client-devices) takes you through setting up the client-side software for various operating systems, including mobile platforms. ## Before You Begin @@ -47,7 +47,7 @@ You can manage the OpenVPN environment in [two ways](https://openvpn.net/index.p For small applications, OpenVPN Access Server is the more streamlined and user-friendly solution. The free version allows up to two simultaneous users. Although each user can have as many client devices as they like, a user's clients will all have the same keys and certificates; more can be added by buying licensing. For more advanced configurations than what the GUI offers, you would still need to edit the VPN's configuration files. -If you are interested in running OpenVPN Access Server on your Linode, see our guide: [Secure Communications with OpenVPN Access Server](/cloud/guides/install-openvpn-access-server-on-linux/). **The remainder of *this* guide will focus on manual configuration using OpenVPN Community Edition.** +If you are interested in running OpenVPN Access Server on your Linode, see our guide: [Secure Communications with OpenVPN Access Server](/cloud/guides/install-openvpn-access-server-on-linux). **The remainder of *this* guide will focus on manual configuration using OpenVPN Community Edition.** ## Networking Configuration @@ -457,4 +457,4 @@ Use `sudo journalctl -f | grep vpn` to monitor the logs of your OpenVPN server i You should now have an operational OpenVPN server and a set of certificate/key pairs for your desired client devices. If you intend to use your OpenVPN server as an extension of your local network, or for hosting services you want to access from your LAN, you would need to configure the specific applications for your use. -If you want your VPN server to forward and receive traffic to/from the internet on behalf of VPN clients, see part two of this series: [Tunnel Your Internet Traffic Through an OpenVPN Server](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server/). To set up the connecting client devices, see part three: [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices/). +If you want your VPN server to forward and receive traffic to/from the internet on behalf of VPN clients, see part two of this series: [Tunnel Your Internet Traffic Through an OpenVPN Server](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server). To set up the connecting client devices, see part three: [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices). diff --git a/docs/guides/networking/vpn/set-up-a-streisand-gateway/index.md b/docs/guides/networking/vpn/set-up-a-streisand-gateway/index.md index 92a04830c09..d41e1d78f7e 100644 --- a/docs/guides/networking/vpn/set-up-a-streisand-gateway/index.md +++ b/docs/guides/networking/vpn/set-up-a-streisand-gateway/index.md @@ -20,7 +20,7 @@ aliases: [] Setting up a personal Virtual Private Network (VPN) server is a great way to avoid internet censorship, surveillance, or geolocation. Using your own server allows you to choose any protocol you want, and to have full control over the security and privacy of your connection. -However, the configuration process is time-consuming, especially for those with little experience working with remote servers. For example, Linode's guide on setting up a hardened OpenVPN server and client is a [three](/cloud/guides/set-up-a-hardened-openvpn-server/) [part](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server/) [series](/cloud/guides/configuring-openvpn-client-devices/). +However, the configuration process is time-consuming, especially for those with little experience working with remote servers. For example, Linode's guide on setting up a hardened OpenVPN server and client is a [three](/cloud/guides/set-up-a-hardened-openvpn-server) [part](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server) [series](/cloud/guides/configuring-openvpn-client-devices). [Streisand](https://github.com/jlund/streisand) attempts to simplify this process and offer painless, high-quality security. The Streisand script creates a Linode and automatically configures OpenVPN, Shadowsocks, OpenConnect, L2TP/IPSec, Wireguard ®, a Tor bridge, and SSH. Once the server is set up, users can connect to a gateway containing detailed, personalized instructions for connecting to each of these services. diff --git a/docs/guides/networking/vpn/strongswan-vpn-server-install/index.md b/docs/guides/networking/vpn/strongswan-vpn-server-install/index.md index 9b722b00ac5..900cd197540 100644 --- a/docs/guides/networking/vpn/strongswan-vpn-server-install/index.md +++ b/docs/guides/networking/vpn/strongswan-vpn-server-install/index.md @@ -29,14 +29,14 @@ The steps in this section show you how to install and configure a StrongSwan gat sudo apt-get update && sudo apt-get upgrade {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ### Install StrongSwan -1. [SSH into your Ubuntu 20.04 server](/cloud/guides/connect-to-server-over-ssh-on-linux/). +1. [SSH into your Ubuntu 20.04 server](/cloud/guides/connect-to-server-over-ssh-on-linux). -1. [Use APT](/cloud/guides/apt-package-manager/) to install StrongSwan and the supporting plugins and libraries. +1. [Use APT](/cloud/guides/apt-package-manager) to install StrongSwan and the supporting plugins and libraries. sudo apt install strongswan strongswan-pki libcharon-extra-plugins libcharon-extauth-plugins libstrongswan-extra-plugins libtss2-tcti-tabrmd0 -y @@ -296,7 +296,7 @@ The client authentication process relies on the `ipsec.secrets` file located on #### Importing the VPN Root Certificate on macOS -1. Download the `ca.cert.pem` file from the StrongSwan gateway VPN server host to your macOS computer [using scp](/cloud/guides/download-files-from-a-compute-instance/#download-files-with-scp). +1. Download the `ca.cert.pem` file from the StrongSwan gateway VPN server host to your macOS computer [using scp](/cloud/guides/download-files-from-a-compute-instance#download-files-with-scp). 1. Click on the downloaded file to open **Keychain Access**. Provide your user's administrative password, to accept the certificate. Then, click **Modify Keychain**. @@ -322,7 +322,7 @@ The client authentication process relies on the `ipsec.secrets` file located on - Connection problems are frequently due to mismatched username and passwords between the host gateway VPN server (`/etc/ipsec.secrets`) and the VPN client settings. -- Connection issues can also be caused by your firewall settings. Ensure you [check your system's firewall settings](/cloud/guides/configure-firewall-with-ufw/) when troubleshooting. +- Connection issues can also be caused by your firewall settings. Ensure you [check your system's firewall settings](/cloud/guides/configure-firewall-with-ufw) when troubleshooting. - Finally, check your StrongSwan VPN server's log file (`/var/log/syslog`) to further investigate connection issues. diff --git a/docs/guides/networking/vpn/tunnel-your-internet-traffic-through-an-openvpn-server/index.md b/docs/guides/networking/vpn/tunnel-your-internet-traffic-through-an-openvpn-server/index.md index 25432c9d868..ba3e9024497 100644 --- a/docs/guides/networking/vpn/tunnel-your-internet-traffic-through-an-openvpn-server/index.md +++ b/docs/guides/networking/vpn/tunnel-your-internet-traffic-through-an-openvpn-server/index.md @@ -22,7 +22,7 @@ Commonly, a VPN tunnel is used to privately access the internet, evading censors ## Before You Begin -This guide is the second-part of a three-part series on setting up a hardened OpenVPN environment. The guide assumes that you already have an OpenVPN server running. If you do not: complete part one of the series: [Set Up a Hardened OpenVPN Server with Debian](/cloud/guides/set-up-a-hardened-openvpn-server/). If you found this page looking for information about VPN client device configuration, see Part Three: [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices/). +This guide is the second-part of a three-part series on setting up a hardened OpenVPN environment. The guide assumes that you already have an OpenVPN server running. If you do not: complete part one of the series: [Set Up a Hardened OpenVPN Server with Debian](/cloud/guides/set-up-a-hardened-openvpn-server). If you found this page looking for information about VPN client device configuration, see Part Three: [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices). ## OpenVPN Configuration @@ -52,7 +52,7 @@ OpenVPN's server-side configuration file is: `/etc/openvpn/server.conf`, and req ## Append Networking Rules -In [Part One](/cloud/guides/set-up-a-hardened-openvpn-server/) of this series, we set iptables rules so the OpenVPN server could only accept client connections, SSH, and make system updates, all over IPv4. [IPv6 was disabled](/cloud/guides/set-up-a-hardened-openvpn-server/#disable-ipv6) since OpenVPN doesn't support using both transport layers simultaneously. Leaving IPv6 disabled here prevents leaking v6 traffic which would otherwise be sent separately from your VPN's v4 tunnel. +In [Part One](/cloud/guides/set-up-a-hardened-openvpn-server) of this series, we set iptables rules so the OpenVPN server could only accept client connections, SSH, and make system updates, all over IPv4. [IPv6 was disabled](/cloud/guides/set-up-a-hardened-openvpn-server#disable-ipv6) since OpenVPN doesn't support using both transport layers simultaneously. Leaving IPv6 disabled here prevents leaking v6 traffic which would otherwise be sent separately from your VPN's v4 tunnel. {{< note type="alert" >}} The steps below will overwrite any custom IPv4 firewall rules you may have. {{< /note >}} @@ -149,4 +149,4 @@ COMMIT ## Next Steps -Server-side configuration is complete but now the VPN clients need to be set up. Move on to part three: [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices/). +Server-side configuration is complete but now the VPN clients need to be set up. Move on to part three: [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices). diff --git a/docs/guides/networking/vpn/vpn-firewall-killswitch-for-linux-and-macos-clients/index.md b/docs/guides/networking/vpn/vpn-firewall-killswitch-for-linux-and-macos-clients/index.md index 8ff14860efe..37ea0a9f826 100644 --- a/docs/guides/networking/vpn/vpn-firewall-killswitch-for-linux-and-macos-clients/index.md +++ b/docs/guides/networking/vpn/vpn-firewall-killswitch-for-linux-and-macos-clients/index.md @@ -24,11 +24,11 @@ For this reason, VPN clients often use firewall rules to ensure that internet tr This guide assumes that you already have an OpenVPN server running on your Linode, and have at least one client configured to connect to it. If you need help doing this, see our three-part series on setting up an OpenVPN environment: -1. [Set Up a Hardened OpenVPN Server with Debian](/cloud/guides/set-up-a-hardened-openvpn-server/) +1. [Set Up a Hardened OpenVPN Server with Debian](/cloud/guides/set-up-a-hardened-openvpn-server) -2. [Tunnel Your Internet Traffic Through an OpenVPN Server](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server/) +2. [Tunnel Your Internet Traffic Through an OpenVPN Server](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server) -3. [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices/) +3. [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices) ## Gather Client Device Information @@ -107,7 +107,7 @@ iptables -A OUTPUT -j ACCEPT -o tun0 This ruleset replaces the pre-exiting iptables rules and instructs the firewall to drop every outgoing connection other than loopback traffic, the local network's subnet and UDP traffic to and from your OpenVPN server's IP on port 1194. In addition, all incoming and outgoing connections are allowed over the virtual network interface `tun0`. -Your VPN firewall is now active, but this ruleset is only temporary and will be cleared when you reboot your Linode. To make the firewall permanent, you can install the `iptables-persistent` package for Debian or Ubuntu-based distributions, or you can see our [iptables](/cloud/guides/control-network-traffic-with-iptables/#deploy-your-iptables-rulesets) or [Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/#constructing-a-ruleset-with-firewalld) guides to create permanent rulesets and/or profiles. +Your VPN firewall is now active, but this ruleset is only temporary and will be cleared when you reboot your Linode. To make the firewall permanent, you can install the `iptables-persistent` package for Debian or Ubuntu-based distributions, or you can see our [iptables](/cloud/guides/control-network-traffic-with-iptables#deploy-your-iptables-rulesets) or [Firewalld](/cloud/guides/introduction-to-firewalld-on-centos#constructing-a-ruleset-with-firewalld) guides to create permanent rulesets and/or profiles. ### VPN Firewall using ufw {{< note type="alert" >}} diff --git a/docs/guides/platform/migrate-to-linode/best-practices-when-migrating-to-linode/index.md b/docs/guides/platform/migrate-to-linode/best-practices-when-migrating-to-linode/index.md index 442c60d3d4b..7b032ceb330 100644 --- a/docs/guides/platform/migrate-to-linode/best-practices-when-migrating-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/best-practices-when-migrating-to-linode/index.md @@ -12,7 +12,7 @@ tags: ["linode platform"] aliases: [] --- -This guide describes the recommended strategy for migrating your services from another host to Linode. The specific steps you need to carry out vary depending on the software you use. However, the high-level outline is generally the same regardless of the nature of your service. The [Migrate to Linode](/cloud/guides/platform/migrate-to-linode/) section offers other guides which describe migrating particular services in more detail. +This guide describes the recommended strategy for migrating your services from another host to Linode. The specific steps you need to carry out vary depending on the software you use. However, the high-level outline is generally the same regardless of the nature of your service. The [Migrate to Linode](/cloud/guides/platform/migrate-to-linode) section offers other guides which describe migrating particular services in more detail. ## Deciding on a Migration Strategy @@ -40,7 +40,7 @@ There are two considerations when creating a new Linode: which data center the L - To choose a data center location, run speed tests to the different regions that Linode offers from the [speedtest page](http://www.linode.com/speedtest/). This page allows you to download a 100MB file from each location. Compare the speed of each download to determine the bandwidth between your location and the data center. - You can also run [MTR tests](/cloud/guides/diagnosing-network-issues-with-mtr/) to the speed test servers at each location (e.g. `speedtest.dallas.linode.com`). These tests report latency between your location and the data center--a lower latency is more desirable. + You can also run [MTR tests](/cloud/guides/diagnosing-network-issues-with-mtr) to the speed test servers at each location (e.g. `speedtest.dallas.linode.com`). These tests report latency between your location and the data center--a lower latency is more desirable. 1. **Plan Size** @@ -52,18 +52,18 @@ There are two considerations when creating a new Linode: which data center the L If you know which Linux distribution your current host uses, deploy that to the new Linode. If your current deployment uses an older version of a Linux distribution, deploy the newest version available for your new Linode. This ensures the latest security enhancements and software availability. -If your host offers a shared environment and you are not sure which Linux distribution is being used, then you can select any new Linux image. The most commonly used distributions on Linode are Ubuntu, Debian, and CentOS. Most Linux distributions should support the software your service uses, but a few software packages are better-suited to specific distributions. Review Linode's [Guides & Tutorials](/cloud/) to see which guides have been written for the software and distributions you're interested in. +If your host offers a shared environment and you are not sure which Linux distribution is being used, then you can select any new Linux image. The most commonly used distributions on Linode are Ubuntu, Debian, and CentOS. Most Linux distributions should support the software your service uses, but a few software packages are better-suited to specific distributions. Review Linode's [Guides & Tutorials](/cloud) to see which guides have been written for the software and distributions you're interested in. For further details on deploying your new Linux image, follow the [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. It is also recommended that you follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide once you have deployed your new image. ### Install Software -Install the same software stack that is present on your current host on your new Linode. For guidance on how to set up different kinds of software, review Linode's [Guides & Tutorials](/cloud/). +Install the same software stack that is present on your current host on your new Linode. For guidance on how to set up different kinds of software, review Linode's [Guides & Tutorials](/cloud). -If your host provides a shared environment and you're not sure which software is needed, ask your host if they can provide more information about the software they run. For example, WordPress sites are powered by PHP, a web server, and a database, so installing a [LAMP stack](/cloud/guides/web-servers/lamp/) would be sufficient. +If your host provides a shared environment and you're not sure which software is needed, ask your host if they can provide more information about the software they run. For example, WordPress sites are powered by PHP, a web server, and a database, so installing a [LAMP stack](/cloud/guides/web-servers/lamp) would be sufficient. {{< note >}} -You may want to install your software via a [configuration management tool](/cloud/guides/applications/configuration-management/). Configuration management is a method for condensing your installation scripts into a *recipe* that can be run repeatedly. This results in the same deployment every time. Once you've written your recipes, configuration management can greatly speed up creating new deployments and maintenance of existing deployments. These tools also minimize the potential for human error. +You may want to install your software via a [configuration management tool](/cloud/guides/applications/configuration-management). Configuration management is a method for condensing your installation scripts into a *recipe* that can be run repeatedly. This results in the same deployment every time. Once you've written your recipes, configuration management can greatly speed up creating new deployments and maintenance of existing deployments. These tools also minimize the potential for human error. {{< /note >}} ### Back up Your Data @@ -76,27 +76,27 @@ Locate and backup the data on your current host. Identify: If your data is stored in a database, you likely need to perform a *database dump*. This results in a file on disk that encapsulates your database data and can be copied over the network as a normal file: -- [Use mysqldump to Back Up MySQL or MariaDB](/cloud/guides/mysqldump-backups/) -- [Create Physical Backups of your MariaDB or MySQL Databases](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/) -- Use [postgres dump database](/cloud/guides/back-up-a-postgresql-database/) +- [Use mysqldump to Back Up MySQL or MariaDB](/cloud/guides/mysqldump-backups) +- [Create Physical Backups of your MariaDB or MySQL Databases](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases) +- Use [postgres dump database](/cloud/guides/back-up-a-postgresql-database) If your current host is a shared environment and you do not have full administrative/command-line access to it, then your host may offer an alternative method for exporting your data. If this is the case, then you should use those tools to download the data to your local computer or some other accessible location. ### Use rsync to Transfer Your Data to Your Linode -- Transfer your data to your Linode using a network transfer tool like `rsync`. The [Introduction to rsync](/cloud/guides/introduction-to-rsync/) guide is a good place to become more familiar with this tool. +- Transfer your data to your Linode using a network transfer tool like `rsync`. The [Introduction to rsync](/cloud/guides/introduction-to-rsync) guide is a good place to become more familiar with this tool. For example, the following command uploads files from `/path/to/source_folder` on the current host to `/path/to/destination_folder` on the new Linode. Run this command from your current host. Replace `example_user` with the Linux user on your Linode, and `linode_ip_address` with your Linode's IP address: rsync -avzh /path/to/source_folder example_user@linode_ip_address:/path/to/destination_folder -- If your current host is a shared environment and you previously downloaded your data to your computer, then you should upload the data from your computer to your Linode. You can use an SFTP tool like [FileZilla](/cloud/guides/filezilla/), which has clients available for Windows, Mac, and Linux. +- If your current host is a shared environment and you previously downloaded your data to your computer, then you should upload the data from your computer to your Linode. You can use an SFTP tool like [FileZilla](/cloud/guides/filezilla), which has clients available for Windows, Mac, and Linux. - If you have uploaded a database dump file to your new Linode, you also need to *restore* the dump file so that your database software can use the data normally. The database guides linked to in the [Back up Your Data](#back-up-your-data) section include instructions for restoring those files. ### Test the New Environment -When you have finished setting up your software and restoring your data, test the installation to make sure it works normally. At this point, you have not yet updated DNS records to point to your Linode deployment, but there are still methods for [previewing your services without DNS](/cloud/guides/previewing-websites-without-dns/). +When you have finished setting up your software and restoring your data, test the installation to make sure it works normally. At this point, you have not yet updated DNS records to point to your Linode deployment, but there are still methods for [previewing your services without DNS](/cloud/guides/previewing-websites-without-dns). Take this time to perform load testing on your new service. [ApacheBench](https://en.wikipedia.org/wiki/ApacheBench) is a popular benchmarking tool for web services. If you discover that the hardware resource plan you chose originally is not enough when completing these load tests, then resize your plan and continue testing. diff --git a/docs/guides/platform/migrate-to-linode/how-to-migrate-from-gcp-to-linode/index.md b/docs/guides/platform/migrate-to-linode/how-to-migrate-from-gcp-to-linode/index.md index d16e8659694..489050a624b 100644 --- a/docs/guides/platform/migrate-to-linode/how-to-migrate-from-gcp-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/how-to-migrate-from-gcp-to-linode/index.md @@ -29,7 +29,7 @@ There are three general strategies for migrating from another hosting provider: - If you use configuration management and orchestration tools, like Ansible, Salt, Chef, and Terraform, you can use the same tools to deploy a new Linode instance. You can use your existing configuration management files as a foundation to deploy Linode instances with the same configurations used by your GCP instance. - We have an extensive [configuration management section](/cloud/applications/configuration-management/) in our Guides and Tutorials library that you can use to get started with your preferred tool. + We have an extensive [configuration management section](/cloud/applications/configuration-management) in our Guides and Tutorials library that you can use to get started with your preferred tool. 1. **Migration Strategy 3: Transfer your Disk Images - Not Recommended** @@ -47,7 +47,7 @@ There are two considerations when creating a new Linode: which data center the L - To choose a data center location, run speed tests to the different regions that Linode offers from the [speedtest page](http://www.linode.com/speedtest/). This page allows you to download a 100MB file from each location. Compare the speed of each download to determine the bandwidth between your location and the data center. - You can also run [MTR tests](/cloud/guides/diagnosing-network-issues-with-mtr/) to the speed test servers at each location (e.g. `speedtest.dallas.linode.com`). These tests will report latency between your location and the data center--a lower latency is more desirable. + You can also run [MTR tests](/cloud/guides/diagnosing-network-issues-with-mtr) to the speed test servers at each location (e.g. `speedtest.dallas.linode.com`). These tests will report latency between your location and the data center--a lower latency is more desirable. 1. **Plan Size** @@ -67,9 +67,9 @@ For further details on deploying your new Linux image, follow the [Getting Start apt list --installed -1. Once you have identified the software you would like to migrate to your Linode, you can reference our [Guides & Tutorials](/cloud/) to learn how to set up your system's software on your new Linode. +1. Once you have identified the software you would like to migrate to your Linode, you can reference our [Guides & Tutorials](/cloud) to learn how to set up your system's software on your new Linode. - For example, if your GCP instance is used to run a WordPress site, you should [install WordPress](/cloud/guides/install-wordpress-ubuntu-18-04/), [PHP, MySQl, and Apache](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) or [Nginx](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) (web server) on your Linode instance. + For example, if your GCP instance is used to run a WordPress site, you should [install WordPress](/cloud/guides/install-wordpress-ubuntu-18-04), [PHP, MySQl, and Apache](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) or [Nginx](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04) (web server) on your Linode instance. ### Create a Snapshot of your GCP Data @@ -81,13 +81,13 @@ Locate and backup the data on your GCP instance by [creating a snapshot](https:/ If your data is stored in a database, you will likely need to perform a *database dump*. This will result in a file on disk that encapsulates your database data and can be copied over the network as a normal file: -- [Use mysqldump to Back Up MySQL or MariaDB](/cloud/guides/mysqldump-backups/) -- [Create Physical Backups of your MariaDB or MySQL Databases](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/) -- Use [postgres dump database](/cloud/guides/back-up-a-postgresql-database/) +- [Use mysqldump to Back Up MySQL or MariaDB](/cloud/guides/mysqldump-backups) +- [Create Physical Backups of your MariaDB or MySQL Databases](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases) +- Use [postgres dump database](/cloud/guides/back-up-a-postgresql-database) ### Use rsync to Transfer Your GCP Data to Your Linode -- Transfer your data to your Linode using a network transfer tool like `rsync`. The [Introduction to rsync](/cloud/guides/introduction-to-rsync/) guide is a good place to become more familiar with this tool. +- Transfer your data to your Linode using a network transfer tool like `rsync`. The [Introduction to rsync](/cloud/guides/introduction-to-rsync) guide is a good place to become more familiar with this tool. For example, the following command will upload files from `/path/to/source_folder` on the current host to `/path/to/destination_folder` on the new Linode. Run this command from your current GCP instance. Replace `example_user` with the Linux user on your Linode, and `linode_ip_address` with your Linode's IP address: @@ -97,7 +97,7 @@ If your data is stored in a database, you will likely need to perform a *databas ### Test the New Environment -When you have finished setting up your software and restoring your data, test the installation to make sure it works normally. At this point, you have not yet updated DNS records to point to your Linode deployment, but there are still methods for [previewing your services without DNS](/cloud/guides/previewing-websites-without-dns/). +When you have finished setting up your software and restoring your data, test the installation to make sure it works normally. At this point, you have not yet updated DNS records to point to your Linode deployment, but there are still methods for [previewing your services without DNS](/cloud/guides/previewing-websites-without-dns). Take this time to perform load testing on your new service. [ApacheBench](https://en.wikipedia.org/wiki/ApacheBench) is a popular benchmarking tool for web services. If you discover that the hardware resource plan you chose originally is not enough when completing these load tests, then [resize your plan](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) and continue testing. @@ -107,9 +107,9 @@ When you have finished testing, move on to the last step in migrating: updating If you are managing your GCP instance with configuration management and orchestration tools, you can use the same tools to manage your Linode. This means you can use configuration management tools to execute a migration from GCP to Linode. At a high-level this process would entail -- Using an orchestration tool, like Terraform, to [deploy a Linode instance(s)](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) of the required size and region. See the [Deploy a New Linode](#deploy-a-new-linode) section of this guide for tips on choosing a Linode data center and plan size. +- Using an orchestration tool, like Terraform, to [deploy a Linode instance(s)](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode) of the required size and region. See the [Deploy a New Linode](#deploy-a-new-linode) section of this guide for tips on choosing a Linode data center and plan size. -- Using a configuration management tool, like Ansible, to [install system software and perform system configurations](/cloud/guides/getting-started-with-ansible/). In many cases, you could use the same configuration management files to configure your Linode. For example, if you were using an [Ansible Playbook](/cloud/guides/running-ansible-playbooks/) to deploy and configure a LAMP stack on your GCP instance, you can likely use the same Playbook to manage your Linode instance. +- Using a configuration management tool, like Ansible, to [install system software and perform system configurations](/cloud/guides/getting-started-with-ansible). In many cases, you could use the same configuration management files to configure your Linode. For example, if you were using an [Ansible Playbook](/cloud/guides/running-ansible-playbooks) to deploy and configure a LAMP stack on your GCP instance, you can likely use the same Playbook to manage your Linode instance. - [Migrating any additional GCP instance data to your new Linode instance using rsync](#use-rsync-to-transfer-your-gcp-data-to-your-linode). @@ -118,9 +118,9 @@ If you are managing your GCP instance with configuration management and orchestr {{< note respectIndent=false >}} The following configuration management and orchestration tools support Linode: -Configuration management tools: [Ansible](/cloud/guides/getting-started-with-ansible/), [Salt](/cloud/guides/beginners-guide-to-salt/), [Chef](/cloud/guides/beginners-guide-chef/), and [Puppet](/cloud/guides/getting-started-with-puppet-6-1-basic-installation-and-setup/) +Configuration management tools: [Ansible](/cloud/guides/getting-started-with-ansible), [Salt](/cloud/guides/beginners-guide-to-salt), [Chef](/cloud/guides/beginners-guide-chef), and [Puppet](/cloud/guides/getting-started-with-puppet-6-1-basic-installation-and-setup) -Orchestration tools: [Pulumi](/cloud/guides/deploy-in-code-with-pulumi/), [Terraform](/cloud/guides/beginners-guide-to-terraform/), [Ansible](/cloud/guides/getting-started-with-ansible/) +Orchestration tools: [Pulumi](/cloud/guides/deploy-in-code-with-pulumi), [Terraform](/cloud/guides/beginners-guide-to-terraform), [Ansible](/cloud/guides/getting-started-with-ansible) {{< /note >}} ## Migration Strategy 3: Transfer your Disk Images @@ -467,7 +467,7 @@ You disabled the Google services from calling out before creating and migrating ### Optional: Transfer Disk to ext4 -As stated above, to take advantage of features like resizing your disks in Cloud Manager and Backup Service, you'll need to move your new disk to an ext4 formatted disk. To do this, follow the procedures in the Make the System Compatible section of the [Install a Custom Distribution on a Linode guide](/cloud/guides/install-a-custom-distribution/#make-the-system-compatible-with-the-linode-platform). +As stated above, to take advantage of features like resizing your disks in Cloud Manager and Backup Service, you'll need to move your new disk to an ext4 formatted disk. To do this, follow the procedures in the Make the System Compatible section of the [Install a Custom Distribution on a Linode guide](/cloud/guides/install-a-custom-distribution#make-the-system-compatible-with-the-linode-platform). ### Cleaning Up diff --git a/docs/guides/platform/migrate-to-linode/migrate-a-lamp-website-to-linode/index.md b/docs/guides/platform/migrate-to-linode/migrate-a-lamp-website-to-linode/index.md index 0ccead566be..3d7e212f05e 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-a-lamp-website-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-a-lamp-website-to-linode/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] --- -This guide describes how to migrate a website running in a [LAMP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#what-is-a-lamp-stack) environment on another host to a new Linode. Read the [Best Practices when Migrating to Linode](/cloud/guides/best-practices-when-migrating-to-linode/) guide prior to following this guide for more information about migrating your site. +This guide describes how to migrate a website running in a [LAMP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04#what-is-a-lamp-stack) environment on another host to a new Linode. Read the [Best Practices when Migrating to Linode](/cloud/guides/best-practices-when-migrating-to-linode) guide prior to following this guide for more information about migrating your site. This guide includes commands that need to be run at the command line of your current host, which may not be available if you have a shared hosting environment. Ubuntu 18.04 is used as the distribution for the new Linode deployment in this guide. If you'd like to choose another distribution, us the examples here as an approximation for the commands you'll need to run. @@ -134,7 +134,7 @@ Go to your Linode's IP address in a web browser. Your website should appear. If your website does not load normally, one possible reason is that your IP address could be hard-coded in some areas of the website files or in the database. If this is the case, consult your PHP application framework's documentation for ways to search for and replace those values. For example, WordPress's [WP-CLI interface](https://developer.wordpress.org/cli/commands/search-replace/) and Drupal's [Drush interface](https://www.drupal.org/project/sar) provide methods that help with this task. -Another reason the site may not load is if your website configuration expects your domain name to be supplied in the HTTP headers of a web request. When you visit your IP directly, this information is not supplied in your request. The [Previewing Websites Without DNS](/cloud/guides/previewing-websites-without-dns/) guide describes a workaround for this issue. When you have updated your DNS records, the workaround will no longer be necessary to view your site. +Another reason the site may not load is if your website configuration expects your domain name to be supplied in the HTTP headers of a web request. When you visit your IP directly, this information is not supplied in your request. The [Previewing Websites Without DNS](/cloud/guides/previewing-websites-without-dns) guide describes a workaround for this issue. When you have updated your DNS records, the workaround will no longer be necessary to view your site. If you are seeing any other errors on your site, try reviewing Apache's error logs for further clues. The locations for these logs will be listed in your `/etc/apache2/apache2.conf` or `/etc/apache2/sites-available/` files. diff --git a/docs/guides/platform/migrate-to-linode/migrate-a-wordpressdotcom-site-to-linode/index.md b/docs/guides/platform/migrate-to-linode/migrate-a-wordpressdotcom-site-to-linode/index.md index fe7cfa39d7b..c75c6f37301 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-a-wordpressdotcom-site-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-a-wordpressdotcom-site-to-linode/index.md @@ -13,9 +13,9 @@ external_resources: aliases: [] --- -This guide describes how to export your content from WordPress.com and self-host your WordPress website on Linode. Read the [Best Practices when Migrating to Linode](/cloud/guides/best-practices-when-migrating-to-linode/) guide prior to following this guide for more information about migrating your site. +This guide describes how to export your content from WordPress.com and self-host your WordPress website on Linode. Read the [Best Practices when Migrating to Linode](/cloud/guides/best-practices-when-migrating-to-linode) guide prior to following this guide for more information about migrating your site. -Ubuntu 18.04 is used as the distribution for the new Linode deployment in this guide. If you'd like to choose another distribution, use the examples here as an approximation for the commands you'll need to run. You will also install either a [LAMP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) or [LEMP](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) environment on your new Linode. +Ubuntu 18.04 is used as the distribution for the new Linode deployment in this guide. If you'd like to choose another distribution, use the examples here as an approximation for the commands you'll need to run. You will also install either a [LAMP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) or [LEMP](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04) environment on your new Linode. {{< note >}} WordPress.com's export feature will export pages, posts, and comments from your site, but it will not export your themes and widgets. You will need to customize your new self-hosted WordPress site's appearance after completing your migration. @@ -29,7 +29,7 @@ WordPress.com's export feature will export pages, posts, and comments from your 1. Follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and create a limited Linux user with `sudo` privileges. -1. Follow the [Install WordPress on Ubuntu 18.04](/cloud/guides/install-wordpress-ubuntu-18-04/) guide to stand up a new web server and WordPress installation. Later in this guide you will use the WordPress credentials you create during the installation, so be sure to record them. +1. Follow the [Install WordPress on Ubuntu 18.04](/cloud/guides/install-wordpress-ubuntu-18-04) guide to stand up a new web server and WordPress installation. Later in this guide you will use the WordPress credentials you create during the installation, so be sure to record them. ### Export Your WordPress.com Content diff --git a/docs/guides/platform/migrate-to-linode/migrate-cpanel-to-linode/index.md b/docs/guides/platform/migrate-to-linode/migrate-cpanel-to-linode/index.md index 3413f6ad647..f40e9872cbc 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-cpanel-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-cpanel-to-linode/index.md @@ -16,7 +16,7 @@ external_resources: aliases: [] --- -This guide describes how to migrate from a server running WHM and cPanel on another hosting service to Linode. This transfer is completed using cPanel's official [Transfer Tool](https://documentation.cpanel.net/display/70Docs/Transfer+Tool). Prior to using the Transfer Tool, you will complete a basic WHM installation on a new Linode. Read the [Best Practices when Migrating to Linode](/cloud/guides/best-practices-when-migrating-to-linode/) guide for more information about migrating your sites before beginning. +This guide describes how to migrate from a server running WHM and cPanel on another hosting service to Linode. This transfer is completed using cPanel's official [Transfer Tool](https://documentation.cpanel.net/display/70Docs/Transfer+Tool). Prior to using the Transfer Tool, you will complete a basic WHM installation on a new Linode. Read the [Best Practices when Migrating to Linode](/cloud/guides/best-practices-when-migrating-to-linode) guide for more information about migrating your sites before beginning. {{< note >}} The Transfer Tool only transfers your cPanel accounts, and not your WHM settings. You will need to recreate your WHM settings on your new Linode separately. @@ -30,9 +30,9 @@ This guide does not cover how to handle cPanel deployments that are part of a DN The first step is to deploy cPanel on the Linode platform. cPanel can be installed and configured on a Linode Compute Instance using one of the following methods: -- **Akamai Quick Deploy Apps:** Deploy the [cPanel App](https://www.linode.com/marketplace/apps/cpanel/cpanel/) through Akamai Quick Deploy Apps to automatically install cPanel/WHM. This is the easiest method and enables you to quickly get up and running without needing to install cPanel manually. Review the [Deploy cPanel through the Linode Marketplace](/cloud/marketplace-docs/guides/cpanel/) guide for more details. +- **Akamai Quick Deploy Apps:** Deploy the [cPanel App](https://www.linode.com/marketplace/apps/cpanel/cpanel/) through Akamai Quick Deploy Apps to automatically install cPanel/WHM. This is the easiest method and enables you to quickly get up and running without needing to install cPanel manually. Review the [Deploy cPanel through the Linode Marketplace](/cloud/marketplace-docs/guides/cpanel) guide for more details. -- **Manual Installation:** For more control over every step of the installation process, cPanel can be manually installed on a new Compute Instance. If choosing this method, review [Install cPanel on CentOS](/cloud/guides/install-cpanel-on-centos/) or reference cPanel's official [Installation Guide](https://docs.cpanel.net/installation-guide/install/). +- **Manual Installation:** For more control over every step of the installation process, cPanel can be manually installed on a new Compute Instance. If choosing this method, review [Install cPanel on CentOS](/cloud/guides/install-cpanel-on-centos) or reference cPanel's official [Installation Guide](https://docs.cpanel.net/installation-guide/install/). Whichever method you choose, select a Linode Compute Instance plan with enough storage capacity to accommodate the data within the cPanel accounts on your current host. @@ -98,7 +98,7 @@ When writing this guide it was found that the SSL certificates from the test sou scp -r root@current_host_ip_address:/etc/ssl ~ - You can also use [FileZilla](/cloud/guides/filezilla/) to download the files. + You can also use [FileZilla](/cloud/guides/filezilla) to download the files. If you are not able to login as `root` to your host, login as a user with `sudo` privileges and then copy those files to the user's home folder: @@ -141,7 +141,7 @@ When writing this guide it was found that the SSL certificates from the test sou If you visit your Linode's IP address in your browser, the website served by your cPanel account will not appear. This is because the cPanel server expects your domain name to be passed in your web request, and you have not updated your DNS yet. -The [Previewing Websites Without DNS](/cloud/guides/previewing-websites-without-dns/) guide describes a way to visit your domain prior to updating your DNS records. When you have updated your DNS, this workaround will no longer be necessary to view your site. +The [Previewing Websites Without DNS](/cloud/guides/previewing-websites-without-dns) guide describes a way to visit your domain prior to updating your DNS records. When you have updated your DNS, this workaround will no longer be necessary to view your site. ## Migrating DNS Records diff --git a/docs/guides/platform/migrate-to-linode/migrate-disk-image-using-cloud-init/index.md b/docs/guides/platform/migrate-to-linode/migrate-disk-image-using-cloud-init/index.md index 32563ba7c98..804712a5219 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-disk-image-using-cloud-init/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-disk-image-using-cloud-init/index.md @@ -9,11 +9,11 @@ keywords: ['cloud-init','migrate','migration','disk image','aws','azure','google license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Linode API & CLI Documentation](https://techdocs.akamai.com/linode-api/reference/api)' -- '[Akamai Cloud-Init Guides](/cloud/guides/applications/configuration-management/cloud-init/)' +- '[Akamai Cloud-Init Guides](/cloud/guides/applications/configuration-management/cloud-init)' - '[Cloud-Init Official Documentation](https://cloudinit.readthedocs.io/en/latest/)' --- -The ability to migrate a virtual machine’s disk image across cloud providers is essential to cloud architecture durability and a key component of multi-cloud portability. There are numerous methods of migrating a disk image, several of which can be found in our documentation library: [Migrate to Linode](/cloud/guides/platform/migrate-to-linode/) +The ability to migrate a virtual machine’s disk image across cloud providers is essential to cloud architecture durability and a key component of multi-cloud portability. There are numerous methods of migrating a disk image, several of which can be found in our documentation library: [Migrate to Linode](/cloud/guides/platform/migrate-to-linode) This tutorial includes steps for deploying a disk image to a new compute instance using *cloud-init* and the Ubuntu 24.04 LTS distribution. Cloud-init is an industry standard configuration tool that helps automate the configuration of new compute instances upon initial boot. @@ -55,7 +55,7 @@ There are several requirements that must be met for your disk image to successfu The provided cloud-init configuration uses a file’s metadata to gather information and does not look for specific file extensions. {{< /note >}} -If you are using a disk image that requires direct disk to boot (i.e. an image with partitioned disks or a Master Boot Record, or MBR), you may need to take additional steps to configure your system before image creation or after deployment for full compatibility with the Akamai Cloud platform. See our guide on [Installing a Custom Distribution](/cloud/guides/install-a-custom-distribution/#make-the-system-compatible-with-the-linode-platform) for guidance and configuration options for a direct disk image. +If you are using a disk image that requires direct disk to boot (i.e. an image with partitioned disks or a Master Boot Record, or MBR), you may need to take additional steps to configure your system before image creation or after deployment for full compatibility with the Akamai Cloud platform. See our guide on [Installing a Custom Distribution](/cloud/guides/install-a-custom-distribution#make-the-system-compatible-with-the-linode-platform) for guidance and configuration options for a direct disk image. ## Upload a Disk Image to Object Storage diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-aws-ebs-to-linode-block-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-aws-ebs-to-linode-block-storage/index.md index b555353480e..b9eb7d72bd3 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-aws-ebs-to-linode-block-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-aws-ebs-to-linode-block-storage/index.md @@ -59,7 +59,7 @@ Bandwidth for the transfer can vary according to different factors, including: When planning your migration, consider performing a bandwidth test between the two locations first. Then, use the observed bandwidth from the test to calculate the estimated migration time for the volume. -Utilities like [iperf](/cloud/guides/install-iperf-to-diagnose-network-speed-in-linux/) can be useful for performing this type of bandwidth measurement. Alternatively, you can create a test file on the EC2 instance, migrate it following the [instructions](#block-storage-migration-instructions) in this guide, and then view the bandwidth reported by rsync's output. +Utilities like [iperf](/cloud/guides/install-iperf-to-diagnose-network-speed-in-linux) can be useful for performing this type of bandwidth measurement. Alternatively, you can create a test file on the EC2 instance, migrate it following the [instructions](#block-storage-migration-instructions) in this guide, and then view the bandwidth reported by rsync's output. You can use the `dd` command to generate a sample 1GB test file: @@ -107,15 +107,15 @@ In this guide, the rsync command is run from a Linode instance and connects to a Linux distributions (on both Linode instances and EC2 instances) can have software firewalls configured inside the instance. The following guides describe some software firewalls that your instances may use: -- [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) -- [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) -- [A Tutorial for Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables/) +- [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos) +- [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) +- [A Tutorial for Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables) You may also configure Cloud Firewalls to control traffic before it arrives at your Linode instance. Our [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall/) product documentation describes how to configure these rules. The [Comparing Cloud Firewalls to Linux firewall software](https://techdocs.akamai.com/cloud-computing/docs/comparing-cloud-firewalls-to-linux-firewall-software) guide further describes the difference between network firewalls and software firewalls. [AWS's product documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html) describes how to configure *security groups* for EC2 instances which function as a network firewall. ### Configure SSH Key Pair -This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and EC2 instance. The [Generate an SSH Key Pair](/cloud/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) guide describes how to create and use a key pair. +This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and EC2 instance. The [Generate an SSH Key Pair](/cloud/guides/use-public-key-authentication-with-ssh#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh) guide describes how to create and use a key pair. This guide assumes the public and private keys are named `id_rsa.pub` and `id_rsa`, but your keys may have different names depending on the type of key pair you are using. @@ -137,7 +137,7 @@ These instructions implement two recommended practices: Migrations can take a long time, so having them run independently of your SSH session is important. This guide uses `tmux` to create a terminal session that persists between SSH connections. By sending output and errors to log files, you can keep a record of any migration failures that may happen. -Review our [tmux guide](/cloud/guides/persistent-terminal-sessions-with-tmux/) for help with other tmux commands. +Review our [tmux guide](/cloud/guides/persistent-terminal-sessions-with-tmux) for help with other tmux commands. 1. Install the `tmux` utility on your Linode instance using the official tmux instructions: [Installing tmux](https://github.com/tmux/tmux/wiki/Installing#installing-tmux). diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-aws-s3-to-linode-object-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-aws-s3-to-linode-object-storage/index.md index ff0a9bb309c..bbc81b91b1f 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-aws-s3-to-linode-object-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-aws-s3-to-linode-object-storage/index.md @@ -10,7 +10,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Linode Object Storage product documentation](https://techdocs.akamai.com/cloud-computing/docs/object-storage)' -- '[Linode Object Storage guides & tutorials](/cloud/guides/platform/object-storage/)' +- '[Linode Object Storage guides & tutorials](/cloud/guides/platform/object-storage)' --- Linode Object Storage is an Amazon S3-compatible service used for storing large amounts of unstructured data. This guide includes steps on how to migrate up to 100TB of static content from AWS S3 to Linode Object Storage using rclone, along with how to monitor your migration using rclone’s WebUI GUI. diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-aws-secrets-manager-to-openbao-on-akamai-cloud/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-aws-secrets-manager-to-openbao-on-akamai-cloud/index.md index 6164f3e839f..d523feec3f3 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-aws-secrets-manager-to-openbao-on-akamai-cloud/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-aws-secrets-manager-to-openbao-on-akamai-cloud/index.md @@ -30,12 +30,12 @@ This guide provides steps and considerations for how to migrate secrets stored i 1. When migrating from AWS Secrets Manager to OpenBao on Akamai Cloud, OpenBao should be deployed before you begin. OpenBao can be installed on a single Linode instance or deployed to a multi-node cluster using Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your production needs: - - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance/) - - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine/) - - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao/) + - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance) + - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine) + - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) doc. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups) doc. {{< /note >}} ### Using This Guide diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-azure-blob-storage-to-linode-object-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-azure-blob-storage-to-linode-object-storage/index.md index 0cea63d000e..67abca1b08e 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-azure-blob-storage-to-linode-object-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-azure-blob-storage-to-linode-object-storage/index.md @@ -9,7 +9,7 @@ keywords: ['migrate','migration','object storage','azure blob storage','rclone'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Linode Object Storage product documentation](https://techdocs.akamai.com/cloud-computing/docs/object-storage)' -- '[Linode Object Storage guides & tutorials](/cloud/guides/platform/object-storage/)' +- '[Linode Object Storage guides & tutorials](/cloud/guides/platform/object-storage)' --- Linode Object Storage is an Amazon S3-compatible service used for storing large amounts of unstructured data. This guide includes steps on how to migrate up to 100TB of static content from Azure Blob Storage to Linode Object Storage using rclone, along with how to monitor your migration using rclone’s WebUI GUI. diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-azure-disk-storage-to-linode-block-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-azure-disk-storage-to-linode-block-storage/index.md index 93f6ddd56e4..485b48cc4f4 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-azure-disk-storage-to-linode-block-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-azure-disk-storage-to-linode-block-storage/index.md @@ -98,15 +98,15 @@ In this guide, the rsync command is run from a Linode instance and connects to a Linux distributions (on both Linode instances and Azure virtual machines) can have software firewalls configured inside the instance. The following guides describe some software firewalls that your instances may use: -- [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) -- [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) -- [A Tutorial for Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables/) +- [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos) +- [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) +- [A Tutorial for Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables) You may also configure Cloud Firewalls to control traffic before it arrives at your computing instance. Our [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall/) product documentation describes how to configure these rules. The [Comparing Cloud Firewalls to Linux firewall software](https://techdocs.akamai.com/cloud-computing/docs/comparing-cloud-firewalls-to-linux-firewall-software) guide further describes the difference between network firewalls and software firewalls. [Microsoft Azure's product documentation](https://learn.microsoft.com/en-us/azure/firewall/overview) describes how to configure Azure network firewalls. ### Configure SSH Key Pair -This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and Azure virtual machine. The [Generate an SSH Key Pair](/cloud/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) guide describes how to create and use a key pair. +This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and Azure virtual machine. The [Generate an SSH Key Pair](/cloud/guides/use-public-key-authentication-with-ssh#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh) guide describes how to create and use a key pair. This guide assumes the public and private keys are named `id_rsa.pub` and `id_rsa`, but your keys may have different names depending on the type of key pair you are using. @@ -128,7 +128,7 @@ These instructions implement two recommended practices: Migrations can take a long time, so having them run independently of your SSH session is important. This guide uses `tmux` to create a terminal session that persists between SSH connections. By sending output and errors to log files, you can keep a record of any migration failures that may happen. -Review our [tmux guide](/cloud/guides/persistent-terminal-sessions-with-tmux/) for help with other tmux commands. +Review our [tmux guide](/cloud/guides/persistent-terminal-sessions-with-tmux) for help with other tmux commands. 1. Install the `tmux` utility on your Linode instance using the official tmux instructions: [Installing tmux](https://github.com/tmux/tmux/wiki/Installing#installing-tmux). diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-azure-key-vault-to-openbao-on-akamai-cloud/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-azure-key-vault-to-openbao-on-akamai-cloud/index.md index e1560f22bd0..47f624a80bf 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-azure-key-vault-to-openbao-on-akamai-cloud/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-azure-key-vault-to-openbao-on-akamai-cloud/index.md @@ -27,16 +27,16 @@ This guide provides steps and considerations for how to migrate secrets stored i 1. When migrating from Azure Key Vault to OpenBao on Akamai Cloud, OpenBao should be deployed before you begin. OpenBao can be installed on a single Linode instance or deployed to a multi-node cluster using Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your production needs: - - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance/) - - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine/) - - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao/) + - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance) + - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine) + - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao) 1. Ensure that you have access to your Azure cloud platform account with sufficient permissions to work with Azure Key Vault. The [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) must also be installed and configured. 1. Install `jq`, a lightweight command line JSON processor. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) doc. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups) doc. {{< /note >}} ### Using This Guide diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage/index.md index 8ec9dbf08b4..2b2f22733f1 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage/index.md @@ -57,7 +57,7 @@ Bandwidth for the transfer can vary according to different factors, including: When planning your migration, consider performing a bandwidth test between the two locations first. Then, use the observed bandwidth from the test to calculate the estimated migration time for the disk. -Utilities like [iperf](/cloud/guides/install-iperf-to-diagnose-network-speed-in-linux/) can be useful for performing this type of bandwidth measurement. Alternatively, you can create a test file on the Compute Engine instance, migrate it following the [instructions](#block-storage-migration-instructions) in this guide, and then view the bandwidth reported by rsync's output. +Utilities like [iperf](/cloud/guides/install-iperf-to-diagnose-network-speed-in-linux) can be useful for performing this type of bandwidth measurement. Alternatively, you can create a test file on the Compute Engine instance, migrate it following the [instructions](#block-storage-migration-instructions) in this guide, and then view the bandwidth reported by rsync's output. You can use the `dd` command to generate a sample 1GB test file: @@ -105,15 +105,15 @@ In this guide, the rsync command is run from a Linode instance and connects to a Linux distributions (on both Linode instances and Compute Engine instances) can have software firewalls configured inside the instance. The following guides describe some software firewalls that your instances may use: -- [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) -- [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) -- [A Tutorial for Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables/) +- [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos) +- [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) +- [A Tutorial for Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables) You may also configure Cloud Firewalls to control traffic before it arrives at your Linode instance. Our [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall/) product documentation describes how to configure these rules. The [Comparing Cloud Firewalls to Linux firewall software](https://techdocs.akamai.com/cloud-computing/docs/comparing-cloud-firewalls-to-linux-firewall-software) guide further describes the difference between network firewalls and software firewalls. [GCP's product documentation](https://cloud.google.com/security/products/firewall?hl=en) describes how to configure cloud firewalls for Compute Engine instances. ### Configure SSH Key Pair -This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and Compute Engine instance. The [Generate an SSH Key Pair](/cloud/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) guide describes how to create and use a key pair. +This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and Compute Engine instance. The [Generate an SSH Key Pair](/cloud/guides/use-public-key-authentication-with-ssh#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh) guide describes how to create and use a key pair. This guide assumes the public and private keys are named `id_rsa.pub` and `id_rsa`, but your keys may have different names depending on the type of key pair you are using. @@ -135,7 +135,7 @@ These instructions implement two recommended practices: Migrations can take a long time, so having them run independently of your SSH session is important. This guide uses `tmux` to create a terminal session that persists between SSH connections. By sending output and errors to log files, you can keep a record of any migration failures that may happen. -Review our [tmux guide](/cloud/guides/persistent-terminal-sessions-with-tmux/) for help with other tmux commands. +Review our [tmux guide](/cloud/guides/persistent-terminal-sessions-with-tmux) for help with other tmux commands. 1. Install the `tmux` utility on your Linode instance using the official tmux instructions: [Installing tmux](https://github.com/tmux/tmux/wiki/Installing#installing-tmux). diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-gcp-secret-manager-to-openbao-on-akamai-cloud/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-gcp-secret-manager-to-openbao-on-akamai-cloud/index.md index 3eae448e161..47a182e3d79 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-gcp-secret-manager-to-openbao-on-akamai-cloud/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-gcp-secret-manager-to-openbao-on-akamai-cloud/index.md @@ -27,16 +27,16 @@ This guide provides steps and considerations for how to migrate secrets stored i 1. When migrating from GCP Secret Manager to OpenBao on Akamai Cloud, OpenBao should be deployed before you begin. OpenBao can be installed on a single Linode instance or deployed to a multi-node cluster using Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your production needs: - - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance/) - - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine/) - - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao/) + - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance) + - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine) + - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao) 1. Ensure that you have access to your GCP account with sufficient permissions to work with GCP Secret Manager. The [gcloud CLI](https://cloud.google.com/sdk/docs/install) must also be installed and configured. 1. Install `jq`, a lightweight command line JSON processor. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) doc. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups) doc. {{< /note >}} ### Using This Guide diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-google-cloud-storage-to-linode-object-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-google-cloud-storage-to-linode-object-storage/index.md index e5063bdaa6c..f649cac5fc7 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-google-cloud-storage-to-linode-object-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-google-cloud-storage-to-linode-object-storage/index.md @@ -9,7 +9,7 @@ keywords: ['migrate','migration','object storage','google cloud storage','rclone license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Linode Object Storage product documentation](https://techdocs.akamai.com/cloud-computing/docs/object-storage)' -- '[Linode Object Storage guides & tutorials](/cloud/guides/platform/object-storage/)' +- '[Linode Object Storage guides & tutorials](/cloud/guides/platform/object-storage)' --- Linode Object Storage is an Amazon S3-compatible service used for storing large amounts of unstructured data. This guide includes steps on how to migrate up to 100TB of static content from Google Cloud Storage to Linode Object Storage using rclone, along with how to monitor your migration using rclone’s WebUI GUI. diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-oracle-vault-to-openbao-on-akamai-cloud/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-oracle-vault-to-openbao-on-akamai-cloud/index.md index 0a3bdadb593..ad59972dc28 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-oracle-vault-to-openbao-on-akamai-cloud/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-oracle-vault-to-openbao-on-akamai-cloud/index.md @@ -27,16 +27,16 @@ This guide provides steps and considerations for how to migrate secrets stored i 1. When migrating from Oracle Vault to OpenBao on Akamai Cloud, OpenBao should be deployed before you begin. OpenBao can be installed on a single Linode instance or deployed to a multi-node cluster using Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your production needs: - - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance/) - - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine/) - - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao/) + - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance) + - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine) + - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao) 1. Ensure that you have access to your Oracle Cloud platform account with sufficient permissions to work with Oracle Vault. The [OCI CLI](https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm) must also be installed and configured 1. Install `jq`, a lightweight command line JSON processor. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) doc. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups) doc. {{< /note >}} ### Using This Guide diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-shared-hosting-to-linode/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-shared-hosting-to-linode/index.md index 092e8cccdc6..05a4e7849cf 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-shared-hosting-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-shared-hosting-to-linode/index.md @@ -16,7 +16,7 @@ tags: ["linode platform"] This guide walks you through the steps to migrate your website from a shared hosting provider to a Linode running a LAMP stack. A Linode server gives you much more power and flexibility than a shared host, but these advantages come at the cost of increased complexity and system administration responsibility. -The biggest change between shared hosting and Linode's cloud is that with Linode you have full administrative access to the server without intervention. This means that you will be solely responsible for keeping your software updated and your valuable data backed up. Our [Guides and Tutorials](/cloud/) area contains all of the information you'll need for basic [server administration](/cloud/guides/linux-system-administration-basics/), [security hardening](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [system backups](/cloud/guides/backing-up-your-data/). +The biggest change between shared hosting and Linode's cloud is that with Linode you have full administrative access to the server without intervention. This means that you will be solely responsible for keeping your software updated and your valuable data backed up. Our [Guides and Tutorials](/cloud) area contains all of the information you'll need for basic [server administration](/cloud/guides/linux-system-administration-basics), [security hardening](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [system backups](/cloud/guides/backing-up-your-data). ## Before You Begin @@ -24,7 +24,7 @@ This guide makes three assumptions: * You already have a [Linode account](https://login.linode.com/signup). * You know how to sign in to the [Linode Cloud Manager](https://cloud.linode.com/). -* You have a basic knowledge of [how to use SSH](/cloud/guides/use-public-key-authentication-with-ssh/). +* You have a basic knowledge of [how to use SSH](/cloud/guides/use-public-key-authentication-with-ssh). {{< note >}} Because this guide is intended to be general in nature, it does not take into account the specific dependencies or frameworks of each individual setup. If you're unsure whether or not your website is compatible with a LAMP configuration, we strongly suggest consulting your web developer before proceeding. @@ -56,7 +56,7 @@ The next step is to back up your site from your old server to your local compute You may want to explore whether the application you use for your website has its own backup instructions, such as the combination of [WordPress](https://codex.wordpress.org/WordPress_Backups) and [phpMyAdmin](http://docs.phpmyadmin.net/en/latest/faq.html?highlight=backup#how-can-i-backup-my-database-or-table), for example. Regardless of the backup method, every website is made up of files and databases so you can use the instructions in this section to back up every type of website. -If you have a MySQL or MariaDB database on your old server, you will also need to back it up. Your old host probably has a control panel that will allow you to make an easy backup of your database. Contact that host for instructions if you are not sure how to do it. If your old host does not have a database backup solution, you can follow our instructions to [Back Up Your MySQL Databases](/cloud/guides/mysqldump-backups/) using the command line. +If you have a MySQL or MariaDB database on your old server, you will also need to back it up. Your old host probably has a control panel that will allow you to make an easy backup of your database. Contact that host for instructions if you are not sure how to do it. If your old host does not have a database backup solution, you can follow our instructions to [Back Up Your MySQL Databases](/cloud/guides/mysqldump-backups) using the command line. **Shared Host's Control Panel** @@ -73,28 +73,28 @@ The exact location of your website's files may vary depending on your specific i **FileZilla (Linux / OS X / Windows)** -See [our Filezilla guide](/cloud/guides/filezilla/) to use it for your site backups. +See [our Filezilla guide](/cloud/guides/filezilla) to use it for your site backups. ## Install a Basic Web Server on Your Linode -The next step is to build the software environment needed for your site to function properly. Once that's complete, you can install a content management system of your choice such as [WordPress](https://wordpress.org/) or [Drupal](https://www.drupal.com/). There are many possibilities; see our [web servers](/cloud/guides/web-servers/) guides for available options. This guide will assume the use of a LAMP stack, one of the most common web server configurations. +The next step is to build the software environment needed for your site to function properly. Once that's complete, you can install a content management system of your choice such as [WordPress](https://wordpress.org/) or [Drupal](https://www.drupal.com/). There are many possibilities; see our [web servers](/cloud/guides/web-servers) guides for available options. This guide will assume the use of a LAMP stack, one of the most common web server configurations. ### LAMP Stack [LAMP](https://en.wikipedia.org/wiki/LAMP_%28software_bundle%29) stands for the following: -* **Linux:** A LAMP stack will work on most common Linux distributions. While there will be no discernible difference to your site's users, each distro has advantages and disadvantages to consider. See our [LAMP Guides](/cloud/guides/web-servers/lamp/) section for installation instructions on various distros. +* **Linux:** A LAMP stack will work on most common Linux distributions. While there will be no discernible difference to your site's users, each distro has advantages and disadvantages to consider. See our [LAMP Guides](/cloud/guides/web-servers/lamp) section for installation instructions on various distros. * **Apache:** A web server that handles HTTP and HTTPS internet traffic. * **MySQL:** A database server. * **PHP:** A software language that allows you to create and configure dynamic website content. -To install a LAMP stack on Ubuntu, follow the steps in our [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. +To install a LAMP stack on Ubuntu, follow the steps in our [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) guide. ## Get Your Website Live Once you've installed all the underlying software for your Linode, you can upload your website to the new server. This will replace the Apache test page shown by default when you first install Apache on your Linode. -1. Follow the steps in our [hosting a website](/cloud/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server) guide to configure name-based virtual hosts for Apache on your Linode. +1. Follow the steps in our [hosting a website](/cloud/guides/hosting-a-website-ubuntu-18-04#configure-name-based-virtual-hosts-in-apache-web-server) guide to configure name-based virtual hosts for Apache on your Linode. 2. Upload your website's files from your local computer to `/var/www/html/example.com/public_html` on your Linode. The process to do this is similar to how you downloaded your site's files to your local computer when creating a backup from your shared host. The only differences are the source and destination of the transfer. @@ -106,7 +106,7 @@ Once you've installed all the underlying software for your Linode, you can uploa Replace `example_user` with your Linode's user and `example.com` with your domain name. {{< /note >}} - If you have a database, you'll need to upload it to your Linode. If you're more comfortable using a control panel, you may want to [install phpMyAdmin](/cloud/guides/install-mysql-phpmyadmin-ubuntu-14-04/) at this point. You can also [restore your database](/cloud/guides/mysqldump-backups/#restore-a-backup) using the command line. + If you have a database, you'll need to upload it to your Linode. If you're more comfortable using a control panel, you may want to [install phpMyAdmin](/cloud/guides/install-mysql-phpmyadmin-ubuntu-14-04) at this point. You can also [restore your database](/cloud/guides/mysqldump-backups#restore-a-backup) using the command line. 3. Now check your website's IP address in your browser. Your website should be displayed. @@ -116,7 +116,7 @@ Your website may not yet function completely correctly if it is URL-dependent. A ### A Note About Email -A Linode can run both your web server and an [email server](/cloud/guides/running-a-mail-server/) for your site. If you use a separate email host like Google Workspace, you will need to make sure you preserve the correct *MX records* for email when you move your domain. If you use a mail service at your old host, you may need to consider where you're going to move your email. See [Running a Mail Server](/cloud/guides/running-a-mail-server/) for more details. +A Linode can run both your web server and an [email server](/cloud/guides/running-a-mail-server) for your site. If you use a separate email host like Google Workspace, you will need to make sure you preserve the correct *MX records* for email when you move your domain. If you use a mail service at your old host, you may need to consider where you're going to move your email. See [Running a Mail Server](/cloud/guides/running-a-mail-server) for more details. ## Move Your Domain @@ -136,7 +136,7 @@ The last step in your migration is to point your domain at your Linode's IP addr 4. Wait five minutes (or the time you set for your TTL) for the domain to propagate. If you did not shorten your TTL, this may take up to 48 hours. -5. Navigate to your domain in a web browser. It should now show the website being served from your Linode, rather than your old host. If you can't tell the difference, you can use the [DIG utility](/cloud/guides/use-dig-to-perform-manual-dns-queries/). It should show the IP address for your Linode. +5. Navigate to your domain in a web browser. It should now show the website being served from your Linode, rather than your old host. If you can't tell the difference, you can use the [DIG utility](/cloud/guides/use-dig-to-perform-manual-dns-queries). It should show the IP address for your Linode. 6. [Set reverse DNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) for your domain. diff --git a/docs/guides/platform/migrate-to-linode/migrating-a-server-to-your-linode/index.md b/docs/guides/platform/migrate-to-linode/migrating-a-server-to-your-linode/index.md index 0ad6cc06f87..a6bea0c5875 100644 --- a/docs/guides/platform/migrate-to-linode/migrating-a-server-to-your-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/migrating-a-server-to-your-linode/index.md @@ -14,7 +14,7 @@ deprecated: true deprecated_link: '/docs/guides/best-practices-when-migrating-to-linode/' --- {{< note >}} -The process for migrating a server image to your Linode will vary depending upon how the image was created. We recommend making an `.iso` file from your existing image, and then following the steps in our updated [custom distribution](/cloud/guides/install-a-custom-distribution/) guide to deploy it on a Linode. This guide is no longer being maintained, and the procedure outlined here is not recommended for new migrations. +The process for migrating a server image to your Linode will vary depending upon how the image was created. We recommend making an `.iso` file from your existing image, and then following the steps in our updated [custom distribution](/cloud/guides/install-a-custom-distribution) guide to deploy it on a Linode. This guide is no longer being maintained, and the procedure outlined here is not recommended for new migrations. {{< /note >}} You can migrate an existing server to your Linode from another hosting provider or a local machine. This is a great option if you're moving to Linode from another hosting provider or if you've built a custom server on your local machine. You can even migrate virtualized servers created with products like VirtualBox or VMware. This guide shows you how to prepare the Linode to receive the files, copy the files from the existing server to the Linode, and then make the disks bootable. diff --git a/docs/guides/platform/migrate-to-linode/self-hosted-vs-managed-databases/index.md b/docs/guides/platform/migrate-to-linode/self-hosted-vs-managed-databases/index.md index da16218276f..31cd4484901 100644 --- a/docs/guides/platform/migrate-to-linode/self-hosted-vs-managed-databases/index.md +++ b/docs/guides/platform/migrate-to-linode/self-hosted-vs-managed-databases/index.md @@ -263,7 +263,7 @@ And using `mysqldump`: defaultdb > outfile_mysql.sql ``` -Exported backups can also be stored in Object Storage using tools like [`rclone`](/cloud/guides/rclone-object-storage-file-sync/) or [`s3cmd`](https://techdocs.akamai.com/cloud-computing/docs/using-s3cmd-with-object-storage). This approach allows you to enforce your own retention and [access control policies](https://techdocs.akamai.com/cloud-computing/docs/define-access-and-permissions-using-bucket-policies). +Exported backups can also be stored in Object Storage using tools like [`rclone`](/cloud/guides/rclone-object-storage-file-sync) or [`s3cmd`](https://techdocs.akamai.com/cloud-computing/docs/using-s3cmd-with-object-storage). This approach allows you to enforce your own retention and [access control policies](https://techdocs.akamai.com/cloud-computing/docs/define-access-and-permissions-using-bucket-policies). You can also test backups by restoring them to a temporary environment to ensure data integrity. This also provides a way to benchmark recovery times and identify potential gaps in coverage. diff --git a/docs/guides/platform/object-storage/backing-up-compute-instance-to-object-storage/index.md b/docs/guides/platform/object-storage/backing-up-compute-instance-to-object-storage/index.md index 441307ff720..24d73e7cb90 100644 --- a/docs/guides/platform/object-storage/backing-up-compute-instance-to-object-storage/index.md +++ b/docs/guides/platform/object-storage/backing-up-compute-instance-to-object-storage/index.md @@ -23,12 +23,12 @@ In this tutorial, learn how to create full-system backups from the command line 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Back Up Your Data to a Single Archive File -There are a significant number of tools, third-party applications, and services that offer system backup solutions. Several useful methods are covered in our guide on [Backing Up Your Data](/cloud/guides/backing-up-your-data/), including some methods specific to Linode instances. +There are a significant number of tools, third-party applications, and services that offer system backup solutions. Several useful methods are covered in our guide on [Backing Up Your Data](/cloud/guides/backing-up-your-data), including some methods specific to Linode instances. Since the goal of this tutorial is to store backups on Object Storage, utilities that output a single backup file are preferred. After all, it's much easier to store and manage each backup as a single object than as many separate objects. @@ -66,7 +66,7 @@ The tar command also supports incremental backups, using its `--listed-increment With your backup made and stored in a convenient `backup.tgz` file, you can start the process of storing it on an Object Storage bucket. -The [rclone](https://rclone.org/) utility handles that process efficiently, especially when you plan on automating backups (covered in the next section). You can learn more about rclone and its usage with object storage in our guide [Use Rclone to Sync Files to Linode Object Storage](/cloud/guides/rclone-object-storage-file-sync/). +The [rclone](https://rclone.org/) utility handles that process efficiently, especially when you plan on automating backups (covered in the next section). You can learn more about rclone and its usage with object storage in our guide [Use Rclone to Sync Files to Linode Object Storage](/cloud/guides/rclone-object-storage-file-sync). Follow along with the steps here to set up rclone and store your initial backup file to a Linode Object Storage instance. @@ -80,7 +80,7 @@ Follow along with the steps here to set up rclone and store your initial backup - The access key and secret access key you generate. The Cloud Manager only displays the secret key once after generating it, so be sure to hold on to it. -1. Install rclone. You can generally do so from your system's package manager, but for the latest release of rclone, you should follow the installation instructions in our [rclone guide](/cloud/guides/rclone-object-storage-file-sync/#download-and-install-rclone-on-linux-and-macos). +1. Install rclone. You can generally do so from your system's package manager, but for the latest release of rclone, you should follow the installation instructions in our [rclone guide](/cloud/guides/rclone-object-storage-file-sync#download-and-install-rclone-on-linux-and-macos). 1. Create the `~/.config/rclone` directory if it does not yet exist. This is where your rclone configuration files will be stored. @@ -201,7 +201,7 @@ The instructions below walk you through this process. This example uses the `tar Typically, cron prefers the crontab file to end with a new line, so be sure to add one after your entry. {{< /note >}} - Learn more about scheduling tasks with cron in our guide [Using Cron to Schedule Tasks for Certain Times or Intervals](/cloud/guides/schedule-tasks-with-cron/). There you can see more options for setting up cron jobs and a full breakdown of scheduling frequency. + Learn more about scheduling tasks with cron in our guide [Using Cron to Schedule Tasks for Certain Times or Intervals](/cloud/guides/schedule-tasks-with-cron). There you can see more options for setting up cron jobs and a full breakdown of scheduling frequency. The example above schedules a daily task, so checking your Object Storage bucket the next day should show a new backup file. You can verify the results with a command like this: diff --git a/docs/guides/platform/object-storage/host-static-site-object-storage/index.md b/docs/guides/platform/object-storage/host-static-site-object-storage/index.md index 6ed861c0933..447332fe0d3 100644 --- a/docs/guides/platform/object-storage/host-static-site-object-storage/index.md +++ b/docs/guides/platform/object-storage/host-static-site-object-storage/index.md @@ -19,7 +19,7 @@ image: host-a-static-site-using-linode-object-storage.png ## Why Host a Static Site on Object Storage? -[Static site generators](/cloud/guides/how-to-choose-static-site-generator/) are a popular solution for creating simple, fast, flexible, and attractive websites that are easy to update. You can contribute new pages and content to a static site in two steps: +[Static site generators](/cloud/guides/how-to-choose-static-site-generator) are a popular solution for creating simple, fast, flexible, and attractive websites that are easy to update. You can contribute new pages and content to a static site in two steps: 1. First, write the content for your site's new page using [Markdown](https://www.markdownguide.org), an easy-to-learn and light-weight markup language. @@ -29,7 +29,7 @@ The second compilation step only needs to happen once for each time that you upd ### Benefits of Hosting on Object Storage -Traditionally, these static HTML files would be served by a web server (like [NGINX](/cloud/guides/web-servers/nginx/) or [Apache](/cloud/guides/web-servers/apache/)) running on a Linode. Using Object Storage to host your static site files means you do not have to worry about maintaining your site's infrastructure. It is no longer necessary to perform typical server maintenance tasks, like software upgrades, web server configuration, and security upkeep. +Traditionally, these static HTML files would be served by a web server (like [NGINX](/cloud/guides/web-servers/nginx) or [Apache](/cloud/guides/web-servers/apache)) running on a Linode. Using Object Storage to host your static site files means you do not have to worry about maintaining your site's infrastructure. It is no longer necessary to perform typical server maintenance tasks, like software upgrades, web server configuration, and security upkeep. Object Storage provides an HTTP REST gateway to objects, which means a unique URL over HTTP is available for every object. Once your static site is built, making it available publicly over the Internet is as easy uploading files to an Object Storage bucket. @@ -43,7 +43,7 @@ At a high-level, the required steps to host a static site using Object Storage a 1. [Upload](#upload-your-static-site-to-linode-object-storage) the static files to your Object Storage bucket to make the content publicly available over the Internet. -This guide uses [Hugo](https://gohugo.io/) to demonstrate how to create a static site and hosts it on Linode Object Storage. However, there are [many other static site generators](https://www.staticgen.com) to choose from--[Jekyll](https://jekyllrb.com/) and [Gatsby](https://www.gatsbyjs.org/) are popular choices, and the general steps outlined in this guide could be adapted to them. For more information on choosing a static site generator, see the [How to Choose a Static Site Generator](/cloud/guides/how-to-choose-static-site-generator/) guide. +This guide uses [Hugo](https://gohugo.io/) to demonstrate how to create a static site and hosts it on Linode Object Storage. However, there are [many other static site generators](https://www.staticgen.com) to choose from--[Jekyll](https://jekyllrb.com/) and [Gatsby](https://www.gatsbyjs.org/) are popular choices, and the general steps outlined in this guide could be adapted to them. For more information on choosing a static site generator, see the [How to Choose a Static Site Generator](/cloud/guides/how-to-choose-static-site-generator) guide. ## Before You Begin @@ -52,7 +52,7 @@ This guide uses [Hugo](https://gohugo.io/) to demonstrate how to create a static - Created your Object Storage access and secret keys. - Installed and configure the [s3cmd tool](https://s3tools.org/download). -1. [Install and configure Git](/cloud/guides/how-to-install-git-and-clone-a-github-repository/#install-and-configure-git) on your local computer. +1. [Install and configure Git](/cloud/guides/how-to-install-git-and-clone-a-github-repository#install-and-configure-git) on your local computer. ## Install the Hugo Static Site Generator @@ -220,7 +220,7 @@ Press Ctrl+C to stop git commit -m 'Add my first post.' - Once you have used Git to track your local Hugo site files, you can easily push them to a remote Git repository, like [GitHub](https://github.com/) or [GitLab](https://about.gitlab.com/). Storing your static site files on a remote Git repository opens up many possibilities for collaboration and automating your static site's deployment to Linode Object Storage. To learn more about Git, see the [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide. + Once you have used Git to track your local Hugo site files, you can easily push them to a remote Git repository, like [GitHub](https://github.com/) or [GitLab](https://about.gitlab.com/). Storing your static site files on a remote Git repository opens up many possibilities for collaboration and automating your static site's deployment to Linode Object Storage. To learn more about Git, see the [Getting Started with Git](/cloud/guides/how-to-configure-git) guide. {{< /note >}} ## Upload your Static Site to Linode Object Storage @@ -309,7 +309,7 @@ Alternatively, you can freely create a custom subdomain that does not need to ma subdomain.mydomain.tld CNAME my-new-bucket.us-east-1.linodeobjects.com -To learn about managing DNS records on Linode, see the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) and [DNS Records: An Introduction](/cloud/guides/dns-overview/) guides. +To learn about managing DNS records on Linode, see the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) and [DNS Records: An Introduction](/cloud/guides/dns-overview) guides. For instructions on how to set up `https` access for your custom domain, see the [Configure a Custom Domain (with a TLS/SSL Certificate)](https://techdocs.akamai.com/cloud-computing/docs/configure-a-custom-domain-with-a-tls-ssl-certificate) guide. diff --git a/docs/guides/platform/object-storage/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount/index.md b/docs/guides/platform/object-storage/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount/index.md index 37c4e83a91f..e910bd6a5eb 100644 --- a/docs/guides/platform/object-storage/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount/index.md +++ b/docs/guides/platform/object-storage/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount/index.md @@ -21,7 +21,7 @@ You can configure Nextcloud to enable external storage devices and services, lik ## Before You Begin -1. Deploy a Nextcloud server instance. You can use the [Linode Nextcloud Quick Deploy App](/cloud/marketplace-docs/guides/nextcloud/) for an easy and quick deployment. +1. Deploy a Nextcloud server instance. You can use the [Linode Nextcloud Quick Deploy App](/cloud/marketplace-docs/guides/nextcloud) for an easy and quick deployment. 1. [Generate Object Storage access keys](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys). diff --git a/docs/guides/platform/object-storage/optimizing-obj-bucket-architecture-for-akamai-cdn/index.md b/docs/guides/platform/object-storage/optimizing-obj-bucket-architecture-for-akamai-cdn/index.md index 869d537aa46..0fa28d8a547 100644 --- a/docs/guides/platform/object-storage/optimizing-obj-bucket-architecture-for-akamai-cdn/index.md +++ b/docs/guides/platform/object-storage/optimizing-obj-bucket-architecture-for-akamai-cdn/index.md @@ -10,7 +10,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Object Storage Product Documentation](https://techdocs.akamai.com/cloud-computing/docs/object-storage)' - '[Akamai Content Delivery Documentation](https://techdocs.akamai.com/platform-basics/docs/content-delivery)' -- '[Using Object Storage With Akamai CDN](/cloud/guides/using-object-storage-with-akamai-cdn/)' +- '[Using Object Storage With Akamai CDN](/cloud/guides/using-object-storage-with-akamai-cdn)' --- Linode Object Storage can be an efficient, cost-effective solution for streaming and data delivery applications when used as an origin point for Akamai CDN. Since Object Storage is a part of Akamai Cloud and uses the same backbone as Akamai CDN, egress can also be significantly reduced. diff --git a/docs/guides/platform/object-storage/server-side-encryption/index.md b/docs/guides/platform/object-storage/server-side-encryption/index.md index c534d4a8205..92fa68cbccc 100644 --- a/docs/guides/platform/object-storage/server-side-encryption/index.md +++ b/docs/guides/platform/object-storage/server-side-encryption/index.md @@ -15,7 +15,7 @@ image: UseServerSideEnc_LinObjStorage.png aliases: [] --- -Server-side encryption secures data on Linode Object Storage. Using your own encryption key, Linode will encrypt your data at the object level prior to storing it to disk. Once encrypted, Linode will only decrypt data if that same encryption key is provided with the retrieval request. This enables you to use Linode Object Storage to confidently handle sensitive data like [Terraform configurations](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) that contain passwords and SSH keys. +Server-side encryption secures data on Linode Object Storage. Using your own encryption key, Linode will encrypt your data at the object level prior to storing it to disk. Once encrypted, Linode will only decrypt data if that same encryption key is provided with the retrieval request. This enables you to use Linode Object Storage to confidently handle sensitive data like [Terraform configurations](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode) that contain passwords and SSH keys. In this guide, you will [write an example Python script](#python-example-script) that will upload a simple file containing the text "Hello World!" to Linode Object Storage, encrypt the file with server-side encryption using a provided encryption key (SSE-C), decrypt and retrieve the contents of the file, then delete the file. Once completed, the components of this script can be adapted to implement server side encryption for your own specific use case. diff --git a/docs/guides/platform/object-storage/using-object-storage-with-akamai-cdn/index.md b/docs/guides/platform/object-storage/using-object-storage-with-akamai-cdn/index.md index 6dbec686721..faf0714da07 100644 --- a/docs/guides/platform/object-storage/using-object-storage-with-akamai-cdn/index.md +++ b/docs/guides/platform/object-storage/using-object-storage-with-akamai-cdn/index.md @@ -20,7 +20,7 @@ The solution presented in this guide focuses on the architectural best practices ## Object Storage For Data Delivery -With the right [bucket architecture](/cloud/guides/optimizing-obj-bucket-architecture-for-akamai-cdn/), object storage can be used to house content for effective unstructured data delivery. Object storage supports critical features such as encryption, compression, deduplication, and versioning. +With the right [bucket architecture](/cloud/guides/optimizing-obj-bucket-architecture-for-akamai-cdn), object storage can be used to house content for effective unstructured data delivery. Object storage supports critical features such as encryption, compression, deduplication, and versioning. Its accessibility via HTTP protocols offers direct access to objects. Object storage doesn't require an intermediary proxy to serve files (i.e. Block Storage Volumes attached to a Compute Instance) and can be accessed by a wide range of APIs. @@ -103,4 +103,4 @@ When architected properly and paired with Akamai’s CDN, Object Storage on Akam To learn more about object storage bucket design for streaming and steps for CDN integration, see the following guide: -- [Optimizing Object Storage Bucket Architecture for Akamai CDN](/cloud/guides/optimizing-obj-bucket-architecture-for-akamai-cdn/) +- [Optimizing Object Storage Bucket Architecture for Akamai CDN](/cloud/guides/optimizing-obj-bucket-architecture-for-akamai-cdn) diff --git a/docs/guides/quick-answers/linux-essentials/introduction-to-backups/index.md b/docs/guides/quick-answers/linux-essentials/introduction-to-backups/index.md index cf7c8f04f8f..15094b51b99 100644 --- a/docs/guides/quick-answers/linux-essentials/introduction-to-backups/index.md +++ b/docs/guides/quick-answers/linux-essentials/introduction-to-backups/index.md @@ -8,7 +8,7 @@ published: 2018-05-18 keywords: ["backups", "snapshot", "Linode backup", "beginners"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[Backing Up Your Data](/cloud/guides/backing-up-your-data/)' + - '[Backing Up Your Data](/cloud/guides/backing-up-your-data)' tags: ["linux"] aliases: [] --- @@ -52,15 +52,15 @@ You may have made manual backups of files on your personal computer by dragging cp backup.zip /mnt/my-volume -If you are more comfortable working on the command line, this kind of backup can be automated with a [cron job](/cloud/guides/schedule-tasks-with-cron/) so that it can run automatically at a set interval. +If you are more comfortable working on the command line, this kind of backup can be automated with a [cron job](/cloud/guides/schedule-tasks-with-cron) so that it can run automatically at a set interval. ## Database Backups Many applications, including common CMS platforms like WordPress, store their data in a database. It is crucial to make sure that this data can be restored in the event of a system compromise. Fortunately, most database systems include tools to make backing up simple and painless. -If you are using MySQL or MariaDB, read more about `mysqldump` in our [mysqldump](/cloud/guides/mysqldump-backups/) guide, or try making [physical backups](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/). +If you are using MySQL or MariaDB, read more about `mysqldump` in our [mysqldump](/cloud/guides/mysqldump-backups) guide, or try making [physical backups](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases). -If your application uses PostgreSQL, read our guide on [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database/). +If your application uses PostgreSQL, read our guide on [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database). ## Third-Party Tools diff --git a/docs/guides/quick-answers/linux-essentials/introduction-to-function-as-a-service-faas/index.md b/docs/guides/quick-answers/linux-essentials/introduction-to-function-as-a-service-faas/index.md index f09cb50f6b0..c3e6fbd8582 100644 --- a/docs/guides/quick-answers/linux-essentials/introduction-to-function-as-a-service-faas/index.md +++ b/docs/guides/quick-answers/linux-essentials/introduction-to-function-as-a-service-faas/index.md @@ -12,11 +12,11 @@ image: IntroFunctionAsAService.png Developers are used to breaking business logic into standalone functions that an application can call when necessary. Functions as a Service (FaaS) takes advantage of cloud architectures, spinning up functions (and their system resources) only when needed. Using FaaS has several advantages, not the least of which is affordability, but it can also create more complexity. -Cloud computing's strength comes from an architecture based on composable resources. The cloud infrastructure is built from a programmatic orchestration of many sources and destinations, connected through IP addresses and [DNS](/cloud/guides/networking/dns/). The architecture's puzzle pieces, sometimes called a *composable disaggregated infrastructure*, include events as well as the network, storage, compute, and communications and authentication fabrics. +Cloud computing's strength comes from an architecture based on composable resources. The cloud infrastructure is built from a programmatic orchestration of many sources and destinations, connected through IP addresses and [DNS](/cloud/guides/networking/dns). The architecture's puzzle pieces, sometimes called a *composable disaggregated infrastructure*, include events as well as the network, storage, compute, and communications and authentication fabrics. Composable architectures use resources sparingly, by design. FaaS gets attention as a cost saver, but it's the overall model that is appealing. FaaS is highlighted by scalability, affordability, and its ability to be maintained as a sum of integrated parts, as contrasted to the top-down maintenance of monolithic architectures. -FaaS are functional ad-hoc processing elements as a composable component building block, and are part of a model called [serverless computing](/cloud/guides/what-is-serverless-computing/). Rather than bearing the costs of having instances ready to handle processing 24/7, FaaS are built once, then used only when needed, as triggered by an event. A FaaS is dormant and stateless, consuming no resources (such as CPU or disk storage). Because they don't exist (until called for), these functions are not-billed-for until they're used, and billed only until their process terminates. This saves money, and allows applications to be rapidly composed, executed, and become dormant (and not billed). +FaaS are functional ad-hoc processing elements as a composable component building block, and are part of a model called [serverless computing](/cloud/guides/what-is-serverless-computing). Rather than bearing the costs of having instances ready to handle processing 24/7, FaaS are built once, then used only when needed, as triggered by an event. A FaaS is dormant and stateless, consuming no resources (such as CPU or disk storage). Because they don't exist (until called for), these functions are not-billed-for until they're used, and billed only until their process terminates. This saves money, and allows applications to be rapidly composed, executed, and become dormant (and not billed). FaaS are constantly available, called when needed, and are then terminated/destroyed. Whether publicly available, or functions you've uploaded, FaaS don't exist until your framework calls them. Ultimately, FaaS are an ephemeral tool in the serverless architecture. @@ -73,7 +73,7 @@ To summarize the FaaS advantages: - No dedicated resources are required to meet high demand. FaaS instances are stacked and scale linearly. - Security steps, such as multiple varying types of authentication, can be managed from multiple sources, concurrently, by using different FaaS for each family of authentication methodology. - High availability is achievable. Use multiple cloud providers for redundancy. -- FaaS is part of the DevOps culture. Changing the function lends itself to the modular, [continuous delivery](/cloud/guides/introduction-ci-cd/) philosophies. +- FaaS is part of the DevOps culture. Changing the function lends itself to the modular, [continuous delivery](/cloud/guides/introduction-ci-cd) philosophies. - Better support for different regions and language handling. Use one FaaS for an EU audience and another for North America, for instance. - You can choose any language, any framework, any cloud vendor. diff --git a/docs/guides/quick-answers/linux-essentials/introduction-to-linux-administration/index.md b/docs/guides/quick-answers/linux-essentials/introduction-to-linux-administration/index.md index dcd5badd4cc..589eeca5327 100644 --- a/docs/guides/quick-answers/linux-essentials/introduction-to-linux-administration/index.md +++ b/docs/guides/quick-answers/linux-essentials/introduction-to-linux-administration/index.md @@ -9,7 +9,7 @@ keywords: ["linux", "sysadmin", "administration"] tags: ["linux"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/)' + - '[Linux System Administration Basics](/cloud/guides/linux-system-administration-basics)' - '[Linode API Documentation](https://techdocs.akamai.com/linode-api/reference/api)' aliases: [] --- @@ -24,25 +24,25 @@ You will have to choose the best region, plan size, type, and Linux distribution If you will be the only one working on your project, a single standard user account with `sudo` access should be all you need. However, if you have multiple users, you must create accounts for each of them and make sure they have the correct permissions. Every directory and file in a Linux system has permissions setting specifying who can read, write, or execute the file. -Limited user accounts can only write to files in their home directories by default (located at `/home/username` for each user). In a common use case like hosting a website, the files for the website are often kept in `/var/www/html` or a similar directory. You can create a `web` group for editing the website and give that group access to the website files. Then you can add the user accounts for each collaborator to the `web` group. For more information, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Limited user accounts can only write to files in their home directories by default (located at `/home/username` for each user). In a common use case like hosting a website, the files for the website are often kept in `/var/www/html` or a similar directory. You can create a `web` group for editing the website and give that group access to the website files. Then you can add the user accounts for each collaborator to the `web` group. For more information, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. ## Backups -Making sure that all important data is backed up is one of a system administrator's most important tasks. Our [Introduction to Backups](/cloud/guides/introduction-to-backups/) guide explains how to find the best backup solution for your needs. +Making sure that all important data is backed up is one of a system administrator's most important tasks. Our [Introduction to Backups](/cloud/guides/introduction-to-backups) guide explains how to find the best backup solution for your needs. ## Monitoring and Diagnostic Tools The dashboard in the Linode Manager provides basic information about your Linode's status, CPU and memory usage, and network traffic. Linode also offers the [Longview](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-longview) service, which provides much more detailed insight into your Linode. Sometimes, however, issues will occur on your system and you will have to investigate to determine their cause. -Simple tools like `ping` and [MTR](/cloud/guides/diagnosing-network-issues-with-mtr/), which are available on most Linux distributions, are helpful in diagnosing network issues. There are also [shell commands](/cloud/guides/linux-system-administration-basics/#system-diagnostics) used for checking memory usage, disk allocation, and running processes. +Simple tools like `ping` and [MTR](/cloud/guides/diagnosing-network-issues-with-mtr), which are available on most Linux distributions, are helpful in diagnosing network issues. There are also [shell commands](/cloud/guides/linux-system-administration-basics#system-diagnostics) used for checking memory usage, disk allocation, and running processes. -Larger projects can benefit from more advanced monitoring tools, such as the [Elastic Stack](/cloud/guides/visualize-apache-web-server-logs-using-elastic-stack-on-debian-8/). The Elastic Stack provides dozens of services and plugins that can be used to record, index, and search different types of data, from webserver logs to geolocation data. +Larger projects can benefit from more advanced monitoring tools, such as the [Elastic Stack](/cloud/guides/visualize-apache-web-server-logs-using-elastic-stack-on-debian-8). The Elastic Stack provides dozens of services and plugins that can be used to record, index, and search different types of data, from webserver logs to geolocation data. ### Log Management Linux systems and applications maintain a number of logs, usually stored in `/var/log/`. Reviewing these logs with commands like `sudo tail -f /var/log/auth.log` is good first step to take when troubleshooting a problem. -Over time, or with more complicated applications, log files can become difficult to keep track of. In this case it is a good idea to install [logrotate](/cloud/guides/use-logrotate-to-manage-log-files/) to manage your log files. +Over time, or with more complicated applications, log files can become difficult to keep track of. In this case it is a good idea to install [logrotate](/cloud/guides/use-logrotate-to-manage-log-files) to manage your log files. ## Containers and Orchestration @@ -50,20 +50,20 @@ It has become increasingly common practice to encapsulate components of an appli ### Docker -Docker is the most commonly used container platform. [Docker Hub](https://hub.docker.com) is a public repository of thousands of images that can be used to easily build containers to run common applications, and [Docker Compose](/cloud/guides/how-to-use-docker-compose/) is a tool for running multi-container applications. +Docker is the most commonly used container platform. [Docker Hub](https://hub.docker.com) is a public repository of thousands of images that can be used to easily build containers to run common applications, and [Docker Compose](/cloud/guides/how-to-use-docker-compose) is a tool for running multi-container applications. -Read our guide on [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker/) to see if docker is a good choice for your project. To install and start working with Docker, use our [Install Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) guide. +Read our guide on [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker) to see if docker is a good choice for your project. To install and start working with Docker, use our [Install Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian) guide. ### Orchestration Tools -For larger-scale projects, orchestration tools can be very helpful. These tools allow you to manage clusters of Linodes, including giving you the ability to quickly scale or perform rolling upgrades. If your application's audience is growing rapidly, having to manually create new Linodes, deploy your application to them, then connect each new Linode to your existing cluster is time consuming and error-prone. Similarly, making sure that a large fleet of Linodes is running the most up-to-date system packages and software versions can cause a lot of difficulty. With tools like [Kubernetes](https://kubernetes.io/), [Salt](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/), and [Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/), building out and managing your infrastructure becomes much easier. +For larger-scale projects, orchestration tools can be very helpful. These tools allow you to manage clusters of Linodes, including giving you the ability to quickly scale or perform rolling upgrades. If your application's audience is growing rapidly, having to manually create new Linodes, deploy your application to them, then connect each new Linode to your existing cluster is time consuming and error-prone. Similarly, making sure that a large fleet of Linodes is running the most up-to-date system packages and software versions can cause a lot of difficulty. With tools like [Kubernetes](https://kubernetes.io/), [Salt](/cloud/guides/getting-started-with-salt-basic-installation-and-setup), and [Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode), building out and managing your infrastructure becomes much easier. ## Advanced Topics ### Load Balancing -In a larger application with many users, it often becomes important to distribute the requests received across multiple web servers. Typically, a single server, known as a *load balancer*, will listen for requests on your IP address or domain name. The balancer then forwards the requests to backend servers. Linode includes a [NodeBalancer](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers) service that will automatically balance load between attached backend nodes, and also includes monitoring and other features. If you would prefer to configure your own load balancers, start with our [HAProxy](/cloud/guides/how-to-use-haproxy-for-load-balancing/) guide. +In a larger application with many users, it often becomes important to distribute the requests received across multiple web servers. Typically, a single server, known as a *load balancer*, will listen for requests on your IP address or domain name. The balancer then forwards the requests to backend servers. Linode includes a [NodeBalancer](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers) service that will automatically balance load between attached backend nodes, and also includes monitoring and other features. If you would prefer to configure your own load balancers, start with our [HAProxy](/cloud/guides/how-to-use-haproxy-for-load-balancing) guide. ### Set Up an Email Server -With a Linode and a fully-qualified domain name (FQDN), you can set up a private email server with @your-domain.com addresses. Email server configuration can be quite complex, but fortunately there are free third-party solutions that can simplify the process. Start with our [Running a Mail Server](/cloud/guides/running-a-mail-server/) guide, or consider [Mail-in-a-Box](/cloud/guides/mail-in-a-box-email-server/) for an all-in-one solution. +With a Linode and a fully-qualified domain name (FQDN), you can set up a private email server with @your-domain.com addresses. Email server configuration can be quite complex, but fortunately there are free third-party solutions that can simplify the process. Start with our [Running a Mail Server](/cloud/guides/running-a-mail-server) guide, or consider [Mail-in-a-Box](/cloud/guides/mail-in-a-box-email-server) for an all-in-one solution. diff --git a/docs/guides/quick-answers/linux-essentials/introduction-to-systemctl/index.md b/docs/guides/quick-answers/linux-essentials/introduction-to-systemctl/index.md index 28b7a24d033..6921fe08098 100644 --- a/docs/guides/quick-answers/linux-essentials/introduction-to-systemctl/index.md +++ b/docs/guides/quick-answers/linux-essentials/introduction-to-systemctl/index.md @@ -20,7 +20,7 @@ aliases: [] `systemctl` is a controlling interface and inspection tool for the widely-adopted init system and service manager systemd. This guide will cover how to use `systemctl` to manage systemd services, work with systemd Targets and extract meaningful information about your system's overall state. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Managing Services diff --git a/docs/guides/quick-answers/linux-essentials/multi-cloud-vs-hybrid-cloud/index.md b/docs/guides/quick-answers/linux-essentials/multi-cloud-vs-hybrid-cloud/index.md index e4a375d95c3..9edc86738bb 100644 --- a/docs/guides/quick-answers/linux-essentials/multi-cloud-vs-hybrid-cloud/index.md +++ b/docs/guides/quick-answers/linux-essentials/multi-cloud-vs-hybrid-cloud/index.md @@ -85,6 +85,6 @@ You can boil this decision down by answering a simple question. Decide whether c The type of cloud strategy that you use is a decision to make upfront. It's important to understand that you can, at any time, switch routes. If you already have a multicloud environment, you can layer on a private cloud and turn the multi to a hybrid cloud deployment. Cloud host providers like Linode make adopting either as simple as signing up for your account, deploying your services, and then bridging those together with your other cloud deployments. -There's plenty of [documentation](/cloud/) to help you make this a reality. +There's plenty of [documentation](/cloud) to help you make this a reality. If you find the multicloud costs too much, or that it does not give you the control or security your company demands, you're just a private cloud deployment away from solving that problem. diff --git a/docs/guides/quick-answers/linux-essentials/what-is-linux/index.md b/docs/guides/quick-answers/linux-essentials/what-is-linux/index.md index 07f2b872d7d..b39ad30e927 100644 --- a/docs/guides/quick-answers/linux-essentials/what-is-linux/index.md +++ b/docs/guides/quick-answers/linux-essentials/what-is-linux/index.md @@ -98,8 +98,8 @@ For a comprehensive list of available package managers, visit [Wikipedia](https: There are many avenues to explore when first using Linux. Our Guides & Tutorials provide a great starting point for learning more: -- The [Introduction to Linux Concepts](/cloud/guides/introduction-to-linux-concepts/) guide will give you a more detailed and technical orientation on Linux and ways to start using it with a Linode. +- The [Introduction to Linux Concepts](/cloud/guides/introduction-to-linux-concepts) guide will give you a more detailed and technical orientation on Linux and ways to start using it with a Linode. -- Once you’re familiar with Linux and the Command Line, you can learn basic [Linux System Administration](/cloud/guides/linux-system-administration-basics/). +- Once you’re familiar with Linux and the Command Line, you can learn basic [Linux System Administration](/cloud/guides/linux-system-administration-basics). -- If you’re interested in getting started with development, the [Why use Linux for Development?](/cloud/guides/why-use-linux-for-development/) guide will give you a useful primer for making a choice about a development system. +- If you’re interested in getting started with development, the [Why use Linux for Development?](/cloud/guides/why-use-linux-for-development) guide will give you a useful primer for making a choice about a development system. diff --git a/docs/guides/quick-answers/linux-essentials/what-is-serverless-computing/index.md b/docs/guides/quick-answers/linux-essentials/what-is-serverless-computing/index.md index 4b7737c9e65..3726b47d837 100644 --- a/docs/guides/quick-answers/linux-essentials/what-is-serverless-computing/index.md +++ b/docs/guides/quick-answers/linux-essentials/what-is-serverless-computing/index.md @@ -14,7 +14,7 @@ Serverless computing is a type of application deployment architecture that allow Serverless applications are often referred to as *functions*. That is because the applications are very often simple applets that do one thing, a single function. They are not comprised of complex functions like server-side applications. -In many ways, serverless computing (often shortened to just *serverless*) is a natural evolution of [Platform-as-a-Service (PaaS)](/cloud/guides/what-is-cloud-computing/#cloud-computing-models). Whereas Infrastructure-as-a-Service (IaaS) is the basic cloud service that offers storage, networking, and virtualization, PaaS is an operating system plus a development tool environment for building applications. All back-end operations are handled by the cloud provider so the developer only has to worry about their application. To learn more about IaaS and Paas, you can view our guide [What is Cloud Computing?](https://www.linode.com/what-is-cloud-computing/) or our [Glossary of Cloud Computing Terms](https://www.linode.com/cloud-computing-terms/). +In many ways, serverless computing (often shortened to just *serverless*) is a natural evolution of [Platform-as-a-Service (PaaS)](/cloud/guides/what-is-cloud-computing#cloud-computing-models). Whereas Infrastructure-as-a-Service (IaaS) is the basic cloud service that offers storage, networking, and virtualization, PaaS is an operating system plus a development tool environment for building applications. All back-end operations are handled by the cloud provider so the developer only has to worry about their application. To learn more about IaaS and Paas, you can view our guide [What is Cloud Computing?](https://www.linode.com/what-is-cloud-computing/) or our [Glossary of Cloud Computing Terms](https://www.linode.com/cloud-computing-terms/). Serverless is similar to PaaS. It offers a fully-managed platform that frees developers from the need to maintain a server and to deal with system resources. This means the application is no longer tied to a specific server; the software runs on whatever server is available. diff --git a/docs/guides/quick-answers/linux-essentials/what-is-systemd/index.md b/docs/guides/quick-answers/linux-essentials/what-is-systemd/index.md index b63df5856b8..c57dca2f1b2 100644 --- a/docs/guides/quick-answers/linux-essentials/what-is-systemd/index.md +++ b/docs/guides/quick-answers/linux-essentials/what-is-systemd/index.md @@ -20,7 +20,7 @@ systemd is a Linux initialization system and service manager that includes featu systemd is the default init system for the major Linux distributions but is backwards compatible with SysV init scripts. SysVinit is an initialization system which predates systemd and uses a simplified approach to service startup. systemd not only manages system initialization, but also provides alternatives for other well known utilities, like cron and syslog. Because systemd does several things within the Linux user space, many have criticized it for violating [the Unix philosophy](https://en.wikipedia.org/wiki/Unix_philosophy), which emphasizes simplicity and modularity. -This guide provides an introduction to systemd by taking a closer look at systemd units. The [Mount Units](/cloud/guides/what-is-systemd/#mount-units) section will analyze a unit file that is shipped by default with systemd on an Ubuntu 18.04 system, while the [Timer Units](/cloud/guides/what-is-systemd/#timer-units) section will create a custom unit file on the same system. +This guide provides an introduction to systemd by taking a closer look at systemd units. The [Mount Units](/cloud/guides/what-is-systemd#mount-units) section will analyze a unit file that is shipped by default with systemd on an Ubuntu 18.04 system, while the [Timer Units](/cloud/guides/what-is-systemd#timer-units) section will create a custom unit file on the same system. {{< note >}} All examples in this guide were created with a Linode running Ubuntu 18.04. @@ -158,11 +158,11 @@ A mount unit file must contain a `[Mount]` section. The example mount unit file The official systemd manual notes that configuring mount points through `/etc/fstab` is the recommended approach. systemd has a `system-fstab-generator` that translates the information in the fstab file into systemd mount and swap units at runtime. {{< /note >}} -There are many other unit file types available in systemd. Read the [Use systemd to Start a Linux Service at Boot](/cloud/guides/start-service-at-boot/) guide to become more familiar with the service unit type. +There are many other unit file types available in systemd. Read the [Use systemd to Start a Linux Service at Boot](/cloud/guides/start-service-at-boot) guide to become more familiar with the service unit type. ### Timer Units -You can use systemd timer unit files to automate tasks, similarly to how [cron jobs](/cloud/guides/schedule-tasks-with-cron/) are used. However, with timer units you will also have access to systemd's powerful logging capabilities. +You can use systemd timer unit files to automate tasks, similarly to how [cron jobs](/cloud/guides/schedule-tasks-with-cron) are used. However, with timer units you will also have access to systemd's powerful logging capabilities. To better understand systemd timer units, this section will outline how a timer unit can be used to create periodic backups for a mysql database. @@ -241,8 +241,8 @@ When you start the timer unit, systemd will start it right away. To do this, iss systemd makes common system administration tasks easier to manage with its `systemctl` and `journalctl` commands. `systemctl` can be used to gather detailed information about the overall state of your server and any individual unit type. It can stop and start the server and modify the system state. In the Timer Unit Files section `systemctl` is used to enable and start an individual timer unit. systemd can be used in a similar way for any unit. -Read our *[Introduction to systemctl](/cloud/guides/introduction-to-systemctl/)* guide for a deeper dive into this systemd tool. +Read our *[Introduction to systemctl](/cloud/guides/introduction-to-systemctl)* guide for a deeper dive into this systemd tool. systemd's `journalctl` tool provides a centralized process and system logging tool. This command allows you to query the systemd journal, which creates and maintains indexed journals from logging information that is pooled from different areas within the system; areas like standard output and standard error of service units, log messages via syslog, and kernel log messages. In this way, system administrators can use a single tool to monitor and debug a server. -To learn some commonly used `journalctl` commands, see our guide *[Use journalctl to View Your System's Logs](/cloud/guides/how-to-use-journalctl/)*. +To learn some commonly used `journalctl` commands, see our guide *[Use journalctl to View Your System's Logs](/cloud/guides/how-to-use-journalctl)*. diff --git a/docs/guides/quick-answers/linux/benefits-of-linux/index.md b/docs/guides/quick-answers/linux/benefits-of-linux/index.md index 117386c3255..c728944af13 100644 --- a/docs/guides/quick-answers/linux/benefits-of-linux/index.md +++ b/docs/guides/quick-answers/linux/benefits-of-linux/index.md @@ -44,7 +44,7 @@ One of the pros of Linux is that the Linux kernel is free and it comes under the ### Fantastic Terminal Support -You don’t need to install special software to contact the backend servers for your project using add-on software with Linux. All you need is the Secure Shell (SSH) utility to access the server securely. In addition, you have access to editors like [Emacs](/cloud/guides/emacs-evil-mode/), [Nano](/cloud/guides/use-nano-text-editor-commands/), and [Vim](/cloud/guides/introduction-to-vim-customization/) that allow you to update config files or hosted Python scripts on the fly. These advantages of using Linux mean that developers spend more time writing and testing code than figuring out some arcane process to complete tasks. +You don’t need to install special software to contact the backend servers for your project using add-on software with Linux. All you need is the Secure Shell (SSH) utility to access the server securely. In addition, you have access to editors like [Emacs](/cloud/guides/emacs-evil-mode), [Nano](/cloud/guides/use-nano-text-editor-commands), and [Vim](/cloud/guides/introduction-to-vim-customization) that allow you to update config files or hosted Python scripts on the fly. These advantages of using Linux mean that developers spend more time writing and testing code than figuring out some arcane process to complete tasks. ### Amazing Driver Support diff --git a/docs/guides/quick-answers/linux/delete-file-linux-command-line/index.md b/docs/guides/quick-answers/linux/delete-file-linux-command-line/index.md index b9b5d4dd499..5036821d484 100644 --- a/docs/guides/quick-answers/linux/delete-file-linux-command-line/index.md +++ b/docs/guides/quick-answers/linux/delete-file-linux-command-line/index.md @@ -95,7 +95,7 @@ Add the `f` flag to a recursive `rm` command to skip all confirmation prompts: ### Remove Old Files Using find and rm -Combine the [find command](/cloud/guides/find-files-in-linux-using-the-command-line/)'s `-exec` option with `rm` to find and remove all files older than 28 days old. The files that match are printed on the screen (`-print`): +Combine the [find command](/cloud/guides/find-files-in-linux-using-the-command-line)'s `-exec` option with `rm` to find and remove all files older than 28 days old. The files that match are printed on the screen (`-print`): find filename* -type f -mtime +28 -exec rm '{}' ';' -print diff --git a/docs/guides/quick-answers/linux/drupal-with-docker-compose/index.md b/docs/guides/quick-answers/linux/drupal-with-docker-compose/index.md index ac7cee17552..dd55de2f7de 100644 --- a/docs/guides/quick-answers/linux/drupal-with-docker-compose/index.md +++ b/docs/guides/quick-answers/linux/drupal-with-docker-compose/index.md @@ -139,4 +139,4 @@ The `docker-compose.yml` specifies the `latest` version of the Drupal image, so ## Next Steps -More extensive documentation on Docker is available in the [Containers](/cloud/guides/applications/containers/) section of the Linode Guides & Tutorials site. +More extensive documentation on Docker is available in the [Containers](/cloud/guides/applications/containers) section of the Linode Guides & Tutorials site. diff --git a/docs/guides/quick-answers/linux/find-and-terminate-processes-from-the-linux-or-macos-command-line/index.md b/docs/guides/quick-answers/linux/find-and-terminate-processes-from-the-linux-or-macos-command-line/index.md index dad084be5f0..e09cacaa99c 100644 --- a/docs/guides/quick-answers/linux/find-and-terminate-processes-from-the-linux-or-macos-command-line/index.md +++ b/docs/guides/quick-answers/linux/find-and-terminate-processes-from-the-linux-or-macos-command-line/index.md @@ -42,6 +42,6 @@ There may be cases where there are multiple instances of the same program runnin killall [process name] -For a more information on `kill` and `killall`, see our guide on how to [Use Killall and Kill Commands to Stop Processes on Linux](/cloud/guides/use-killall-and-kill-to-stop-processes-on-linux/). +For a more information on `kill` and `killall`, see our guide on how to [Use Killall and Kill Commands to Stop Processes on Linux](/cloud/guides/use-killall-and-kill-to-stop-processes-on-linux). diff --git a/docs/guides/quick-answers/linux/how-to-add-directory-to-path/index.md b/docs/guides/quick-answers/linux/how-to-add-directory-to-path/index.md index b64317071c3..c7a38ae7352 100644 --- a/docs/guides/quick-answers/linux/how-to-add-directory-to-path/index.md +++ b/docs/guides/quick-answers/linux/how-to-add-directory-to-path/index.md @@ -35,10 +35,10 @@ These are the problems the `PATH` variable is designed to solve. In this tutoria sudo dnf upgrade -1. You may want to take a refresher on environmental variables. You can get everything you need to know from our guide [How to Set and Use Linux Environmental Variables](/cloud/guides/how-to-set-linux-environment-variables/). +1. You may want to take a refresher on environmental variables. You can get everything you need to know from our guide [How to Set and Use Linux Environmental Variables](/cloud/guides/how-to-set-linux-environment-variables). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is the PATH Variable? diff --git a/docs/guides/quick-answers/linux/how-to-add-linux-alias-command-in-bashrc-file/index.md b/docs/guides/quick-answers/linux/how-to-add-linux-alias-command-in-bashrc-file/index.md index 37c4852f0b0..6086dbb3f56 100644 --- a/docs/guides/quick-answers/linux/how-to-add-linux-alias-command-in-bashrc-file/index.md +++ b/docs/guides/quick-answers/linux/how-to-add-linux-alias-command-in-bashrc-file/index.md @@ -24,7 +24,7 @@ This guide covers two ways to alias commands: There are two ways to create aliases for your use, temporary and permanent. Temporary aliases are only available to use until you close your current terminal session. Permanent aliases are saved to the shell configuration file and are available for every new session you create. -Again, temporary aliases are only good for the current terminal session. Once you close that session, they are no longer available. To make them permanent, you can save your aliases in the shell configuration file. You can read more about temporary aliases in our general guide on aliases, [How to Use the Linux alias Command](/cloud/guides/how-to-use-the-linux-alias-command/). +Again, temporary aliases are only good for the current terminal session. Once you close that session, they are no longer available. To make them permanent, you can save your aliases in the shell configuration file. You can read more about temporary aliases in our general guide on aliases, [How to Use the Linux alias Command](/cloud/guides/how-to-use-the-linux-alias-command). In the Bash shell, you can save aliases directly in a configuration file. There are several files you can save aliases to: @@ -150,4 +150,4 @@ Then run the function with the following syntax: You are changed into that directory and get a directory listing with common options with a single command. -These are a simplistic examples meant to illustrate what you can achieve with aliasing. Bash functions are powerful and allow you to do much more complex operations. For more on Bash shell scripting, see the guide series starting with [Introduction to Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting/). +These are a simplistic examples meant to illustrate what you can achieve with aliasing. Bash functions are powerful and allow you to do much more complex operations. For more on Bash shell scripting, see the guide series starting with [Introduction to Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting). diff --git a/docs/guides/quick-answers/linux/how-to-install-selinux-on-debian-10/index.md b/docs/guides/quick-answers/linux/how-to-install-selinux-on-debian-10/index.md index 68e0f258a07..34752beb799 100644 --- a/docs/guides/quick-answers/linux/how-to-install-selinux-on-debian-10/index.md +++ b/docs/guides/quick-answers/linux/how-to-install-selinux-on-debian-10/index.md @@ -25,7 +25,7 @@ Ubuntu has a Mandatory Access Control (MAC) system similar to [SELinux](https:// 1. Ensure that you have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Update your system: @@ -148,4 +148,4 @@ If you do not see the this entry, open the port with the following command: {{< /note >}} ## Next Steps -After installing SELinux on your system, use our [Getting Started with SELinux Guide](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7/) to learn the basics of SELinux security. +After installing SELinux on your system, use our [Getting Started with SELinux Guide](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7) to learn the basics of SELinux security. diff --git a/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-18-04/index.md b/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-18-04/index.md index a242b71f648..3f366ad3043 100644 --- a/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-18-04/index.md +++ b/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-18-04/index.md @@ -25,7 +25,7 @@ Ubuntu has a Mandatory Access Control (MAC) system similar to [SELinux](https:// 1. Ensure that you have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Update the system: @@ -276,4 +276,4 @@ If you wish to permanently disable SELinux even when the system reboots, make ch And, now if you restart the system, SELinux and its policies won’t be in place anymore. ## Next Steps -After installing SELinux on the system, use the [Getting Started with SELinux Guide](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7/) to learn the basics of SELinux security. +After installing SELinux on the system, use the [Getting Started with SELinux Guide](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7) to learn the basics of SELinux security. diff --git a/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-22-04/index.md b/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-22-04/index.md index d9b34ae50a9..5afb5b4b873 100644 --- a/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-22-04/index.md +++ b/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-22-04/index.md @@ -25,7 +25,7 @@ According to [the official Security Enhanced Linux project page](http://www.seli 2. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## SELinux Installation @@ -131,7 +131,7 @@ The presence of `/etc/selinux/config` is a sign that the host is ready for confi ## SELinux Management -[SELinux has several options](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7/) beyond the scope of this guide. Configuration is commonly achieved through configuration files rather than graphical user interface (GUI) or command line applications. +[SELinux has several options](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7) beyond the scope of this guide. Configuration is commonly achieved through configuration files rather than graphical user interface (GUI) or command line applications. ### Enabling SELinux diff --git a/docs/guides/quick-answers/linux/how-to-use-git/index.md b/docs/guides/quick-answers/linux/how-to-use-git/index.md index 031a1628694..df44421c139 100644 --- a/docs/guides/quick-answers/linux/how-to-use-git/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-git/index.md @@ -16,7 +16,7 @@ external_resources: - '[Github Guides](https://guides.github.com/)' --- -Git is a [version control system](https://en.wikipedia.org/wiki/Version_control) that can be used to manage software projects. This guide's six steps will show you how to initialize a Git repository, stage files for a commit, and commit these files to a local Git repository. For fuller instruction, refer to our more robust guide on [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/). +Git is a [version control system](https://en.wikipedia.org/wiki/Version_control) that can be used to manage software projects. This guide's six steps will show you how to initialize a Git repository, stage files for a commit, and commit these files to a local Git repository. For fuller instruction, refer to our more robust guide on [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows). 1. Create a folder in which to store your files, then initialize a Git repository in that folder: diff --git a/docs/guides/quick-answers/linux/how-to-use-grep/index.md b/docs/guides/quick-answers/linux/how-to-use-grep/index.md index 42fac46bfbf..e2d62a3b933 100644 --- a/docs/guides/quick-answers/linux/how-to-use-grep/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-grep/index.md @@ -30,4 +30,4 @@ In this guide, you'll learn how to use the `grep` command. When performing admin This example will search the `/etc/ssh/sshd_config` file for strings of alphabetic characters that are 16-20 characters long, but you can use any regex pattern you like. -These are simply a few basic ways to use `grep`. Many other options exist, and in combination with other tools, it serves as an invaluable utility for performing administrative tasks on your Linode. For more information on some of `grep`'s advanced features, check out our guide on how to [search and filter text with grep](/cloud/guides/how-to-use-grep-command/). +These are simply a few basic ways to use `grep`. Many other options exist, and in combination with other tools, it serves as an invaluable utility for performing administrative tasks on your Linode. For more information on some of `grep`'s advanced features, check out our guide on how to [search and filter text with grep](/cloud/guides/how-to-use-grep-command). diff --git a/docs/guides/quick-answers/linux/how-to-use-head/index.md b/docs/guides/quick-answers/linux/how-to-use-head/index.md index 450fd6a0261..30c1bc74ea0 100644 --- a/docs/guides/quick-answers/linux/how-to-use-head/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-head/index.md @@ -37,4 +37,4 @@ In this guide, you'll learn how to use the `head` command. Using `head` is a sim This command would search the first ten lines of your access log and only display those that contain the IP address `198.51.100.1`. You can also apply options to `head` for an even more specific output. -These are just the basics of how to use `head`. It is an incredibly useful tool with many more options than we've listed here. To learn more advanced techniques, please check out our full guide on [the head command](/cloud/guides/view-the-beginning-of-text-files-with-head/). +These are just the basics of how to use `head`. It is an incredibly useful tool with many more options than we've listed here. To learn more advanced techniques, please check out our full guide on [the head command](/cloud/guides/view-the-beginning-of-text-files-with-head). diff --git a/docs/guides/quick-answers/linux/how-to-use-journalctl/index.md b/docs/guides/quick-answers/linux/how-to-use-journalctl/index.md index 8e75a92994c..544fdd45530 100644 --- a/docs/guides/quick-answers/linux/how-to-use-journalctl/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-journalctl/index.md @@ -47,7 +47,7 @@ Your logs will be displayed from oldest to newest. To reverse this order and dis ### Paging through Your Logs -journalctl pipes its output to [the `less` command](/cloud/guides/how-to-use-less/), which shows your logs one page at a time in your terminal. If a log line exceeds the horizontal width of your terminal window, you can use the left and right arrow keys to scroll horizontally and see the rest of the line: +journalctl pipes its output to [the `less` command](/cloud/guides/how-to-use-less), which shows your logs one page at a time in your terminal. If a log line exceeds the horizontal width of your terminal window, you can use the left and right arrow keys to scroll horizontally and see the rest of the line: Furthermore, your logs can be navigated and searched by using all the same key commands available in `less`: diff --git a/docs/guides/quick-answers/linux/how-to-use-tail/index.md b/docs/guides/quick-answers/linux/how-to-use-tail/index.md index ddcf6f09354..d7af4fd055f 100644 --- a/docs/guides/quick-answers/linux/how-to-use-tail/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-tail/index.md @@ -37,4 +37,4 @@ In this guide, you'll learn how to use the `tail` command. Using `tail` is a sim This command would search the last ten lines of your access log and only display those that contain the IP address `198.51.100.1`. You can also apply options to `tail` in order to show more or less lines, view the filtered results in real time, and more. -These are just the basics of how to use `tail`. It is an incredibly useful tool with many more options than we've listed here. To learn more advanced techniques, please check out our full guide on [the tail command](/cloud/guides/view-and-follow-the-end-of-text-files-with-tail/). +These are just the basics of how to use `tail`. It is an incredibly useful tool with many more options than we've listed here. To learn more advanced techniques, please check out our full guide on [the tail command](/cloud/guides/view-and-follow-the-end-of-text-files-with-tail). diff --git a/docs/guides/quick-answers/linux/how-to-use-the-linux-alias-command/index.md b/docs/guides/quick-answers/linux/how-to-use-the-linux-alias-command/index.md index 36a65b1a18e..0de78797472 100644 --- a/docs/guides/quick-answers/linux/how-to-use-the-linux-alias-command/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-the-linux-alias-command/index.md @@ -136,4 +136,4 @@ Here are some helpful `alias` examples that you may wish to save: ## Next Steps -To learn more about saving permanent aliases in Bash configuration files as well as using arguments in aliases utilizing Bash functions, see the guide [How to Add the Linux alias Command in the .bashrc File](/cloud/guides/how-to-add-linux-alias-command-in-bashrc-file/). +To learn more about saving permanent aliases in Bash configuration files as well as using arguments in aliases utilizing Bash functions, see the guide [How to Add the Linux alias Command in the .bashrc File](/cloud/guides/how-to-add-linux-alias-command-in-bashrc-file). diff --git a/docs/guides/quick-answers/linux/linux-command-line-tips/index.md b/docs/guides/quick-answers/linux/linux-command-line-tips/index.md index 27f288e8b1b..b371ecdd044 100644 --- a/docs/guides/quick-answers/linux/linux-command-line-tips/index.md +++ b/docs/guides/quick-answers/linux/linux-command-line-tips/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' tags: ["linux"] --- -These are just a few of the many commands and tricks available in the Linux terminal. Visit our guide for a deeper [introduction to Linux concepts](/cloud/guides/introduction-to-linux-concepts/). +These are just a few of the many commands and tricks available in the Linux terminal. Visit our guide for a deeper [introduction to Linux concepts](/cloud/guides/introduction-to-linux-concepts). ## Basic Linux Terminal Things to Know diff --git a/docs/guides/quick-answers/linux/linux-mount-command/index.md b/docs/guides/quick-answers/linux/linux-mount-command/index.md index d194ae7a239..7bbf7bb224f 100644 --- a/docs/guides/quick-answers/linux/linux-mount-command/index.md +++ b/docs/guides/quick-answers/linux/linux-mount-command/index.md @@ -31,7 +31,7 @@ mount [-fnrsvw] [-t fstype] [-o options] device mountpoint There are other, less used, combinations that the [mount command supports](https://man7.org/linux/man-pages/man8/mount.8.html). This guide uses the term "operation" to indicate a task that the `mount` command performs and the term "option" to indicate how the `mount` command performs the task. -When looking at the command line syntax, [`-fnrsvw`] represents a list of operations you can perform. However, you can perform only one at a time. Of the options shown, `-f` (fake) allows you to perform a dry run of the operation to ensure it works before you perform the actual operation. The `-t` option (which stands for the type of file system, or how the mount command creates the connection) is discussed in the [A Quick Overview of File Systems](/cloud/guides/linux-mount-command/#a-quick-overview-of-file-systems) section. +When looking at the command line syntax, [`-fnrsvw`] represents a list of operations you can perform. However, you can perform only one at a time. Of the options shown, `-f` (fake) allows you to perform a dry run of the operation to ensure it works before you perform the actual operation. The `-t` option (which stands for the type of file system, or how the mount command creates the connection) is discussed in the [A Quick Overview of File Systems](/cloud/guides/linux-mount-command#a-quick-overview-of-file-systems) section. The `mount` command also comes with a number of options that don’t deal with the file system type. You use the `-o` switch to specify one or more options, with each option comma-separated. Not all options work with all operations, as explained later. The following are the most commonly used options: @@ -83,7 +83,7 @@ umount -h|-V When looking at the command line syntax, [`-dflnrv`] represents a list of operations you can perform. However, you can perform only one at a time. Of the options shown, `-f` (fake) allows you to perform a dry run of the operation to ensure it works before you do it for real. As with the mount command, you can specify a particular file system using the `-t` option. Since the server already knows about the special file system, you use this option less often than when working with the mount command. -The main concern when using `umount` is ensuring the device you want to unmount is in a stable state with no users connected to it. The following is a list of operations you can perform with `umount` and options to modify `umount` behavior. Some of the operations are covered in more detail in the [How to Use the Linux Umount Command](/cloud/guides/linux-mount-command/#how-to-use-the-linux-umount-command) section. The operations are case-sensitive so that `-a` is different from `-A`: +The main concern when using `umount` is ensuring the device you want to unmount is in a stable state with no users connected to it. The following is a list of operations you can perform with `umount` and options to modify `umount` behavior. Some of the operations are covered in more detail in the [How to Use the Linux Umount Command](/cloud/guides/linux-mount-command#how-to-use-the-linux-umount-command) section. The operations are case-sensitive so that `-a` is different from `-A`: - `-a`, `--all`: Unmounts all of the file systems described in the `/proc/self/mountinfo` file except file systems of type `proc`, `devfs`, `devpts`, `sysfs`, `rpc_pipefs`, and `nfsd`. As an alternative, you can use the `-t` option to specify particular file system types. @@ -95,11 +95,11 @@ The main concern when using `umount` is ensuring the device you want to unmount - `--fake`: Performs all the required tasks for an unmount except for the actual unmounting process. This option allows you to see what happens when you run the command without using the `--fake` switch. -- `-f`, `--force`: Forces an unmount to occur. Using this option can cause umount to hang. The [Performing a Forced Unmount](/cloud/guides/linux-mount-command/#performing-a-forced-unmount) section covers this operation in more detail. +- `-f`, `--force`: Forces an unmount to occur. Using this option can cause umount to hang. The [Performing a Forced Unmount](/cloud/guides/linux-mount-command#performing-a-forced-unmount) section covers this operation in more detail. - `-i`, `--internal-only`: Doesn’t call the `umount.` helper code found in the `/sbin` directory, even if it exists. If you perform a directory command on the `/sbin` directory you may see files such as `mount.cifs` and `umount.udisks2` that are helpers. The mount or umount part of the helper filename references the command, while the `cifs` and `udisks2` part of the filename reference the file system. This option can be helpful when an unprivileged help hangs when attempting to unmount a drive. -- `-l`, `--lazy`: Unmounts the file system from the file hierarchy immediately, but cleans up the references later to allow the umount command to return earlier so the system isn't blocked. The[ Performing a Lazy Unmount](/cloud/guides/linux-mount-command/#performing-a-lazy-unmount) section provides more details on this operation. +- `-l`, `--lazy`: Unmounts the file system from the file hierarchy immediately, but cleans up the references later to allow the umount command to return earlier so the system isn't blocked. The[ Performing a Lazy Unmount](/cloud/guides/linux-mount-command#performing-a-lazy-unmount) section provides more details on this operation. - `-N`, `--namespace ns`: Unmounts the [mount namespace](https://man7.org/linux/man-pages/man7/mount_namespaces.7.html) specified by `ns`, where `ns` is either a Process ID (PID) running in the [target namespace](https://www.redhat.com/sysadmin/mount-namespaces), or it’s a special file representing the namespace. The umount command switches to the target namespace to read from `/etc/fstab`, write to `/etc/mtab` or `/run/mount`, or perform the umount system call. Otherwise, it uses the original namespace so that the target namespace doesn’t have to contain any special libraries. diff --git a/docs/guides/quick-answers/linux/linux-mount-smb-share/index.md b/docs/guides/quick-answers/linux/linux-mount-smb-share/index.md index 498b00759aa..efff12ef8af 100644 --- a/docs/guides/quick-answers/linux/linux-mount-smb-share/index.md +++ b/docs/guides/quick-answers/linux/linux-mount-smb-share/index.md @@ -18,11 +18,11 @@ Determining how to share files and directories between computers is a common pro This guide covers the Server Message Block (SMB) protocol. Specifically, it discusses using the SMB protocol to mount a Windows SMB share (a shared directory) to a Linux system. By following this guide, you will be able to access all of your files within a Windows folder (such as `C:\My_Files`) on your Linux system at whichever directory you choose as a mount point (such as `/mnt/my_files`). This method of file sharing is appropriate when you need to access entire Windows directories remotely as if they were local resources. In most cases, SMB is a native (or easily installed) file sharing solution for users that need access to the same directory and is commonly shared through a corporate intranet or the same private network. {{< note >}} -Network File System (NFS) is another distributed file system protocol that's similar to SMB. While SMB is more commonly used in primarily Windows environments and NFS is used in primary Linux environments, both have cross-platform support. This guide does not cover NFS, but you can learn more about it by reading through our [NFS guides](/cloud/guides/networking/nfs/). If you are not in a Windows environment and are looking to share directories between Linux systems, consider using NFS. +Network File System (NFS) is another distributed file system protocol that's similar to SMB. While SMB is more commonly used in primarily Windows environments and NFS is used in primary Linux environments, both have cross-platform support. This guide does not cover NFS, but you can learn more about it by reading through our [NFS guides](/cloud/guides/networking/nfs). If you are not in a Windows environment and are looking to share directories between Linux systems, consider using NFS. {{< /note >}} {{< note type="warning" >}} -While security and performance of the SMB protocol has improved over time, it is often still a concern when connecting to an SMB share over the internet. This is typically not recommended unless you are using [SMB over QUIC](https://learn.microsoft.com/en-us/windows-server/storage/file-server/smb-over-quic) (recently introduced on Windows 11 and Windows Server 2022), intend to always use the latest protocol version (3.1.1 as of this writing), or are connected through a personal or corporate VPN. If you are not able to implement these recommendations and still wish to share files over the internet, consider if the [SFTP](/cloud/guides/sftp-linux/) protocol would work for you instead. +While security and performance of the SMB protocol has improved over time, it is often still a concern when connecting to an SMB share over the internet. This is typically not recommended unless you are using [SMB over QUIC](https://learn.microsoft.com/en-us/windows-server/storage/file-server/smb-over-quic) (recently introduced on Windows 11 and Windows Server 2022), intend to always use the latest protocol version (3.1.1 as of this writing), or are connected through a personal or corporate VPN. If you are not able to implement these recommendations and still wish to share files over the internet, consider if the [SFTP](/cloud/guides/sftp-linux) protocol would work for you instead. {{< /note >}} ## Overview of the SMB Protocol @@ -97,8 +97,8 @@ The LinuxCIFS utils package provides the tools needed to connect to a share and All files in Linux are accessible on a single giant hierarchical directory tree, which starts at the root (`/`). The mount command (used in this tutorial) enables you to access other storage devices or file systems from that same tree. These other storage resources do not have to be physical disks and they do not have to be using the same file system. To learn more about the mount command, review the following guides: -- [Quick Guide to the Linux Mount Command](/cloud/guides/linux-mount-command/) -- [Mount a File System on Linux](/cloud/guides/mount-file-system-on-linux/) +- [Quick Guide to the Linux Mount Command](/cloud/guides/linux-mount-command) +- [Mount a File System on Linux](/cloud/guides/mount-file-system-on-linux) The following sections detail how to mount an SMB share on Ubuntu, but the essential process is the same for other Linux distributions. diff --git a/docs/guides/quick-answers/linux/linux-vs-windows/index.md b/docs/guides/quick-answers/linux/linux-vs-windows/index.md index 846428519fe..b910bf594d5 100644 --- a/docs/guides/quick-answers/linux/linux-vs-windows/index.md +++ b/docs/guides/quick-answers/linux/linux-vs-windows/index.md @@ -60,11 +60,11 @@ Although Linux users have been waiting for the “Year of the Linux Desktop”, ## Web Server Technologies: Windows vs. Linux -Linux dominates Windows when it comes to web services, thanks to the success of the [Apache web server](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/), the [Docker container runtime](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/), the [Kubernetes container orchestration system](/cloud/guides/beginners-guide-to-kubernetes/), and [WordPress publishing platform](/cloud/guides/how-to-install-wordpress-ubuntu-2004/). +Linux dominates Windows when it comes to web services, thanks to the success of the [Apache web server](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04), the [Docker container runtime](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian), the [Kubernetes container orchestration system](/cloud/guides/beginners-guide-to-kubernetes), and [WordPress publishing platform](/cloud/guides/how-to-install-wordpress-ubuntu-2004). Web hosting and other internet services are changing. Microsoft server editions, which can be expensive, host both non-Microsoft web server products as well as its own products. Microsoft attempts to make its offerings including client-side browsers, browser support, web services programming, and hosting models, highly proprietary. -Linux dominates web services partially because of the [LAMP stack (Linux, Apache, MySQL, and Perl/PHP)](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/). Today, the LAMP stack and variants are a systematic, highly-deployed, go-to development stack. Many of the word's web applications use variants of the LAMP stack to server their content to the Internet. +Linux dominates web services partially because of the [LAMP stack (Linux, Apache, MySQL, and Perl/PHP)](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04). Today, the LAMP stack and variants are a systematic, highly-deployed, go-to development stack. Many of the word's web applications use variants of the LAMP stack to server their content to the Internet. Both Apache and [NGINX web servers] dominate the world-wide web, far eclipsing Microsoft’s Internet Information Server/IIS. Both Apache and NGINX FOSS web servers run freely on Windows Server platform, and do so at a highly-scalable and license-cost-free model. diff --git a/docs/guides/quick-answers/linux/open-source-software-benefits/index.md b/docs/guides/quick-answers/linux/open-source-software-benefits/index.md index c001ed41010..3d280d6ccd3 100644 --- a/docs/guides/quick-answers/linux/open-source-software-benefits/index.md +++ b/docs/guides/quick-answers/linux/open-source-software-benefits/index.md @@ -61,7 +61,7 @@ This lack of vendor lock-in plays into cost, reliability, and flexibility. Any c ## More Web-Based Tools -The world depends on the cloud and other web-based systems. Although many traditional administrators still prefer to configure and manage from the command-line, the tide is shifting to a web-based frontier. Many open-source operating systems, such as Red Hat, Alma Linux, and Rocky Linux, now ship with Cockpit, a web-based admin GUI, installed by default. The Linux operating system is turning more toward web-based tools for those users who prefer them. Tools like Cockpit, [Webmin](/cloud/marketplace-docs/guides/webmin/), [phpMyAdmin](/cloud/marketplace-docs/guides/phpmyadmin/), [cPanel](/cloud/marketplace-docs/guides/cpanel/), VestaCP, Ajenti, froxlor, aaPanel, ISPConfig, and Sentora, provide companies with centralized administration of their servers and services. +The world depends on the cloud and other web-based systems. Although many traditional administrators still prefer to configure and manage from the command-line, the tide is shifting to a web-based frontier. Many open-source operating systems, such as Red Hat, Alma Linux, and Rocky Linux, now ship with Cockpit, a web-based admin GUI, installed by default. The Linux operating system is turning more toward web-based tools for those users who prefer them. Tools like Cockpit, [Webmin](/cloud/marketplace-docs/guides/webmin), [phpMyAdmin](/cloud/marketplace-docs/guides/phpmyadmin), [cPanel](/cloud/marketplace-docs/guides/cpanel), VestaCP, Ajenti, froxlor, aaPanel, ISPConfig, and Sentora, provide companies with centralized administration of their servers and services. The need for more web-based tools is continuing to rise because more companies are migrating their servers from on-premises data centers to third-party hosting services, where Linux enjoys the largest deployment market share. @@ -81,7 +81,7 @@ The advantage of open-source software support is that it's everywhere. Most Linu ## Containers -Nearly every business now depends on [containers](/cloud/guides/applications/containers/). Containerized applications make it possible for businesses to be more agile, more highly scalable, save money, deploy more reliable applications and services, and better lean into cloud-native development. +Nearly every business now depends on [containers](/cloud/guides/applications/containers). Containerized applications make it possible for businesses to be more agile, more highly scalable, save money, deploy more reliable applications and services, and better lean into cloud-native development. Containers and open-source go hand-in-hand. They are built with open-source software and deployed on open-source platforms. In fact, without open-source, containers would either not exist or be as readily available. According to the "[Application Container Market - Growth, Trends, COVID-19 Impact, and Forecast (2021-2026)](https://www.researchandmarkets.com/reports/4845968/application-container-market-growth-trends)" the container market is expected to register a compound annual growth rate of 29% between 2021-2026. That's significant and means more businesses will come to depend on containerized technology. This wouldn't be possible without open-source. diff --git a/docs/guides/quick-answers/linux/open-source-vs-closed-source/index.md b/docs/guides/quick-answers/linux/open-source-vs-closed-source/index.md index 0f07228801f..514d7de084c 100644 --- a/docs/guides/quick-answers/linux/open-source-vs-closed-source/index.md +++ b/docs/guides/quick-answers/linux/open-source-vs-closed-source/index.md @@ -23,7 +23,7 @@ That’s fine for users. For programmers, it was another story. Instead of shari One developer who was especially annoyed at closed-source software was MIT’s Richard M. Stallman. He created a new legal approach, the GNU Public Library (GPL) for what he called “Free Software.” This framework would prove the launch-pad for open-source software. -Over the last 30-years, open-source software made a comeback. First, the rise of the commercial Internet and web made it easier for developers to work together. Then, open-source programs such as the Linux operating system and the [Apache HTTP Server](/cloud/guides/web-servers/apache-tips-and-tricks/) showed that this kind of software could be far cheaper, better, and more secure than their closed-source rivals. +Over the last 30-years, open-source software made a comeback. First, the rise of the commercial Internet and web made it easier for developers to work together. Then, open-source programs such as the Linux operating system and the [Apache HTTP Server](/cloud/guides/web-servers/apache-tips-and-tricks) showed that this kind of software could be far cheaper, better, and more secure than their closed-source rivals. Since then, many popular end-user programs such as Firefox, LibreOffice, and Thunderbird often replace, or rival, closed-source programs such as Internet Explorer, Microsoft Office, and Outlook. diff --git a/docs/guides/quick-answers/linux/ssh-key-authentication-how-to-troubleshoot-permission-issues/index.md b/docs/guides/quick-answers/linux/ssh-key-authentication-how-to-troubleshoot-permission-issues/index.md index d6bb91b12a5..ae6a51fe67c 100644 --- a/docs/guides/quick-answers/linux/ssh-key-authentication-how-to-troubleshoot-permission-issues/index.md +++ b/docs/guides/quick-answers/linux/ssh-key-authentication-how-to-troubleshoot-permission-issues/index.md @@ -60,7 +60,7 @@ debug1: identity file /Users/username/.ssh/id_rsa type 0 ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no @ -1. If you were able to gain access to your Linode in the previous step, follow our [Use SSH Public Key Authentication on Linux, macOS, and Windows](/cloud/guides/use-public-key-authentication-with-ssh/) guide to properly configure public key authentication. +1. If you were able to gain access to your Linode in the previous step, follow our [Use SSH Public Key Authentication on Linux, macOS, and Windows](/cloud/guides/use-public-key-authentication-with-ssh) guide to properly configure public key authentication. 1. (**Optional**) If you do not want to use public-key authentication in the future, turn off `PubKeyAuthentication` in the `/etc/ssh/sshd_config` file. @@ -111,7 +111,7 @@ PasswordAuthentication Yes ### The Target Server Does Not Have a Copy of the Public Key -This situation arises because the target server does not have your public key. Without that information, it cannot locate the key when it receives the SSH request. To correct this, copy the public key into the `authorized_keys` file in your directory on the Linode. For more information on how to generate a public key, see our [Use SSH Public Key Authentication on Linux, macOS, and Windows](/cloud/guides/use-public-key-authentication-with-ssh/) guide. +This situation arises because the target server does not have your public key. Without that information, it cannot locate the key when it receives the SSH request. To correct this, copy the public key into the `authorized_keys` file in your directory on the Linode. For more information on how to generate a public key, see our [Use SSH Public Key Authentication on Linux, macOS, and Windows](/cloud/guides/use-public-key-authentication-with-ssh) guide. 1. Locate the file containing the public key file on your client. The file is usually named `id_rsa.pub`. On macOS devices, it is typically located at `/Users//.ssh/`, while on Linux systems it can be found at `/home//.ssh/`. On Windows systems, the file location is user-defined. diff --git a/docs/guides/quick-answers/linux/use-nano-to-edit-files-in-linux/index.md b/docs/guides/quick-answers/linux/use-nano-to-edit-files-in-linux/index.md index 69faacaf77f..bbe37c01458 100644 --- a/docs/guides/quick-answers/linux/use-nano-to-edit-files-in-linux/index.md +++ b/docs/guides/quick-answers/linux/use-nano-to-edit-files-in-linux/index.md @@ -9,7 +9,7 @@ keywords: ["nano", "terminal", "command line", "shell"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Using nano](/cloud/guides/use-nano-text-editor-commands/)' + - '[Using nano](/cloud/guides/use-nano-text-editor-commands)' - '[nano help](https://www.nano-editor.org/dist/v2.8/nano.html)' - '[Emacs, nano, or Vim: Choose your Terminal-Based Test Editor Wisely](https://medium.com/linode-cube/emacs-nano-or-vim-choose-your-terminal-based-text-editor-wisely-8f3826c92a68)' tags: ["linux"] @@ -17,7 +17,7 @@ tags: ["linux"] GNU nano, or more commonly, nano is the basic, built-in editor for most Linux distributions. In this QuickAnswer, we'll cover some of the essentials to help you get started. -To learn more, visit our full guide on [using nano](/cloud/guides/use-nano-text-editor-commands/). +To learn more, visit our full guide on [using nano](/cloud/guides/use-nano-text-editor-commands). ## Use nano to Open a System File diff --git a/docs/guides/quick-answers/linux/use-the-ps-aux-command-in-linux/index.md b/docs/guides/quick-answers/linux/use-the-ps-aux-command-in-linux/index.md index 15538a237e9..bd2cfd2f7e6 100644 --- a/docs/guides/quick-answers/linux/use-the-ps-aux-command-in-linux/index.md +++ b/docs/guides/quick-answers/linux/use-the-ps-aux-command-in-linux/index.md @@ -9,7 +9,7 @@ published: 2021-01-25 keywords: ["ps aux command"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[Backing Up Your Data](/cloud/guides/backing-up-your-data/)' + - '[Backing Up Your Data](/cloud/guides/backing-up-your-data)' tags: ["linux"] --- The `ps aux` command is a tool to monitor processes running on your Linux system. A *process* is associated with any program running on your system, and is used to manage and monitor a program's memory usage, processor time, and I/O resources. Since the `ps aux` command displays an overview of all the processes that are running, it is a great tool to understand and troubleshoot the health and state of your Linux system. This guide provides an introduction to the `ps aux` command with brief examples to help you interpret its output. @@ -161,5 +161,5 @@ The `ps` command has many other available options. For example, `ps` allows you ### Use `top` as an Alternative to the `ps` Command -The `top` command is also a good tool to use to monitor your system's processes. One benefit to the `top` command is that it updates its values and statistics in real time. You can also sort its output by CPU usage, and it allows you to kill a process using a semi-graphical UI. If you'd like to learn more about the `top` command, check out the [Using top to Monitor Server Performance](/cloud/guides/top-htop-iotop/) guide. +The `top` command is also a good tool to use to monitor your system's processes. One benefit to the `top` command is that it updates its values and statistics in real time. You can also sort its output by CPU usage, and it allows you to kill a process using a semi-graphical UI. If you'd like to learn more about the `top` command, check out the [Using top to Monitor Server Performance](/cloud/guides/top-htop-iotop) guide. diff --git a/docs/guides/quick-answers/linux/using-e2fsck-to-fix-ext-disk-issues/index.md b/docs/guides/quick-answers/linux/using-e2fsck-to-fix-ext-disk-issues/index.md index 8aaf5cee618..2ba1bbee654 100644 --- a/docs/guides/quick-answers/linux/using-e2fsck-to-fix-ext-disk-issues/index.md +++ b/docs/guides/quick-answers/linux/using-e2fsck-to-fix-ext-disk-issues/index.md @@ -17,7 +17,7 @@ aliases: [] ## What is e2fsck? -**e2fsck** is a utility that examines `ext2`, `ext3`, and `ext4` filesystems for errors, and attempts to repair them if possible. It is the backend tool that the popular [fsck](/cloud/guides/how-to-use-fsck-to-fix-disk-problems/) frontend utility calls for a combination of tasks related to `ext` filesystems. +**e2fsck** is a utility that examines `ext2`, `ext3`, and `ext4` filesystems for errors, and attempts to repair them if possible. It is the backend tool that the popular [fsck](/cloud/guides/how-to-use-fsck-to-fix-disk-problems) frontend utility calls for a combination of tasks related to `ext` filesystems. On some systems, e2fsck runs automatically after an unclean shutdown or after a certain number of reboots. diff --git a/docs/guides/quick-answers/linux/wordpress-with-docker-compose/index.md b/docs/guides/quick-answers/linux/wordpress-with-docker-compose/index.md index 8c6fb10fae5..e8cabd96b3d 100644 --- a/docs/guides/quick-answers/linux/wordpress-with-docker-compose/index.md +++ b/docs/guides/quick-answers/linux/wordpress-with-docker-compose/index.md @@ -125,4 +125,4 @@ The `docker-compose.yml` specifies the `latest` version of the WordPress image, ## Next Steps -More extensive documentation on Docker is available in the [Containers](/cloud/guides/applications/containers/) section of the Linode Guides & Tutorials site. +More extensive documentation on Docker is available in the [Containers](/cloud/guides/applications/containers) section of the Linode Guides & Tutorials site. diff --git a/docs/guides/quick-answers/websites/how-to-enable-disable-website/index.md b/docs/guides/quick-answers/websites/how-to-enable-disable-website/index.md index 1dadc437cc8..a234df909c2 100644 --- a/docs/guides/quick-answers/websites/how-to-enable-disable-website/index.md +++ b/docs/guides/quick-answers/websites/how-to-enable-disable-website/index.md @@ -24,7 +24,7 @@ Taking a site offline, even temporarily, can affect its *Search Engine Optimizat ## Disable and Enable a Website on the NGINX Web Server -By default, [*NGINX*](https://www.nginx.com/) installed on Ubuntu and Debian systems uses the `sites-available` and `sites-enabled` directories or folders to control website access. This approach is often used even on other Linux systems. If the Linode instance is already using these two directories, follow the instructions in the [Use the Sites-Enabled Directory](#use-the-sites-enabled-directory) subsection. Otherwise, skip to the [Use the Virtual Host File on the NGINX Web Server](/cloud/guides/how-to-enable-disable-website/#use-the-virtual-host-file-on-the-nginx-web-server) subsection. +By default, [*NGINX*](https://www.nginx.com/) installed on Ubuntu and Debian systems uses the `sites-available` and `sites-enabled` directories or folders to control website access. This approach is often used even on other Linux systems. If the Linode instance is already using these two directories, follow the instructions in the [Use the Sites-Enabled Directory](#use-the-sites-enabled-directory) subsection. Otherwise, skip to the [Use the Virtual Host File on the NGINX Web Server](/cloud/guides/how-to-enable-disable-website#use-the-virtual-host-file-on-the-nginx-web-server) subsection. ### Use the Sites-Enabled Directory @@ -107,7 +107,7 @@ Some Linux systems do not use the `sites-available` and `sites-enabled` director 1. Reload NGINX and confirm the site is accessible again. {{< note >}} -There could be cases where a website does not have a separate virtual host file. This might occur if it is the only site on the Linode instance, or if the system is using a non-standard configuration. In this case, comment out all the lines in the website's vhost entry, using the `#` symbol. See the [Use the Virtual Host File on the Apache Web Server](/cloud/guides/how-to-enable-disable-website/#use-the-virtual-host-file-on-the-apache-web-server) section of this guide for more information. +There could be cases where a website does not have a separate virtual host file. This might occur if it is the only site on the Linode instance, or if the system is using a non-standard configuration. In this case, comment out all the lines in the website's vhost entry, using the `#` symbol. See the [Use the Virtual Host File on the Apache Web Server](/cloud/guides/how-to-enable-disable-website#use-the-virtual-host-file-on-the-apache-web-server) section of this guide for more information. {{< /note >}} ## Disable and Enable a Website on the Apache Web Server diff --git a/docs/guides/quick-answers/websites/transferring-a-mern-application-to-a-new-server/index.md b/docs/guides/quick-answers/websites/transferring-a-mern-application-to-a-new-server/index.md index a16b66a1e86..74732d06cbf 100644 --- a/docs/guides/quick-answers/websites/transferring-a-mern-application-to-a-new-server/index.md +++ b/docs/guides/quick-answers/websites/transferring-a-mern-application-to-a-new-server/index.md @@ -14,7 +14,7 @@ external_resources: - '[NPM](https://www.npmjs.com/)' --- -The [Quick Deploy App](/cloud/marketplace-docs/guides/mern-stack/) for the MERN stack (MongoDB, Express, React, Node.js) is a great way to create the base configuration equipped with all the essentials for a MERN stack quickly, however the Akamai Quick Deploy App itself will still require tuning to host your MERN application. Transferring an application to a new host for example, can be a complex process depending on the specifics of your configuration. This guide was designed to serve as reference for users currently undergoing the migration process, and aims to clear up potential confusion and common issues that can occur. +The [Quick Deploy App](/cloud/marketplace-docs/guides/mern-stack) for the MERN stack (MongoDB, Express, React, Node.js) is a great way to create the base configuration equipped with all the essentials for a MERN stack quickly, however the Akamai Quick Deploy App itself will still require tuning to host your MERN application. Transferring an application to a new host for example, can be a complex process depending on the specifics of your configuration. This guide was designed to serve as reference for users currently undergoing the migration process, and aims to clear up potential confusion and common issues that can occur. ## Transferring the Application @@ -26,7 +26,7 @@ Before proceeding with any migration, it is first recommended that the Akamai Qu - Node.js - NPM {{< note >}} -Users who prefer building applications with alternative package Managers for Node.js like [Yarn](/cloud/guides/install-and-use-the-yarn-package-manager/) will need to install the package manager manually. +Users who prefer building applications with alternative package Managers for Node.js like [Yarn](/cloud/guides/install-and-use-the-yarn-package-manager) will need to install the package manager manually. {{< /note >}} Additionally, this will install the default `hello-world` react application which you may opt to remove to. @@ -44,7 +44,7 @@ The default `hello-world` Flask application included as part of the MERN Quick D ## Preparing for The Transfer -Before, proceeding with any remote transfer, it is strongly recommended the original host that will be transferring data to the Linode has [Backups](/cloud/guides/backing-up-your-data/) available to restore from. While standard backup solutions will work for the majority of the MERN Stack, a database dump for MongoDB should be performed by using the [mongodump](https://docs.mongodb.com/database-tools/mongodump/) command. +Before, proceeding with any remote transfer, it is strongly recommended the original host that will be transferring data to the Linode has [Backups](/cloud/guides/backing-up-your-data) available to restore from. While standard backup solutions will work for the majority of the MERN Stack, a database dump for MongoDB should be performed by using the [mongodump](https://docs.mongodb.com/database-tools/mongodump/) command. {{< note >}} If using a Cloud-Native database like **MongoDB Atlas**, the steps for transferring your database may differ, and users should consult the documentation of their database host. @@ -95,7 +95,7 @@ The packages installed using the `npm install` command will install all node mod Once these steps are completed, your node configuration should successfully be running. {{< note >}} -Some MERN applications are dependent on a specific version of Node in order to serve content. If you encounter errors related to your version of Node, you can additionally install tools like the [Node Version Manager(NVM)](/cloud/guides/how-to-install-use-node-version-manager-nvm/) in order to easily switch to your needed version of Node. +Some MERN applications are dependent on a specific version of Node in order to serve content. If you encounter errors related to your version of Node, you can additionally install tools like the [Node Version Manager(NVM)](/cloud/guides/how-to-install-use-node-version-manager-nvm) in order to easily switch to your needed version of Node. {{< /note >}} diff --git a/docs/guides/security/authentication/create-an-oauth-app-with-the-python-api-library/index.md b/docs/guides/security/authentication/create-an-oauth-app-with-the-python-api-library/index.md index 8c578b66ca0..567c156c92b 100644 --- a/docs/guides/security/authentication/create-an-oauth-app-with-the-python-api-library/index.md +++ b/docs/guides/security/authentication/create-an-oauth-app-with-the-python-api-library/index.md @@ -169,7 +169,7 @@ def index(): ) ``` -It is important to note that the two API queries in the above code are slightly different from one another. The `client.regions` method is a top-level method, just as it appears in the [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary#regions-list). The `client.linode.types` method, on the other hand, is part of the Linode group, which is a collection of methods that deal with Linodes. Again, this is because Linode endpoints are grouped that way in the [API](/cloud/api/linode-types/#types-list). Some methods in the Linode Python library are top level, such as `domain_create`, while others, like `networking.ip_assign`, are part of a group. For more information on the top-level methods and groupings, consult the [library documentation](https://linode-api4.readthedocs.io/en/latest/linode_api4/linode_client.html#grouping). +It is important to note that the two API queries in the above code are slightly different from one another. The `client.regions` method is a top-level method, just as it appears in the [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary#regions-list). The `client.linode.types` method, on the other hand, is part of the Linode group, which is a collection of methods that deal with Linodes. Again, this is because Linode endpoints are grouped that way in the [API](/cloud/api/linode-types#types-list). Some methods in the Linode Python library are top level, such as `domain_create`, while others, like `networking.ip_assign`, are part of a group. For more information on the top-level methods and groupings, consult the [library documentation](https://linode-api4.readthedocs.io/en/latest/linode_api4/linode_client.html#grouping). In addition to querying the API, the above route also renders the `configure.html` template by passing it the types, regions, application name, and StackScript object. The StackScript object contains a list of StackScript compatible images. We will cover templating in a later section. @@ -210,7 +210,7 @@ Below is a list of available scopes: - OAuthScopes.ObjectStorage - OAuthScopes.Images -Each scope is broken into five permissions: `ready_only`, and `read_write`. For more information about the scopes and permissions see, [OAuth reference](/cloud/api/#oauth-reference) documentation. +Each scope is broken into five permissions: `ready_only`, and `read_write`. For more information about the scopes and permissions see, [OAuth reference](/cloud/api#oauth-reference) documentation. {{< /note >}} ### Manage the OAuth 2 Callback URL diff --git a/docs/guides/security/authentication/freeipa-for-identity-management/index.md b/docs/guides/security/authentication/freeipa-for-identity-management/index.md index 7db32f6d1e0..8c8488ff112 100644 --- a/docs/guides/security/authentication/freeipa-for-identity-management/index.md +++ b/docs/guides/security/authentication/freeipa-for-identity-management/index.md @@ -35,7 +35,7 @@ This guide assumes: - Two fully functional Linodes equal to a [2GB Plan](https://www.linode.com/pricing/) or greater must be created using CentOS 7 or later. One will host the FreeIPA server, while the other will host the client. - You have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. One will host the FreeIPA server, while the other will host the client. -- You are familiar with the [command line](/cloud/guides/introduction-to-linux-concepts/#so-youre-staring-at-a-shell-prompt) +- You are familiar with the [command line](/cloud/guides/introduction-to-linux-concepts#so-youre-staring-at-a-shell-prompt) - FreeIPA requires that the user has possession of their own fully qualified domain name (FQDN) with an active subdomain for both the client and server. Before proceeding, ensure that each Linode has A/AAAA records configured using a [Unique Subdomain](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for both the server and client Linode respectively. - [Set up Reverse DNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) for each Linode using their full unique subdomain. @@ -49,7 +49,7 @@ First, the FreeIPA Server and Client Linodes must be prepared for the installati sudo hostname ipa.example.com ``` -1. [Edit the systems hosts file](/cloud/guides/using-your-systems-hosts-file/) to reflect the new hostname. +1. [Edit the systems hosts file](/cloud/guides/using-your-systems-hosts-file) to reflect the new hostname. ```file {title="/etc/hosts" lang="conf"} 127.0.0.1 localhost.localdomain localhost @@ -66,7 +66,7 @@ First, the FreeIPA Server and Client Linodes must be prepared for the installati | 53 | DNS | TCP/UDP | | 123 | NTP | UDP | - All of the above ports can be opened using the commands in[firewalld cmd list](/cloud/guides/introduction-to-firewalld-on-centos/). Type the following command: + All of the above ports can be opened using the commands in[firewalld cmd list](/cloud/guides/introduction-to-firewalld-on-centos). Type the following command: ```command firewall-cmd --permanent --add-port={80/tcp,443/tcp,389/tcp,636/tcp,88/tcp,464/tcp,53/tcp,88/udp,464/udp,53/udp,123/udp} diff --git a/docs/guides/security/authentication/how-to-self-host-the-vaultwarden-password-manager/index.md b/docs/guides/security/authentication/how-to-self-host-the-vaultwarden-password-manager/index.md index 5190abfdf26..4c012050504 100644 --- a/docs/guides/security/authentication/how-to-self-host-the-vaultwarden-password-manager/index.md +++ b/docs/guides/security/authentication/how-to-self-host-the-vaultwarden-password-manager/index.md @@ -38,7 +38,7 @@ Ubuntu 20.04 is the distribution used in this guide. Generally speaking, any Lin If you choose to configure a firewall, remember to open ports 80 and 443 for the Caddy server. The [Configure a Firewall](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) section of the guide outlines different firewall software options. {{< /note >}} -1. Make sure you have registered a Fully Qualified Domain Name (FQDN) and set up [A and AAAA](/cloud/guides/dns-overview/#a-and-aaaa) DNS records that point to the public [IPv4 and IPv6 addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) of the Linode. Consult the [DNS Records: An Introduction](/cloud/guides/dns-overview/) and [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guides for help with setting up a domain. A proper domain name is important to acquire a certificate for HTTPS connectivity. +1. Make sure you have registered a Fully Qualified Domain Name (FQDN) and set up [A and AAAA](/cloud/guides/dns-overview#a-and-aaaa) DNS records that point to the public [IPv4 and IPv6 addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) of the Linode. Consult the [DNS Records: An Introduction](/cloud/guides/dns-overview) and [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guides for help with setting up a domain. A proper domain name is important to acquire a certificate for HTTPS connectivity. ## Install Docker @@ -235,7 +235,7 @@ As an additional security precaution, you may elect to disable user registration Before relying on this service for any important data, you should take additional steps to safeguard the data stored within Vaultwarden. Encrypted data is stored within a flat file sqlite3 database. In order to reliably backup this data, you should *not* simply copy the file. Instead, use the sqlite3 `.backup` command. This command ensures that the database is in a consistent state when the backup is taken. -1. Review the [Backing Up Your Data](/cloud/guides/backing-up-your-data/) guide in order to determine the best location to store the backups. In this example, a local file system path is used. +1. Review the [Backing Up Your Data](/cloud/guides/backing-up-your-data) guide in order to determine the best location to store the backups. In this example, a local file system path is used. {{< note respectIndent=false >}} In a more resilient setup, these local backups should be replicated onto another service or host to guard against single-host failure. diff --git a/docs/guides/security/authentication/secure-instance-with-fido2-key/index.md b/docs/guides/security/authentication/secure-instance-with-fido2-key/index.md index 289d32b428f..9153cbacd5b 100644 --- a/docs/guides/security/authentication/secure-instance-with-fido2-key/index.md +++ b/docs/guides/security/authentication/secure-instance-with-fido2-key/index.md @@ -176,7 +176,7 @@ Now that your mobile device has been paired and your Akamai-compatible FIDO2 SSH --ssh_key "[public-key]" ``` - For more details, review the CLI request sample on the [SSH Key Add API reference](/cloud/api/profile/#ssh-key-add). + For more details, review the CLI request sample on the [SSH Key Add API reference](/cloud/api/profile#ssh-key-add). {{< /tab >}} {{< tab "Linode API" >}} Perform the API request below, replacing *[public-key]* with the SSH key that was generated by the akr tool. @@ -191,7 +191,7 @@ Now that your mobile device has been paired and your Akamai-compatible FIDO2 SSH https://api.linode.com/v4/profile/sshkeys ``` - For more details, review the shell request sample on the [SSH Key Add API reference](/cloud/api/profile/#ssh-key-add). + For more details, review the shell request sample on the [SSH Key Add API reference](/cloud/api/profile#ssh-key-add). {{< /tab >}} {{< /tabs >}} @@ -200,7 +200,7 @@ Now that your mobile device has been paired and your Akamai-compatible FIDO2 SSH 1. When the Compute Instance has finished provisioning and is in a running state, you can [connect to it via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). After the host public key fingerprint is validated, you'll receive a push-based prompt on your phone to verify the connection attempt. Once the connect request is approved, you should be successfully logged in to the remote system. {{< note >}} -You can also use your FIDO2 SSH key on existing Compute Instances or other Linux systems. See the [Using SSH Public Key Authentication on Linux, macOS, and Windows](/cloud/guides/use-public-key-authentication-with-ssh/#upload-the-public-key) guide for instructions on copying your SSH key. +You can also use your FIDO2 SSH key on existing Compute Instances or other Linux systems. See the [Using SSH Public Key Authentication on Linux, macOS, and Windows](/cloud/guides/use-public-key-authentication-with-ssh#upload-the-public-key) guide for instructions on copying your SSH key. {{< /note >}} ## Additional SSH Configuration diff --git a/docs/guides/security/backups/backing-up-your-data/index.md b/docs/guides/security/backups/backing-up-your-data/index.md index 5b830bf3da6..0376ace9c06 100644 --- a/docs/guides/security/backups/backing-up-your-data/index.md +++ b/docs/guides/security/backups/backing-up-your-data/index.md @@ -120,7 +120,7 @@ You need a basic level of comfort with the command line to make the initial back - **Rotation**: Basic rotation is manual. However, with the right options, you can store all of your old backups in a minimal amount of space. This will be covered later. -Rsync will be covered in more detail later in this guide. You can also read our [rsync guide](/cloud/guides/introduction-to-rsync/) for more information. +Rsync will be covered in more detail later in this guide. You can also read our [rsync guide](/cloud/guides/introduction-to-rsync) for more information. ### MySQL Backups @@ -132,7 +132,7 @@ The data stored in your database can change quickly. Running a MySQL dump is arg - **Where**: The backup file is saved on your server or downloaded to your home computer by default. You can move the file somewhere else if you want it stored in a different location. - **Rotation**: Basic rotation is manual. -To make human-readable backups of your databases that can be imported to a new database server, [follow these instructions](/cloud/guides/mysqldump-backups/). +To make human-readable backups of your databases that can be imported to a new database server, [follow these instructions](/cloud/guides/mysqldump-backups). ### Tar @@ -161,7 +161,7 @@ Explanation of flags: - v or --verbose: Shows which files were processed - f or --file=ARCHIVE: Tells us that the next argument is the name for the new archive file -For a more detailed discussion of tar and more examples, see [Archiving and Compressing files with GNU Tar and GNU Zip](/cloud/guides/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/). +For a more detailed discussion of tar and more examples, see [Archiving and Compressing files with GNU Tar and GNU Zip](/cloud/guides/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip). ### Rdiff-backup @@ -172,7 +172,7 @@ Rdiff-backup is a utility designed to make incremental backups. As their [websit - **Where** : You set the destination. You can back up to a different folder on your server, a different Linux server, or your home computer. - **Rotation**: Both old and new files are kept. -For information, see [Using Rdiff-backup with SSHFS](/cloud/guides/using-rdiff-backup-with-sshfs/). +For information, see [Using Rdiff-backup with SSHFS](/cloud/guides/using-rdiff-backup-with-sshfs). ## Manual Backup via Rsync @@ -272,7 +272,7 @@ If this is your first time running the command, select your favorite text editor 0 3 * * * rsync -ahvz --delete --link-dest=~/backups/public_orig user@production_server:~/public ~/backups/public_$(date -I) {{< note respectIndent=false >}} -For more information about cron, and to learn how to create a custom schedule for your rsync command, see [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/). +For more information about cron, and to learn how to create a custom schedule for your rsync command, see [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron). {{< /note >}} Congratulations! You have now configured daily automatic snapshot-style backups. If something goes wrong with your server, you'll be able to restore from a backup at any time. @@ -498,7 +498,7 @@ The `copyfrom` location is the path to what you want to back up on your producti Since you're trying to copy from a remote server (the production server), you should provide the SSH login credentials first. Then use a colon (`:`), followed by an absolute file path to the folder you want to back up. -In this example, you're backing up the `~/public` directory, which is where your websites should be located if you followed the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide. `~` is a shortcut for `/home/user/`. The trailing `/` is omitted from the final directory because you want to include the `public` folder itself in the backup, not just its contents. +In this example, you're backing up the `~/public` directory, which is where your websites should be located if you followed the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04) guide. `~` is a shortcut for `/home/user/`. The trailing `/` is omitted from the final directory because you want to include the `public` folder itself in the backup, not just its contents. If you want to do a full-server backup from root, you should use `/*` as your path. You should also exclude some folders from the backup so you don't get a lot of warnings and errors every time you run it. `/dev`, `/proc`, `/sys`, `/tmp`, and `/run` do not contain permanent data, and `/mnt` is the mount point for other file systems. To make an exclusion, add the `--exclude` option at the very end of the rsync command, after everything else. diff --git a/docs/guides/security/backups/backup-filesystem-to-object-storage-with-restic/index.md b/docs/guides/security/backups/backup-filesystem-to-object-storage-with-restic/index.md index e8a23fbcb32..51d027e3a01 100644 --- a/docs/guides/security/backups/backup-filesystem-to-object-storage-with-restic/index.md +++ b/docs/guides/security/backups/backup-filesystem-to-object-storage-with-restic/index.md @@ -23,7 +23,7 @@ To be successful, backups should be automatic, reliable, and secure. This guide Restic is a backup utility written in Go. It is cross-platform and works on most Linux distributions with a kernel newer than 2.6.23. Each backup is stored as a *snapshot* in a *repository*. The repository can be stored on most cloud storage providers, or even in a separate directory on your Linode (not recommended.) This guide explains how to use Linode Object Storage to hold your backup repository. {{< note >}} -The steps in this guide require root privileges, and commands are run with `sudo` unless otherwise noted. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges, and commands are run with `sudo` unless otherwise noted. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -141,7 +141,7 @@ System Cron jobs exist as entries in the `/etc/crontab` file. Open your systems sudo crontab -e ``` -Add a line pointing to your backup script. This example runs the backup at 12am every day. See the [Schedule tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) article for additional scheduling options. +Add a line pointing to your backup script. This example runs the backup at 12am every day. See the [Schedule tasks with Cron](/cloud/guides/schedule-tasks-with-cron) article for additional scheduling options. ```command 0 0 * * * /usr/local/bin/backup_files > /tmp/backup-log.txt 2>&1 @@ -219,7 +219,7 @@ It can get tedious typing out the arguments to the Restic command. To make life Because the credentials that Restic uses were created under the root user's home folder, the example alias in this section only works for the root user. {{< /note >}} -In your `root` user's `.profile` file, add the lines in the example. For example, on an Ubuntu system this file is located in `/root/.profile`. To learn more about creating reusable aliases, see the [How to Add the Linux alias Command in the .bashrc File](/cloud/guides/how-to-add-linux-alias-command-in-bashrc-file/) guide. +In your `root` user's `.profile` file, add the lines in the example. For example, on an Ubuntu system this file is located in `/root/.profile`. To learn more about creating reusable aliases, see the [How to Add the Linux alias Command in the .bashrc File](/cloud/guides/how-to-add-linux-alias-command-in-bashrc-file) guide. ```file {title="/root/.profile"} ... diff --git a/docs/guides/security/backups/create-restic-repository-shortguide/index.md b/docs/guides/security/backups/create-restic-repository-shortguide/index.md index 057d1979919..c964b9710ab 100644 --- a/docs/guides/security/backups/create-restic-repository-shortguide/index.md +++ b/docs/guides/security/backups/create-restic-repository-shortguide/index.md @@ -52,7 +52,7 @@ Store this password securely and somewhere other than your Linode. Your backups Your access key, secret key, and password are required every time Restic communicates with your repository. To make it easier to work with your repository, create a shell script containing your credentials. {{< note >}} -The examples in this section use the Nano text editor. Refer to the [Nano Text Editor Commands](/cloud/guides/use-nano-text-editor-commands/) guide if you're not familiar with Nano. +The examples in this section use the Nano text editor. Refer to the [Nano Text Editor Commands](/cloud/guides/use-nano-text-editor-commands) guide if you're not familiar with Nano. {{< /note >}} 1. To keep your credentials secure, using a text editor, create the example script in the root user's home directory, and run all your Restic scripts as the root user. The example uses the Nano text editor. diff --git a/docs/guides/security/basics/advanced-ssh-server-security/index.md b/docs/guides/security/basics/advanced-ssh-server-security/index.md index 12d943e93a9..27cce5ee4be 100644 --- a/docs/guides/security/basics/advanced-ssh-server-security/index.md +++ b/docs/guides/security/basics/advanced-ssh-server-security/index.md @@ -40,7 +40,7 @@ There's a good chance you've been using SSH (Secure Shell) to access your Linode sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.BACKUP {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Use a Stronger Diffie-Hellman Algorithm @@ -127,7 +127,7 @@ To add the generated password to your existing private key: This assumes you keep your client's private SSH key in its default location, `~/.ssh/id_rsa`. You can modify the file location as needed and use the same command to change your password in the future. -An alternative to this method is the use of a [GPG smartcard](https://en.wikipedia.org/wiki/OpenPGP_card) or [YubiKey](https://www.yubico.com/products/yubikey-hardware/) which should be stored in a different place from your laptop. You can find more information about this implementation in the guide [How to use a GPG key for SSH authentication](/cloud/guides/gpg-key-for-ssh-authentication/) +An alternative to this method is the use of a [GPG smartcard](https://en.wikipedia.org/wiki/OpenPGP_card) or [YubiKey](https://www.yubico.com/products/yubikey-hardware/) which should be stored in a different place from your laptop. You can find more information about this implementation in the guide [How to use a GPG key for SSH authentication](/cloud/guides/gpg-key-for-ssh-authentication) ## Chroot Users diff --git a/docs/guides/security/basics/cloud-security-checklist/index.md b/docs/guides/security/basics/cloud-security-checklist/index.md index 58925720287..01235c3f430 100644 --- a/docs/guides/security/basics/cloud-security-checklist/index.md +++ b/docs/guides/security/basics/cloud-security-checklist/index.md @@ -60,7 +60,7 @@ Misconfigurations are the most common reason for breaches, but not the only one. ### Have a Comprehensive Data Backup and Recovery Plan -Data can be lost on-premise as well as in the cloud due to a variety of reasons, from hardware failure to malicious actions such as ransomware. A comprehensive backup and restoration plan spanning on-premise to the cloud is an essential part of an organization’s data protection plan to survive and recover from a security event. Create an extensive backup strategy that defines which data must be backed up, how often that data must be backed up, and monitor backup and recovery tasks. Backups can be done on-premise, off-site, or through your CSP. See the [How to Prevent a Ransomware Attack](/cloud/guides/ransomware-attack/#how-to-prevent-a-ransomware-attack) section of our guide on preventing ransomware attacks for more information. +Data can be lost on-premise as well as in the cloud due to a variety of reasons, from hardware failure to malicious actions such as ransomware. A comprehensive backup and restoration plan spanning on-premise to the cloud is an essential part of an organization’s data protection plan to survive and recover from a security event. Create an extensive backup strategy that defines which data must be backed up, how often that data must be backed up, and monitor backup and recovery tasks. Backups can be done on-premise, off-site, or through your CSP. See the [How to Prevent a Ransomware Attack](/cloud/guides/ransomware-attack#how-to-prevent-a-ransomware-attack) section of our guide on preventing ransomware attacks for more information. ### Security Patches and Updates diff --git a/docs/guides/security/basics/confidential-computing/index.md b/docs/guides/security/basics/confidential-computing/index.md index 47f8c08dd7a..3a28d160f30 100644 --- a/docs/guides/security/basics/confidential-computing/index.md +++ b/docs/guides/security/basics/confidential-computing/index.md @@ -20,7 +20,7 @@ The Consortium was launched in August, 2019 under the wing of the Linux Foundati Cloud computing technology walls off sensitive data in a protected enclave in a CPU during processing – aka data in use. The data tucked inside – and the processing munching on it – are only accessible by authorized computer code. No one and nothing else can detect its presence. Think of it as a black box. Once the processing is done, the data reverts to another state – either at rest (stored) or in transit (migrating to another destination). -The primary goal is to make accessing data stored in the cloud and allowing cloud services to access sensitive data residing anywhere, safe for the most sensitive of data and workloads. It’s a tall order in an age with an increasing amount of [cyber attacks](/cloud/guides/types-of-cyber-attacks/#the-major-cyber-attacks). But that’s exactly why a new approach and a team of protectors are so sorely needed. +The primary goal is to make accessing data stored in the cloud and allowing cloud services to access sensitive data residing anywhere, safe for the most sensitive of data and workloads. It’s a tall order in an age with an increasing amount of [cyber attacks](/cloud/guides/types-of-cyber-attacks#the-major-cyber-attacks). But that’s exactly why a new approach and a team of protectors are so sorely needed. ## Confidential Computing Use Cases diff --git a/docs/guides/security/basics/cpanel-security/index.md b/docs/guides/security/basics/cpanel-security/index.md index ff456246ce5..2ecbec8e586 100644 --- a/docs/guides/security/basics/cpanel-security/index.md +++ b/docs/guides/security/basics/cpanel-security/index.md @@ -31,9 +31,9 @@ In order to secure your cPanel account, you need to have a Linux server with the - cPanel -For a quick an easy way to install cPanel on Linode, check out our guide on [How to Deploy cPanel with Quick Deploy Apps](/cloud/marketplace-docs/guides/cpanel/). +For a quick an easy way to install cPanel on Linode, check out our guide on [How to Deploy cPanel with Quick Deploy Apps](/cloud/marketplace-docs/guides/cpanel). -Otherwise, you can find instructions on how to manually install cPanel in our guide on [How to Install cPanel on CentOS](/cloud/guides/install-cpanel-on-centos/). +Otherwise, you can find instructions on how to manually install cPanel in our guide on [How to Install cPanel on CentOS](/cloud/guides/install-cpanel-on-centos). This guide provides instructions on how to secure a cPanel account. Once cPanel is installed, log in as the `root` user and complete the steps to [Create a New Account](https://docs.cpanel.net/whm/account-functions/create-a-new-account/). If you are running cPanel on a Linode as a reseller, you can provide this guide to your account holders to assist them in managing their accounts securely. @@ -101,7 +101,7 @@ You can specify SSH access through the use of SSH keys for authentication. This 1. Click **Manage SSH Keys**. -1. You have the options of importing an already created key generating your own key pair. For guidance and information on using and creating SSH Keys, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). +1. You have the options of importing an already created key generating your own key pair. For guidance and information on using and creating SSH Keys, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh). ![Select 'Generate a New Key' or 'Import Key'.](cpanel-ssh-access.png "Select 'Generate a New Key' or 'Import Key'.") diff --git a/docs/guides/security/basics/dnssec/index.md b/docs/guides/security/basics/dnssec/index.md index 3053ffbdcb9..977f42a74a2 100644 --- a/docs/guides/security/basics/dnssec/index.md +++ b/docs/guides/security/basics/dnssec/index.md @@ -85,7 +85,7 @@ The chain of trust is a key concept in DNSSEC. It establishes that each DNSSEC-e 1. Follow our Introduction to [DNS on Linux](/cloud/guides/introduction-to-dns-on-linux) guide to set up a functional primary name server. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Enable DNSSEC Using NSD @@ -134,7 +134,7 @@ This guide uses the `yourdomianhere.com` domain as an example. Replace this addr export KSK=`/usr/bin/ldns-keygen -k -a ECDSAP256SHA256 -b 2048 yourdomainehere.com` ``` -1. **Optional**: Capture the ZSK and KSK variables for later reuse in the [Zone Maintenance](/cloud/guides/dnssec/#zone-maintenance) section. +1. **Optional**: Capture the ZSK and KSK variables for later reuse in the [Zone Maintenance](/cloud/guides/dnssec#zone-maintenance) section. ```command echo $ZSK > yourdomainhere.com.zsk diff --git a/docs/guides/security/basics/docker-security-essentials/index.md b/docs/guides/security/basics/docker-security-essentials/index.md index 4191431f776..7d5b57e37f7 100644 --- a/docs/guides/security/basics/docker-security-essentials/index.md +++ b/docs/guides/security/basics/docker-security-essentials/index.md @@ -21,13 +21,13 @@ Docker utilizes the host OS Kernel, which makes Docker containers more efficient ## Prerequisites and Requirements -In order to secure Docker containers, you need to have a Linux server with Docker running. For a quick an easy way to install Docker on Linode, check out our guide on [How to Deploy Docker with Quick Deploy Apps](/cloud/marketplace-docs/guides/docker/). Otherwise, you can find instructions on how to manually install Docker in [Installing and Using Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/). +In order to secure Docker containers, you need to have a Linux server with Docker running. For a quick an easy way to install Docker on Linode, check out our guide on [How to Deploy Docker with Quick Deploy Apps](/cloud/marketplace-docs/guides/docker). Otherwise, you can find instructions on how to manually install Docker in [Installing and Using Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian). {{< note >}} This demonstration has been performed on Ubuntu 18.04. All techniques demonstrated are distribution agnostic with the exception of package names and package managers. {{< /note >}} -This guide assumes you are familiar with using Docker and Dockerfiles. For additional guidance, see our guide on [How to Use Dockerfiles](/cloud/guides/how-to-use-dockerfiles/). +This guide assumes you are familiar with using Docker and Dockerfiles. For additional guidance, see our guide on [How to Use Dockerfiles](/cloud/guides/how-to-use-dockerfiles). ## 8 Best Practices for Docker Host Security diff --git a/docs/guides/security/basics/how-to-secure-phpmyadmin/index.md b/docs/guides/security/basics/how-to-secure-phpmyadmin/index.md index 5464da899c7..2ec33c880f1 100644 --- a/docs/guides/security/basics/how-to-secure-phpmyadmin/index.md +++ b/docs/guides/security/basics/how-to-secure-phpmyadmin/index.md @@ -133,7 +133,7 @@ After restarting Apache2, the homepage for phpMyAdmin, will be freely accessible Login can be completed using the credentials that were created at the prompt when installing phpMyAdmin. {{< note >}} -While not included in this guide or a base installation of phpMyAdmin, it is strongly recommended that [SSL/TLS is installed](/cloud/guides/ssl-apache2-debian-ubuntu/) before entering any credentials over `http`, using only `https` on port `443` instead. +While not included in this guide or a base installation of phpMyAdmin, it is strongly recommended that [SSL/TLS is installed](/cloud/guides/ssl-apache2-debian-ubuntu) before entering any credentials over `http`, using only `https` on port `443` instead. {{< /note >}} ## Changing phpMyAdmin Alias diff --git a/docs/guides/security/basics/how-to-use-fail2ban-for-ssh-brute-force-protection/index.md b/docs/guides/security/basics/how-to-use-fail2ban-for-ssh-brute-force-protection/index.md index f537aed2f7e..2c7d064dab4 100644 --- a/docs/guides/security/basics/how-to-use-fail2ban-for-ssh-brute-force-protection/index.md +++ b/docs/guides/security/basics/how-to-use-fail2ban-for-ssh-brute-force-protection/index.md @@ -30,7 +30,7 @@ This guide uses Ubuntu, but the commands are similar for other systems. sudo apt update && sudo apt upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing And Configuring Fail2Ban diff --git a/docs/guides/security/basics/ransomware-attack/index.md b/docs/guides/security/basics/ransomware-attack/index.md index 3c7b595172b..a0a8e7aa942 100644 --- a/docs/guides/security/basics/ransomware-attack/index.md +++ b/docs/guides/security/basics/ransomware-attack/index.md @@ -40,7 +40,7 @@ The ability of intruders to access the network, and then wait undetected, before A [Twitter thread by security researcher Ming Zhao](https://twitter.com/FabiusMercurius/status/1413601716918910978) shows the depth of the ransomware marketplace and the variety of actors. The flow of funds from victims to criminals, how their attacks have grown, and how the price of cryptocurrency influences their actions, are also revealed in this thread. -Ransomware criminals count on several weak links in an IT department’s governance that often leave entry points easily exposed. For example, there are [numerous open network ports](/cloud/guides/check-linux-ports-in-use/) that aren’t carefully monitored, or infrastructure that isn’t consistently managed or maintained with delays in patching and deploying system updates. The role of backups has completely changed in the ransomware era. Attackers are more adept at penetrating networks which forces backup strategies to become more sophisticated and cover a wider variety of circumstances, threat models, and conditions. As more of us use our smartphones for work purposes, this means that we store data on our phones, making corporate backup solutions ineffective if our phones are lost or stolen. Backup tools also weren't initially designed for heavily virtualized and cloud computing environments, which makes them difficult to scale as virtual and cloud servers are brought online. +Ransomware criminals count on several weak links in an IT department’s governance that often leave entry points easily exposed. For example, there are [numerous open network ports](/cloud/guides/check-linux-ports-in-use) that aren’t carefully monitored, or infrastructure that isn’t consistently managed or maintained with delays in patching and deploying system updates. The role of backups has completely changed in the ransomware era. Attackers are more adept at penetrating networks which forces backup strategies to become more sophisticated and cover a wider variety of circumstances, threat models, and conditions. As more of us use our smartphones for work purposes, this means that we store data on our phones, making corporate backup solutions ineffective if our phones are lost or stolen. Backup tools also weren't initially designed for heavily virtualized and cloud computing environments, which makes them difficult to scale as virtual and cloud servers are brought online. There are a variety of delivery systems for ransomware. Phished email is most common, but there are other mechanisms that involve malware-infected smartphone apps that masquerade as innocent tools or games, infected software injected into supply chains, or websites that contain malware that can be inadvertently downloaded. Phishing can also come from a poisoned SMS text (Smishing), a voicemail message (vishing) or an instant message. diff --git a/docs/guides/security/basics/secure-web-server/index.md b/docs/guides/security/basics/secure-web-server/index.md index 07f3c7cd977..ced05fc88ae 100644 --- a/docs/guides/security/basics/secure-web-server/index.md +++ b/docs/guides/security/basics/secure-web-server/index.md @@ -40,7 +40,7 @@ Users generate requests from their web browsers and this entire software infrast Server security is just one aspect of overall digital security ethos. It includes using network firewalls to protect overall network infrastructure, and using anti-malware software to protect endpoint computers, among other tools. Security risks to web servers involve a series of [these general kinds of attacks](https://blog.avast.com/create-a-secure-web-server-avast), which are described in more detail in the next section. -First, be concerned if you are **not using the basic secure socket layer/transport layer security (SSL/TLS) protocols** to encrypt traffic across the internet. Hackers can launch various man-in-the-middle attacks and inject their own commands into the server control dialogues. They could also create backdoors to launch attacks against any online business. In a [report from the Synopsys Software Integrity Group](https://www.synopsys.com/software-integrity/resources/analyst-reports/software-vulnerability-trends.html), 80% of surveyed respondents said the most prevalent vulnerability was based on weak SSL/TLS configurations. Google already began forcing web servers to run HTTPS, which encrypts traffic between servers and browsers, rather than the unprotected HTTP protocol. For a basic tutorial about how and why to employ cryptography, [check out this guide](/cloud/guides/what-is-cryptography/). +First, be concerned if you are **not using the basic secure socket layer/transport layer security (SSL/TLS) protocols** to encrypt traffic across the internet. Hackers can launch various man-in-the-middle attacks and inject their own commands into the server control dialogues. They could also create backdoors to launch attacks against any online business. In a [report from the Synopsys Software Integrity Group](https://www.synopsys.com/software-integrity/resources/analyst-reports/software-vulnerability-trends.html), 80% of surveyed respondents said the most prevalent vulnerability was based on weak SSL/TLS configurations. Google already began forcing web servers to run HTTPS, which encrypts traffic between servers and browsers, rather than the unprotected HTTP protocol. For a basic tutorial about how and why to employ cryptography, [check out this guide](/cloud/guides/what-is-cryptography). Second, do not ignore **weaknesses in other internet protocols that could lead to security issues, including the Domain Name System (DNS)**. Attacks leveraging DNS can lead to Distributed Denial of Service (DDoS), for example. According to the [2019 Global DNS Threat Report from IDC](https://www.efficientip.com/resources/idc-dns-threat-report-2019/), most survey respondents have suffered a DNS-related attack in the past two years. An average of nearly ten attacks per company were reported, affecting almost half of the respondents’ websites. @@ -56,7 +56,7 @@ These methods can be, and are, combined in interesting ways in specific attacks. The [Open Web Application Security Project tracks the top ten exploits](https://owasp.org/www-project-top-ten/) and chronicles a broad consensus among application developers on the most critical security risks. It uses this as a reference to help eliminate these problems. The current list places **broken access controls** at the top of the list. One reason why it tops the list is because almost everyone has an application with faulty controls. They also appear more frequently than any other exploit in the [Mitre Common Weakness Enumeration data set](https://cwe.mitre.org/), an industry-wide collection of exploits. An example of this could be a server that has a simple or otherwise vulnerable administrative password, or an open storage container. -Another popular exploit method is [**SQL and other injection attacks**](/cloud/guides/sql-injection-attack/). These are not new. The first mention of this attack was [back in 1998 in Phrack magazine](http://phrack.org/issues/54/8.html). The reason why injections remain popular is because it is relatively easy to fool a database server into thinking it is receiving a trusted query. This can lead towards eventual control over a web server and further data stealing. You don't need any specialized tools other than a web browser, and you don't need any specialized skills either. All a hacker has to do is use Google to search for the command sequence. It also doesn't take much time to launch an attack, and the payoffs can be huge. If successful, an intruder can easily obtain a copy of your most sensitive data in a few minutes. +Another popular exploit method is [**SQL and other injection attacks**](/cloud/guides/sql-injection-attack). These are not new. The first mention of this attack was [back in 1998 in Phrack magazine](http://phrack.org/issues/54/8.html). The reason why injections remain popular is because it is relatively easy to fool a database server into thinking it is receiving a trusted query. This can lead towards eventual control over a web server and further data stealing. You don't need any specialized tools other than a web browser, and you don't need any specialized skills either. All a hacker has to do is use Google to search for the command sequence. It also doesn't take much time to launch an attack, and the payoffs can be huge. If successful, an intruder can easily obtain a copy of your most sensitive data in a few minutes. **DDoS attacks** also continue to be popular. Much due of the proliferation of various hacking tools that can quickly set them up for less than $100 a month in many cases. The attacks are designed to flood your servers with random traffic so they can’t respond to legitimate user queries. The [A10 Networks DDoS Threat Report for 2022](https://www.a10networks.com/wp-content/uploads/A10-EB-2022-DDoS-Threat-Report.pdf) reports that more than 15 million unique DDoS weapons were discovered during 2021. That's a huge increase from before the pandemic began. @@ -74,11 +74,11 @@ Many IT managers readily admit that their [**Active Directories are outdated**]( Next, **log all access events** and be able to highlight and then investigate unsuccessful attempts. Review your logs periodically. Don’t fall into the trap described in [Don Bowman's blog post, which shows how some attacks happen thanks to poor logging practice](https://blog.donbowman.ca/2018/09/17/they-got-in-via-the-logging-remote-exploits-and-ddos-using-the-security-logs/). There are a number of [log analyzers for Apache web servers](https://www.dnsstuff.com/apache-log-analyzer-tools), for example, that help you filter this data into more actionable intelligence. -**[**Minimize unused or unneeded services**](/cloud/guides/remove-unused-network-facing-services/), plug-ins and other ancillary pieces of software** from your production servers. The unneeded plug-ins advice is particularly relevant to WordPress installations. Close down all unused ports and understand the purpose by which remaining IP ports are open. Read this [warning by the FBI about a 2017 breach](https://www.networkworld.com/article/3185873/fbi-warns-of-attacks-on-anonymous-ftp-servers.html) using FTP. This not only improves security but also increases overall server performance. +**[**Minimize unused or unneeded services**](/cloud/guides/remove-unused-network-facing-services), plug-ins and other ancillary pieces of software** from your production servers. The unneeded plug-ins advice is particularly relevant to WordPress installations. Close down all unused ports and understand the purpose by which remaining IP ports are open. Read this [warning by the FBI about a 2017 breach](https://www.networkworld.com/article/3185873/fbi-warns-of-attacks-on-anonymous-ftp-servers.html) using FTP. This not only improves security but also increases overall server performance. -**Validate your inputs and strings** sent between your web and database servers, such as testing for range limits. Carefully scrutinize any inputs coming from web sources. This is typically done as part of the development environment that [you use to check your application code](/cloud/guides/app-security-testing-tools/). +**Validate your inputs and strings** sent between your web and database servers, such as testing for range limits. Carefully scrutinize any inputs coming from web sources. This is typically done as part of the development environment that [you use to check your application code](/cloud/guides/app-security-testing-tools). -**Have a [comprehensive program to manage all of your secrets](/cloud/guides/how-to-setup-and-use-a-vault-server/)**. Do not store your encryption keys, administrator passwords, and [API keys](https://www.csoonline.com/article/3527858/apis-are-becoming-a-major-target-for-credential-stuffing-attacks.html) in a local text file or on a Post-It note. You want to protect these pieces of data and share them with the fewest possible number of authorized developers. Services such as [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/), [AWS Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html), [Azure Key Vault](https://azure.microsoft.com/en-us/services/key-vault/), and [Hashicorp Vault](https://www.vaultproject.io/) are some examples of robust and scalable secrets management tools. +**Have a [comprehensive program to manage all of your secrets](/cloud/guides/how-to-setup-and-use-a-vault-server)**. Do not store your encryption keys, administrator passwords, and [API keys](https://www.csoonline.com/article/3527858/apis-are-becoming-a-major-target-for-credential-stuffing-attacks.html) in a local text file or on a Post-It note. You want to protect these pieces of data and share them with the fewest possible number of authorized developers. Services such as [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/), [AWS Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html), [Azure Key Vault](https://azure.microsoft.com/en-us/services/key-vault/), and [Hashicorp Vault](https://www.vaultproject.io/) are some examples of robust and scalable secrets management tools. Finally, **protect your DNS infrastructure**. This is important, and a basic internet building block. As part of this process, you are protecting all of your internet applications, not just the web-related ones. To do this properly, assess where your DNS bottlenecks lie and where internet-sourced traffic comes from. There are a number of tools that help in this analysis, such as [these free or inexpensive tools and online services](https://geekflare.com/dns-cdn-performance-comparison/). For example, DNSPerf shows you various metrics over the last month. This data is assembled by testing each provider every minute from 200 locations around the world. There are several ways to harden your DNS, such as using a public DNS provider that supports DNS security extensions. These providers have memorable DNS configurations, including Cloudflare (1.1.1.1), Google (8.8.8.8), and Quad 9 (9.9.9.9.). The cloud providers also have specific DNS service offerings: [Google has its Cloud DNS](https://cloud.google.com/dns/docs), Amazon has [AWS Route 53](https://aws.amazon.com/route53/?nc2=h_m1), and Microsoft has [Azure DNS](https://azure.microsoft.com/en-us/services/dns/). diff --git a/docs/guides/security/basics/securing-apache2-with-modsecurity/index.md b/docs/guides/security/basics/securing-apache2-with-modsecurity/index.md index 8f6a7af6120..dd333af79e1 100644 --- a/docs/guides/security/basics/securing-apache2-with-modsecurity/index.md +++ b/docs/guides/security/basics/securing-apache2-with-modsecurity/index.md @@ -28,7 +28,7 @@ In order to install and configure ModSecurity, you need to have a Linux server w - Apache 2 -For instructions, see our guide on [How to Install Apache Web Server on Ubuntu](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/). Installation instructions for several other Linux distributions are also accessible from this guide. +For instructions, see our guide on [How to Install Apache Web Server on Ubuntu](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04). Installation instructions for several other Linux distributions are also accessible from this guide. {{< note >}} This demonstration has been performed on Ubuntu 20.04. However, all techniques demonstrated are distribution agnostic with the exception of package names and package managers. @@ -144,7 +144,7 @@ To begin using ModSecurity, enable it in the Apache configuration file by follow ``` - If you are running a website that uses SSL, add `SecRuleEngine` directive to that website's configuration file as well. See our guide on [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/#configure-apache-to-use-the-ssl-certificate) for more information. + If you are running a website that uses SSL, add `SecRuleEngine` directive to that website's configuration file as well. See our guide on [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu#configure-apache-to-use-the-ssl-certificate) for more information. 1. Restart the apache2 service to apply the configuration: ``` diff --git a/docs/guides/security/basics/securing-nginx-with-modsecurity/index.md b/docs/guides/security/basics/securing-nginx-with-modsecurity/index.md index 143168b7947..4eb86dce7b0 100644 --- a/docs/guides/security/basics/securing-nginx-with-modsecurity/index.md +++ b/docs/guides/security/basics/securing-nginx-with-modsecurity/index.md @@ -30,7 +30,7 @@ In order to install and configure ModSecurity, you need to have a Linux server w - Nginx -For instructions, see our guide on [How to Install NGINX on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-nginx-ubuntu-18-04/). Installation instructions for several other Linux distributions are also accessible from this guide. +For instructions, see our guide on [How to Install NGINX on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-nginx-ubuntu-18-04). Installation instructions for several other Linux distributions are also accessible from this guide. {{< note >}} This demonstration has been performed on Ubuntu 18.04. However, all techniques demonstrated are distribution agnostic with the exception of package names and package managers. diff --git a/docs/guides/security/basics/securing-your-lamp-stack/index.md b/docs/guides/security/basics/securing-your-lamp-stack/index.md index 5d3c812ad30..23a611df414 100644 --- a/docs/guides/security/basics/securing-your-lamp-stack/index.md +++ b/docs/guides/security/basics/securing-your-lamp-stack/index.md @@ -27,9 +27,9 @@ In order to secure a LAMP stack, you need to have a Linux server with the follow - MySQL - PHP -For a quick an easy way to install a LAMP stack on Linode, check out our guide on [How to Deploy a LAMP Stack with Quick Deploy Apps](/cloud/marketplace-docs/guides/lamp-stack/). +For a quick an easy way to install a LAMP stack on Linode, check out our guide on [How to Deploy a LAMP Stack with Quick Deploy Apps](/cloud/marketplace-docs/guides/lamp-stack). -Otherwise, you can find instructions on how to manually install a LAMP stack in our guide on [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/). Installation instructions for several other Linux distributions are also accessible from this guide. +Otherwise, you can find instructions on how to manually install a LAMP stack in our guide on [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04). Installation instructions for several other Linux distributions are also accessible from this guide. {{< note >}} This demonstration has been performed on Ubuntu 18.04. However, all techniques demonstrated are distribution agnostic with the exception of package names and package managers. @@ -233,7 +233,7 @@ Permission denied, please try again. Key-based authentication utilizes asymmetric encryption to generate two keys that are used for the encryption and decryption of data. These two keys are called the public key and the private key. Together, they are called a public-private key-pair. -The public key is used to encrypt data which only the corresponding private key can decrypt. This process can also be repeated vice versa. As a result, the private key must be kept private and secure, whereas the public key can be shared. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). +The public key is used to encrypt data which only the corresponding private key can decrypt. This process can also be repeated vice versa. As a result, the private key must be kept private and secure, whereas the public key can be shared. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh). SSH key-pairs can be generated on your local machine by using the `ssh-keygen` utility, Then, you can upload the public key to your LAMP stack machine. @@ -249,7 +249,7 @@ If you accidentally lock yourself out of the SSH service on your Linode, you can ssh-keygen -b 4096 -1. Enter the default names and directories for the private key `id_rsa` and the public key `id_rsa.pub`. You can optionally set a [private key passphrase](/cloud/guides/use-public-key-authentication-with-ssh/#ssh-private-key-passphrases) for an additional layer of security. +1. Enter the default names and directories for the private key `id_rsa` and the public key `id_rsa.pub`. You can optionally set a [private key passphrase](/cloud/guides/use-public-key-authentication-with-ssh#ssh-private-key-passphrases) for an additional layer of security. 1. The key-pair is generated and saved in your ssh directory in `~/.ssh`. @@ -450,7 +450,7 @@ Data read: 0.95 MB (ratio 2.55:1) Time: 68.775 sec (1 m 8 s) {{< /output >}} -For more instructions on using ClamAV, see our guide on [Scanning for Vulnerabilities with ClamAV](/cloud/guides/scanning-your-linode-for-malware/). +For more instructions on using ClamAV, see our guide on [Scanning for Vulnerabilities with ClamAV](/cloud/guides/scanning-your-linode-for-malware). ## Configuring ModSecurity on Apache2 @@ -555,7 +555,7 @@ To begin using ModSecurity, enable it in the Apache configuration file by follow {{< /file >}} - If you are running a website that uses SSL, add `SecRuleEngine` directive to that website's configuration file as well. See our guide on [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/#configure-apache-to-use-the-ssl-certificate) for more information. + If you are running a website that uses SSL, add `SecRuleEngine` directive to that website's configuration file as well. See our guide on [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu#configure-apache-to-use-the-ssl-certificate) for more information. 1. Restart the apache2 service to apply the configuration: diff --git a/docs/guides/security/basics/security-automation-business/index.md b/docs/guides/security/basics/security-automation-business/index.md index 2857df02e52..f6f6b2cbfd2 100644 --- a/docs/guides/security/basics/security-automation-business/index.md +++ b/docs/guides/security/basics/security-automation-business/index.md @@ -20,7 +20,7 @@ There are several trends that make this already difficult situation all the more - **Attacks continue to happen with regularity**, because bad actors are getting better at hiding inside networks without being detected. The [SolarWinds compromises happened months](https://www.csoonline.com/article/3613571/the-solarwinds-hack-timeline-who-knew-what-and-when.html) after the initial penetration of their networks, and was covered widely in the news. Other malware campaigns, such as [RotaJakiro that has remained hidden inside numerous Linux-based systems for years](https://www.zdnet.com/article/rotajakiro-a-linux-backdoor-that-has-flown-under-the-radar-for-years/), is also notable. -- **Enterprise apps are constantly being updated, creating protection challenges**. The days when an IT shop would take months to refine requirements and then build and test prototypes are a thing of the past. Now, daily and sometimes hourly builds are commonplace. This means that security tools have to work in this ever-changing world and find issues with code quickly. A delay of several hours is no longer effective. Take the example of a common error whereby a piece of code accepts unverified inputs. This can lead towards an [attack type called SQL injection](https://portswigger.net/web-security/sql-injection), something that has been around for decades, and which could lead to data leaks or account takeovers or lost revenues. Some of the common attack methods are discussed in the [Eight Common Types of Cyber Attacks and How to Prevent Them](/cloud/guides/types-of-cyber-attacks/) guide. +- **Enterprise apps are constantly being updated, creating protection challenges**. The days when an IT shop would take months to refine requirements and then build and test prototypes are a thing of the past. Now, daily and sometimes hourly builds are commonplace. This means that security tools have to work in this ever-changing world and find issues with code quickly. A delay of several hours is no longer effective. Take the example of a common error whereby a piece of code accepts unverified inputs. This can lead towards an [attack type called SQL injection](https://portswigger.net/web-security/sql-injection), something that has been around for decades, and which could lead to data leaks or account takeovers or lost revenues. Some of the common attack methods are discussed in the [Eight Common Types of Cyber Attacks and How to Prevent Them](/cloud/guides/types-of-cyber-attacks) guide. - **Hacking tools are now commodities**. Almost anyone can download an attack tool from numerous online sources and target your business network with just a few clicks of the mouse. Gartner, in its [report on the app security hype cycle](https://www.gartner.com/doc/3884178/hype-cycle-application-security-) said that IT managers “need to go beyond identifying common application development security errors and protecting against common attack techniques.” @@ -43,6 +43,6 @@ Automated detection makes sense, particularly as attackers get better at hiding There are numerous application security tools that integrate into your application development environment that can make the coding process and workflow simpler, more secure, and more effective. These tools are also useful if you are doing compliance audits, since they can save time and expense by catching problems before the auditors find them. But they are also useful in protecting your application's infrastructure. -In the [Understanding Total App Security](/cloud/guides/security-weaknesses-in-web-apps/) guide, you learn about the typical coding mistakes that can lend towards security breaches. In the [final guide of this series](/cloud/guides/app-security-testing-tools), you learn about some of the tools that can be used to help automate applications security. +In the [Understanding Total App Security](/cloud/guides/security-weaknesses-in-web-apps) guide, you learn about the typical coding mistakes that can lend towards security breaches. In the [final guide of this series](/cloud/guides/app-security-testing-tools), you learn about some of the tools that can be used to help automate applications security. diff --git a/docs/guides/security/basics/security-testing/index.md b/docs/guides/security/basics/security-testing/index.md index 52726837787..c4f64590eb4 100644 --- a/docs/guides/security/basics/security-testing/index.md +++ b/docs/guides/security/basics/security-testing/index.md @@ -50,7 +50,7 @@ Dynamic application security testing (DAST) tools examine applications while the One popular technique employed by DAST tools is the use of fuzzing. This is the practice of deliberately providing software with unexpected or illegal values, often at high rates and/or in high volumes. -Consider the example of network routing software. A fuzzing tool might bombard routing software with illegal and constantly iterating values for every field in the [IP header of every packet](/cloud/guides/how-to-understand-ip-addresses/#what-is-an-internet-protocol). Fuzzing tests often expose memory leaks or trigger hangs and reboots. They represent an excellent way to detect problems relatively early in development. +Consider the example of network routing software. A fuzzing tool might bombard routing software with illegal and constantly iterating values for every field in the [IP header of every packet](/cloud/guides/how-to-understand-ip-addresses#what-is-an-internet-protocol). Fuzzing tests often expose memory leaks or trigger hangs and reboots. They represent an excellent way to detect problems relatively early in development. Examples of DAST tools include [Acunetix](https://www.acunetix.com/plp/dast/), [AppSider](https://www.rapid7.com/products/appspider/), [CheckMarx AST](https://checkmarx.com/product/application-security-platform/), [GitLab](https://about.gitlab.com/enterprise/), [InsightAppSec](https://www.rapid7.com/products/insightappsec/), [Stackhawk](https://www.stackhawk.com/product/), and [Veracode](https://www.veracode.com/products/dynamic-analysis-dast). @@ -68,7 +68,7 @@ SQL injection test tools exist as a standalone category because injection attack For example, a successful SQL injection attack modifies a database by adding, updating, or deleting fields. It may expose personally identifiable information (PII) such as credit-card numbers or medical records. In some cases, SQL injection attacks also send commands to the underlying operating system. -Because SQL injection attacks are so common, numerous tools exist to automate testing of this class of vulnerabilities. Some examples include [SQLmap](https://sqlmap.org/), [jSQL Injection](https://github.com/ron190/jsql-injection), and [BBQSQL](https://github.com/CiscoCXSecurity/bbqsql). Another open-source tool, [NoSQLMap](https://github.com/codingo/NoSQLMap), automates testing of code-injection vulnerabilities in NoSQL databases such as [CouchDB](/cloud/guides/install-couchdb-20-on-ubuntu/) and [MongoDB](/cloud/guides/mongodb-introduction/). +Because SQL injection attacks are so common, numerous tools exist to automate testing of this class of vulnerabilities. Some examples include [SQLmap](https://sqlmap.org/), [jSQL Injection](https://github.com/ron190/jsql-injection), and [BBQSQL](https://github.com/CiscoCXSecurity/bbqsql). Another open-source tool, [NoSQLMap](https://github.com/codingo/NoSQLMap), automates testing of code-injection vulnerabilities in NoSQL databases such as [CouchDB](/cloud/guides/install-couchdb-20-on-ubuntu) and [MongoDB](/cloud/guides/mongodb-introduction). ### Software Composition Analysis @@ -98,7 +98,7 @@ The list below includes five ways that you can make optimal use of AST tools. - **Don’t trust third-party code**. Virtually all networked applications today include third-party components. [As a famous comic wryly observed](https://xkcd.com/2347/), modern infrastructure today might well depend on, “a project some random person in Nebraska has been thanklessly maintaining since 2003.” There are many excellent third-party components available, but the onus is on development teams to ensure any outsourced code is free from known vulnerabilities and kept up to date. SCA tools should be an essential part of any AST toolkit. -- **Integrate patch management into CI/CD processes**. With the proliferation of zero-day vulnerabilities, it’s no longer sufficient to task IT managers with patch management, the practice of continually updating software to guard against newly discovered attack vectors in software. Certainly patch management is important in production settings, but it’s also critical in earlier stages of the software lifecycle. [Continuous development and integration (CI/CD)](/cloud/guides/introduction-ci-cd/) teams need to include patching as part of their development processes, and ensure vulnerabilities are mitigated as soon as they’re discovered. This is particularly true when incorporating third-party components such as open-source libraries; those also need to be patched as soon as those projects announce fixes for known vulnerabilities. +- **Integrate patch management into CI/CD processes**. With the proliferation of zero-day vulnerabilities, it’s no longer sufficient to task IT managers with patch management, the practice of continually updating software to guard against newly discovered attack vectors in software. Certainly patch management is important in production settings, but it’s also critical in earlier stages of the software lifecycle. [Continuous development and integration (CI/CD)](/cloud/guides/introduction-ci-cd) teams need to include patching as part of their development processes, and ensure vulnerabilities are mitigated as soon as they’re discovered. This is particularly true when incorporating third-party components such as open-source libraries; those also need to be patched as soon as those projects announce fixes for known vulnerabilities. - **Think negative thoughts**. Especially in early-stage unit testing, it’s all too common to design tests that merely verify a component works as intended. Attackers don’t think this way, and neither should developers. Negative testing – presenting applications with unexpected values – should be part of every test plan. @@ -106,7 +106,7 @@ The list below includes five ways that you can make optimal use of AST tools. ## Conclusion -To reduce the risk of malicious attacks on your applications, it's important to use application security testing tools to mitigate any vulnerabilities. This guide covered some of the most important areas of AST, like static application security testing, dynamic application security testing, and SQL injecting testing. These areas help cover security throughout an application's technology stack and the software development lifecycle. See the [security basics](/cloud/guides/security/basics/) section our documentation library to learn more about security best practices in information technology. +To reduce the risk of malicious attacks on your applications, it's important to use application security testing tools to mitigate any vulnerabilities. This guide covered some of the most important areas of AST, like static application security testing, dynamic application security testing, and SQL injecting testing. These areas help cover security throughout an application's technology stack and the software development lifecycle. See the [security basics](/cloud/guides/security/basics) section our documentation library to learn more about security best practices in information technology. diff --git a/docs/guides/security/basics/software-security-best-practices/index.md b/docs/guides/security/basics/software-security-best-practices/index.md index 7f044b5a8bc..7124982d3c6 100644 --- a/docs/guides/security/basics/software-security-best-practices/index.md +++ b/docs/guides/security/basics/software-security-best-practices/index.md @@ -54,7 +54,7 @@ There are a number of best practices you can employ to access the highest applic - **Catalog your software assets** and how they are protected. This exercise isn’t trivial, because it can help you quickly locate a compromised computer and have you block any future unauthorized access. -- **Use encryption often**. Use hashes to store private data, [use HTTPS to encrypt your web traffic](/cloud/guides/enabling-https-using-certbot/) everywhere, and choose the strongest possible encryption algorithms whenever possible. +- **Use encryption often**. Use hashes to store private data, [use HTTPS to encrypt your web traffic](/cloud/guides/enabling-https-using-certbot) everywhere, and choose the strongest possible encryption algorithms whenever possible. - On a related note, **secure your secrets**. Ensure that your tokens for third-party encryption services are secured properly and managed by the right trusted staffers. @@ -84,6 +84,6 @@ A more complete catalog of these tools can be found in these sources: ## Conclusion -To learn more about application security, [check out this guide which discusses two of the more common application exploits](/cloud/guides/security-weaknesses-in-web-apps/) that can be prevented by using some of the above tools. You can also refer to this author's [more in depth discussion about the need for application security](/cloud/guides/security-weaknesses-in-web-apps/). For more details about best practices in container security, read the [How to Improve Container Security](https://www.csoonline.com/article/3388025/how-to-improve-container-security.html) article. +To learn more about application security, [check out this guide which discusses two of the more common application exploits](/cloud/guides/security-weaknesses-in-web-apps) that can be prevented by using some of the above tools. You can also refer to this author's [more in depth discussion about the need for application security](/cloud/guides/security-weaknesses-in-web-apps). For more details about best practices in container security, read the [How to Improve Container Security](https://www.csoonline.com/article/3388025/how-to-improve-container-security.html) article. -You can also checkout our [documentation library's security section](/cloud/guides/security/) to find guides on installing and using popular open source security tools. +You can also checkout our [documentation library's security section](/cloud/guides/security) to find guides on installing and using popular open source security tools. diff --git a/docs/guides/security/basics/sql-injection-attack/index.md b/docs/guides/security/basics/sql-injection-attack/index.md index f3bdb2649ab..4732da5728d 100644 --- a/docs/guides/security/basics/sql-injection-attack/index.md +++ b/docs/guides/security/basics/sql-injection-attack/index.md @@ -42,7 +42,7 @@ No matter the purpose of the attack, it can inflict tremendous consequences upon Any organization can be targeted, even personal websites and small forums. According to the [*Wikipedia SQL Injection page*](https://en.wikipedia.org/wiki/SQL_injection), the average web application is attacked around four times per month. New exploits are always being developed, and it is difficult to design a truly bulletproof site. However, many hackers target sites indiscriminately using brute force. A database that has been secured through a few basic techniques is much more secure and difficult to compromise. {{< note >}} -This guide is intended as an introduction to SQL injections and does not cover every possible type of attack. [Web security](/cloud/guides/software-security-best-practices/) is a very complex field, and many possible attacks demand careful consideration. You should consult with web security professionals before launching any application that stores private personal or financial information. +This guide is intended as an introduction to SQL injections and does not cover every possible type of attack. [Web security](/cloud/guides/software-security-best-practices) is a very complex field, and many possible attacks demand careful consideration. You should consult with web security professionals before launching any application that stores private personal or financial information. {{< /note >}} ### What is a SQL Query? @@ -165,7 +165,7 @@ To ensure a web application is not vulnerable to common web attacks, consider se - During the design specification process, document how to handle security threats. - At the implementation stage, build common classes or functions to sanitize input and detect suspicious data. Every client should call these routines to ensure every case is covered. -- Develop a strategy for input validation, also known as sanitization, to detect malicious input. All user-provided data should be verified to ensure it is legitimate. At the same time, valid input must still be allowed. See the section on [Preventing a SQL Injection Attack](/cloud/guides/sql-injection-attack/#preventing-a-sql-injection-attack) for more information. +- Develop a strategy for input validation, also known as sanitization, to detect malicious input. All user-provided data should be verified to ensure it is legitimate. At the same time, valid input must still be allowed. See the section on [Preventing a SQL Injection Attack](/cloud/guides/sql-injection-attack#preventing-a-sql-injection-attack) for more information. - Use established quality assurance techniques and tools to ensure common SQLi attacks are blocked. Build automated test and regression scripts to validate fixes and ensure security holes are not introduced. - Stay informed about new security issues and emerging threats. Keep the web server and RDBMS updated to the most recent release using the latest security updates. @@ -185,7 +185,7 @@ Several basic coding principles can greatly enhance database security. Most atta - **Use stored procedures**: This is an alternative to parameterized queries with the same goal. Stored procedures are saved inside the database, allowing the application to use them at any time. Typically, the procedures automatically parameterize the code. As an added precaution, only a user who has `execute` privileges can run these procedures. Unfortunately, there might be cases where this technique is not completely foolproof. Consult the user documentation for the RDBMS for more information. - **Use non-standard names for tables and columns**: Many attackers look for standard tables such as `customers` or fields including `username` and `password`. Adding a prefix or suffix to each string or column provides additional protection at the cost of a bit of extra complexity and longer strings for each name. - **Escape the input fields**: This technique is not considered effective on its own, but provides another layer of protection as part of a total security strategy. Every RDBMS has a method of escaping user-supplied data. This involves recalculating the input so it is treated as pure text, rather than keywords or application-specific symbols. Some applications convert the input characters into their hex equivalents. The PHP programming language, which is often used in conjunction with SQL, also provides tools for escaping SQL queries. -- **Restrict the access privileges of the database user**: Determine the level of access every account requires and configure the user roles accordingly. This limits the damage any individual user can inflict. A similar optimization is to limit the system privileges of the database owner. Even if a user gains access to an administrative account, they cannot use it to gain further access to the server. SQL views can also be used to further limit access. Our guide [SQL Database Security: User Management](/cloud/guides/sql-security/) discusses how to develop an access management strategy for an RDBMS. +- **Restrict the access privileges of the database user**: Determine the level of access every account requires and configure the user roles accordingly. This limits the damage any individual user can inflict. A similar optimization is to limit the system privileges of the database owner. Even if a user gains access to an administrative account, they cannot use it to gain further access to the server. SQL views can also be used to further limit access. Our guide [SQL Database Security: User Management](/cloud/guides/sql-security) discusses how to develop an access management strategy for an RDBMS. ## Conclusion diff --git a/docs/guides/security/basics/types-of-cyber-attacks/index.md b/docs/guides/security/basics/types-of-cyber-attacks/index.md index 478cc15ddf7..1b762df498c 100644 --- a/docs/guides/security/basics/types-of-cyber-attacks/index.md +++ b/docs/guides/security/basics/types-of-cyber-attacks/index.md @@ -59,7 +59,7 @@ Keyloggers and spyware both fall into the same category. They lurk in your compu #### Keyloggers and Spyware Mitigation -Common sense is key in not opening emails from unknown sources. Regular antivirus scans pick up spyware. Network monitoring tools watch for suspicious outbound traffic. You can also check for unusual activity using a [system monitoring tool like gtop](/cloud/guides/installing-and-using-gtop-on-linux/). +Common sense is key in not opening emails from unknown sources. Regular antivirus scans pick up spyware. Network monitoring tools watch for suspicious outbound traffic. You can also check for unusual activity using a [system monitoring tool like gtop](/cloud/guides/installing-and-using-gtop-on-linux). ### Rootkits diff --git a/docs/guides/security/basics/using-fail2ban-to-secure-your-server-a-tutorial/index.md b/docs/guides/security/basics/using-fail2ban-to-secure-your-server-a-tutorial/index.md index 2c565997c67..86c55c00f04 100644 --- a/docs/guides/security/basics/using-fail2ban-to-secure-your-server-a-tutorial/index.md +++ b/docs/guides/security/basics/using-fail2ban-to-secure-your-server-a-tutorial/index.md @@ -240,7 +240,7 @@ action_mwl = %(banaction)s... For example, if you set the `usedns` setting to `no`, Fail2ban does not use reverse DNS to set its bans, and instead bans the IP address. When set as `warn`, Fail2ban performs a reverse lookup of the hostname and uses it to perform a ban. -The `chain` setting refers to the series of [iptables](/cloud/guides/what-is-iptables/) rules where jumps should be added in ban-actions. By default, this is set to the `INPUT` chain. You can read more about iptables chains in our [What is iptables](/cloud/guides/what-is-iptables/#chains) guide. +The `chain` setting refers to the series of [iptables](/cloud/guides/what-is-iptables) rules where jumps should be added in ban-actions. By default, this is set to the `INPUT` chain. You can read more about iptables chains in our [What is iptables](/cloud/guides/what-is-iptables#chains) guide. ### Fail2ban Chain Traffic Drop Configuration diff --git a/docs/guides/security/basics/what-is-cryptography/index.md b/docs/guides/security/basics/what-is-cryptography/index.md index 6c0379f6924..40e3ff02b5f 100644 --- a/docs/guides/security/basics/what-is-cryptography/index.md +++ b/docs/guides/security/basics/what-is-cryptography/index.md @@ -16,7 +16,7 @@ Cryptography is a cornerstone of modern secure communication practices. From dig The discipline of cryptography includes the study and practice of transforming data from its original format into an unintelligible format. The goal of cryptography is to keep information secure at rest and during its transfer. In the context of computer science, cryptography focuses on the mathematical concepts and algorithms that keep communications hidden from unauthorized viewers. There are three basic types of cryptographic algorithms that are used: secret key, public key, and hash function algorithms. Data encryption applies the principles of cryptography and refers to the method used to encode data into an unintelligible format. -Cryptography enables cybersecurity professionals to [secure sensitive company information](/cloud/guides/cloud-security-checklist/#protect-your-data-and-your-cloud-environment). Well-known examples of cryptographic techniques used in cybersecurity are digital signatures, time stamping, the SSL protocol, and [public key authentication with secure shell (SSH)](/cloud/guides/use-public-key-authentication-with-ssh/). +Cryptography enables cybersecurity professionals to [secure sensitive company information](/cloud/guides/cloud-security-checklist#protect-your-data-and-your-cloud-environment). Well-known examples of cryptographic techniques used in cybersecurity are digital signatures, time stamping, the SSL protocol, and [public key authentication with secure shell (SSH)](/cloud/guides/use-public-key-authentication-with-ssh). ### History of Cryptography @@ -54,7 +54,7 @@ The key must be transmitted when the sender and receiver are not in the same loc By comparison, asymmetric cryptography uses two linked keys, one public and the other private, on each side of the conversation or transaction. Both sender and receiver have a private key in their possession alone. Each also has a public key – meaning a unique key of their own made public only by virtue of being exchanged with another person. The sender uses the recipient’s public key to encrypt the file. The recipient then uses their private key to decrypt it. Only the recipient can decrypt the file because no one else has access to that person’s private key. Asymmetric encryption also enables digital signature authentication. -Examples of asymmetric cryptography in everyday use include [RSA](https://csrc.nist.gov/glossary/term/rsa), the [Digital Signature Standard (DSS/DSA)](https://csrc.nist.gov/glossary/term/digital_signature_algorithm), and the [TLS/SSL protocol](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/). +Examples of asymmetric cryptography in everyday use include [RSA](https://csrc.nist.gov/glossary/term/rsa), the [Digital Signature Standard (DSS/DSA)](https://csrc.nist.gov/glossary/term/digital_signature_algorithm), and the [TLS/SSL protocol](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https). Both forms are considered secure, but the level of security in any given encrypted message has more to do with the size of the key(s) than the form of encryption. Just like passwords, keys must be complex, difficult to obtain, decode, or reveal. @@ -74,7 +74,7 @@ There are three types of cryptography: secret key cryptography, public key crypt The least complicated and fastest to use is secret key cryptography, also known as symmetric cryptography. This type uses one key to encrypt and decrypt communications. It protects data at rest and data in transit, and is most often used on data at rest. The most well-known algorithms used in secret key cryptography are [Advanced Encryption Standard (AES)](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard), [Triple Data Encryption Standard (3DES)](https://en.wikipedia.org/wiki/Triple_DES), and [Rivest Cipher 4 (RC4)](https://en.wikipedia.org/wiki/RC4). -Public key cryptography, or asymmetric cryptography, uses two keys on each end of the communication. Each pair consists of a public and a private key. Public keys are exchanged between sender and recipient. The sender then uses the recipient’s public key to encrypt the message. The recipient uses their private key to decrypt the message. Examples of public key use are plentiful in just about any communication over the Internet such as [HTTPS](/cloud/guides/introducing-http-2/), [SSH](/cloud/guides/connect-to-server-over-ssh-on-linux/), [OpenPGP](https://www.openpgp.org/), [S/MIME](https://en.wikipedia.org/wiki/S/MIME), and a [website’s SSL/TLS certificate](/cloud/guides/what-is-a-tls-certificate/). +Public key cryptography, or asymmetric cryptography, uses two keys on each end of the communication. Each pair consists of a public and a private key. Public keys are exchanged between sender and recipient. The sender then uses the recipient’s public key to encrypt the message. The recipient uses their private key to decrypt the message. Examples of public key use are plentiful in just about any communication over the Internet such as [HTTPS](/cloud/guides/introducing-http-2), [SSH](/cloud/guides/connect-to-server-over-ssh-on-linux), [OpenPGP](https://www.openpgp.org/), [S/MIME](https://en.wikipedia.org/wiki/S/MIME), and a [website’s SSL/TLS certificate](/cloud/guides/what-is-a-tls-certificate). The math connecting public and private keys makes it impossible to derive the private key from the public key. However, the public key is derived from the private key, which is why private keys should never be shared. @@ -92,9 +92,9 @@ The central assumption with cryptography is that other parties are going to try Other forms of cybersecurity focus on other fronts such as protecting the network, limiting or stopping access to data, and protecting data from manipulation, i.e. deliberate corruption of meaning or readability. -[Layers of different cybersecurity methods](/cloud/guides/cloud-security-checklist/) work in tandem to provide a better, stronger defense. Even so, encrypting data is a primary defense used across all efforts in protecting data. Its use is of particular value to secure communications which by necessity must be shared with parties beyond secure company walls. +[Layers of different cybersecurity methods](/cloud/guides/cloud-security-checklist) work in tandem to provide a better, stronger defense. Even so, encrypting data is a primary defense used across all efforts in protecting data. Its use is of particular value to secure communications which by necessity must be shared with parties beyond secure company walls. ## Conclusion -Cybersecurity and encryption are tasks that require research, time, and effort in order to be effective. Many companies prefer to leverage the efforts of vendor teams rather than overburden their internal cybersecurity teams to develop these additional layers of protection. However, there are many tools available to encrypt areas of your infrastructure and network. For example, you can use [LUKS to encrypt a Linux server's filesystem disk](/cloud/guides/use-luks-for-full-disk-encryption/). Similarly, you can use [GPG keys to send encrypted messages via email](/cloud/guides/gpg-keys-to-send-encrypted-messages/). +Cybersecurity and encryption are tasks that require research, time, and effort in order to be effective. Many companies prefer to leverage the efforts of vendor teams rather than overburden their internal cybersecurity teams to develop these additional layers of protection. However, there are many tools available to encrypt areas of your infrastructure and network. For example, you can use [LUKS to encrypt a Linux server's filesystem disk](/cloud/guides/use-luks-for-full-disk-encryption). Similarly, you can use [GPG keys to send encrypted messages via email](/cloud/guides/gpg-keys-to-send-encrypted-messages). diff --git a/docs/guides/security/basics/what-is-data-breach/index.md b/docs/guides/security/basics/what-is-data-breach/index.md index 3d2df5efee8..7dd73da5042 100644 --- a/docs/guides/security/basics/what-is-data-breach/index.md +++ b/docs/guides/security/basics/what-is-data-breach/index.md @@ -48,7 +48,7 @@ The longer an attacker has unfettered access, the longer it is going to take you Despite all your good intentions, a data breach can still happen. What should you do upon discovering a data breach? Don’t panic. -When a data breach is reported to IT, be ready to implement your incident response plan. For most businesses this means [ramping up the incident response team](/cloud/guides/information-security-risk-management/#developing-an-isrm-plan), your group of IT personnel who have specific roles focused on quickly shutting down potential problems. The speed of your response may have a major impact on the effects of the breach. +When a data breach is reported to IT, be ready to implement your incident response plan. For most businesses this means [ramping up the incident response team](/cloud/guides/information-security-risk-management#developing-an-isrm-plan), your group of IT personnel who have specific roles focused on quickly shutting down potential problems. The speed of your response may have a major impact on the effects of the breach. Specific roles and plans to make use of personnel should already be in place. Networking teams should be ready to identify and isolate impacted systems, and data management specialists should be in place to secure company databases and data repositories. IT staff responsible for backup and data protection should be checking that data backups are intact and uncorrupted. Cloud specialists should be in a position to check on the integrity of cloud stored data. diff --git a/docs/guides/security/data-portability/download-files-from-a-compute-instance/index.md b/docs/guides/security/data-portability/download-files-from-a-compute-instance/index.md index e34807ee581..321cbd9be2f 100644 --- a/docs/guides/security/data-portability/download-files-from-a-compute-instance/index.md +++ b/docs/guides/security/data-portability/download-files-from-a-compute-instance/index.md @@ -30,7 +30,7 @@ For example, to archive all of website data stored in `/var/www/example.com` to tar -czvf ~/example-com-backup.tar.gz /var/www/example.com/ ``` -To learn more about creating tar files, see [Archive, Compress, and Extract Files in Linux Using the Command Line](/cloud/guides/compress-files-using-the-command-line/). +To learn more about creating tar files, see [Archive, Compress, and Extract Files in Linux Using the Command Line](/cloud/guides/compress-files-using-the-command-line). ## Download Files with an FTP Client @@ -45,11 +45,11 @@ FTP clients are a user-friendly way to access, download, and upload files from y Whichever client you choose, you can connect to your Compute Instance using the same credentials you would use for SSH. Once connected, you should be presented with a visual file explorer of your remote system. From here, you can navigate to the directory where your files are located and then download those files. -For further instructions, see our [Transfer Files with FileZilla](/cloud/guides/filezilla/) guide. +For further instructions, see our [Transfer Files with FileZilla](/cloud/guides/filezilla) guide. ## Download Files with SCP -You can use SCP (Secure Copy Protocol) to retrieve a specific directory or file via the command-line. SCP is installed by default on most macOS and Linux systems and is available with [Cygwin or PuTTY](/cloud/guides/connect-to-server-over-ssh-on-windows/) for Windows. +You can use SCP (Secure Copy Protocol) to retrieve a specific directory or file via the command-line. SCP is installed by default on most macOS and Linux systems and is available with [Cygwin or PuTTY](/cloud/guides/connect-to-server-over-ssh-on-windows) for Windows. - The syntax for using SCP to copy a file from your Linode into a directory on another computer is: @@ -95,17 +95,17 @@ For example: scp -r your_linode_username@your_linode_ip:/var/www/html/ ~/html_backup ``` -If you intend to repeat this process regularly, consider [using rsync](/cloud/guides/backing-up-your-data/#understand-the-rsync-command) to create additional local copies of your data. rsync is capable of performing incremental file copies, which means you do not have to fully transfer each file every time you download your data. +If you intend to repeat this process regularly, consider [using rsync](/cloud/guides/backing-up-your-data#understand-the-rsync-command) to create additional local copies of your data. rsync is capable of performing incremental file copies, which means you do not have to fully transfer each file every time you download your data. ## Download a Database Special care is needed when downloading data from a database. Before it can be downloaded, the data in a database needs to first be *dumped* to a file. This database dump file can then be transferred just as any other normal file type. -- To create a dump of a MySQL (or MariaDB) database, [use the `mysqldump` command](/cloud/guides/mysqldump-backups/). **You can only use this tool if your database process is accessible and running.** +- To create a dump of a MySQL (or MariaDB) database, [use the `mysqldump` command](/cloud/guides/mysqldump-backups). **You can only use this tool if your database process is accessible and running.** -- If your MySQL database won't run for some reason, follow the instructions for creating [*physical* backups](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/). +- If your MySQL database won't run for some reason, follow the instructions for creating [*physical* backups](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases). -- If you use PostgreSQL, follow the [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database/) guide. +- If you use PostgreSQL, follow the [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database) guide. ## Download a Disk diff --git a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-centos-8/index.md b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-centos-8/index.md index efd0fd04c5d..616f85479b7 100644 --- a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-centos-8/index.md +++ b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-centos-8/index.md @@ -21,7 +21,7 @@ relations: ## What is a Self-Signed TLS Certificate? -Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. +Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) once you’ve completed the process outlined in this guide. ## Create the Certificate @@ -77,4 +77,4 @@ Email Address []:admin@example.com chmod 400 /root/certs/MyKey.key -4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance/) **This is an important step. Do not skip it!** +4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance) **This is an important step. Do not skip it!** diff --git a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-tls-debian-10/index.md b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-tls-debian-10/index.md index e1ea5466b8c..cfdf66ab44a 100644 --- a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-tls-debian-10/index.md +++ b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-tls-debian-10/index.md @@ -21,7 +21,7 @@ relations: ## What is a Self-Signed TLS Certificate? -Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. +Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) once you’ve completed the process outlined in this guide. ## Create the Certificate @@ -77,4 +77,4 @@ Email Address []:admin@example.com chmod 400 /root/certs/MyKey.key -4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance/) **This is an important step. Do not skip it!** +4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance) **This is an important step. Do not skip it!** diff --git a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-ubuntu-18-04/index.md b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-ubuntu-18-04/index.md index 3f0cde50e9f..3ccfaa83619 100644 --- a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-ubuntu-18-04/index.md +++ b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-ubuntu-18-04/index.md @@ -21,7 +21,7 @@ relations: ## What is a Self-Signed TLS Certificate? -Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. +Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) once you’ve completed the process outlined in this guide. ## Create the Certificate @@ -77,4 +77,4 @@ Email Address []:admin@example.com chmod 400 /root/certs/MyKey.key -4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance/) **This is an important step. Do not skip it!** +4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance) **This is an important step. Do not skip it!** diff --git a/docs/guides/security/encryption/encrypt-data-disk-with-dm-crypt/index.md b/docs/guides/security/encryption/encrypt-data-disk-with-dm-crypt/index.md index 8369d760134..556655434f3 100644 --- a/docs/guides/security/encryption/encrypt-data-disk-with-dm-crypt/index.md +++ b/docs/guides/security/encryption/encrypt-data-disk-with-dm-crypt/index.md @@ -23,7 +23,7 @@ dm-crypt is a transparent disk encryption subsystem. In this guide you will lear ## Before You Begin {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, deploy a Debian image. diff --git a/docs/guides/security/encryption/post-quantum-encryption-nginx-debian11/index.md b/docs/guides/security/encryption/post-quantum-encryption-nginx-debian11/index.md index daf9bcf7f40..0f0e4168e2b 100644 --- a/docs/guides/security/encryption/post-quantum-encryption-nginx-debian11/index.md +++ b/docs/guides/security/encryption/post-quantum-encryption-nginx-debian11/index.md @@ -24,7 +24,7 @@ In August 2024, the National Institute of Standards and Technology (NIST) [relea Deploying this algorithm for your web server currently requires the use of a recent library that implements the hybrid key exchange, such as the [Open Quantum Safe OpenSSL provider](https://openquantumsafe.org/applications/tls.html#oqs-openssl-provider) or [OpenSSL 3.5.0](https://github.com/openssl/openssl/releases/tag/openssl-3.5.0). This guide shows how to deploy this algorithm with NGINX on Debian 11. {{< note >}} -On Debian 11, the versions of OpenSSL and NGINX available from apt are not compatible with post quantum encryption, so this guide shows how to build them from source instead. You can also check the [guide for Ubuntu 24.04](/cloud/guides/post-quantum-encryption-nginx-ubuntu2404/), which explains how to configure the encryption algorithm on that distribution. +On Debian 11, the versions of OpenSSL and NGINX available from apt are not compatible with post quantum encryption, so this guide shows how to build them from source instead. You can also check the [guide for Ubuntu 24.04](/cloud/guides/post-quantum-encryption-nginx-ubuntu2404), which explains how to configure the encryption algorithm on that distribution. {{< /note >}} ## Before You Begin @@ -35,10 +35,10 @@ On Debian 11, the versions of OpenSSL and NGINX available from apt are not compa 1. To implement the algorithm in NGINX, a TLS certificate is required. When using a certificate from a public certificate authority, a domain name or subdomain must be assigned to your Linode instance. Visit your domain name registrar's website to assign a new record to your Linode instance's IP address. Your IP address is [displayed in the cloud manager](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). If you use the Linode DNS Manager, visit the [manage DNS records](https://techdocs.akamai.com/cloud-computing/docs/manage-domains) product documentation to view instructions for assigning a new A/AAAA record to your IP address. -1. For an overview of how TLS encryption works, review the [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate/) guide. +1. For an overview of how TLS encryption works, review the [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ### Install Dependencies @@ -486,9 +486,9 @@ A couple of libraries are required before building NGINX: Ensure that you include the necessary certificates (whether self-signed or from a trusted Certificate Authority) to enable proper TLS/SSL functionality. Without certificates, you won’t be able to establish a secure HTTPS connection. -- **Using Let's Encrpyt (Recommended for Production)**: To use automatic certificate renewal with Let's Encrypt, follow [Use Certbot to Enable HTTPS with NGINX on Ubuntu](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) to properly configure the NGINX server. +- **Using Let's Encrpyt (Recommended for Production)**: To use automatic certificate renewal with Let's Encrypt, follow [Use Certbot to Enable HTTPS with NGINX on Ubuntu](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu) to properly configure the NGINX server. -- **Using Self-Signed Certificate (Suitable for Testing/Development)**: To use a self-signed certificate, see our [Enable TLS/SSL for HTTPS](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) guide, or create certificates using the following command: +- **Using Self-Signed Certificate (Suitable for Testing/Development)**: To use a self-signed certificate, see our [Enable TLS/SSL for HTTPS](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) guide, or create certificates using the following command: 1. First create the directory for your certificates: diff --git a/docs/guides/security/encryption/post-quantum-encryption-nginx-ubuntu2404/index.md b/docs/guides/security/encryption/post-quantum-encryption-nginx-ubuntu2404/index.md index c6307192853..c8fb5e6bb14 100644 --- a/docs/guides/security/encryption/post-quantum-encryption-nginx-ubuntu2404/index.md +++ b/docs/guides/security/encryption/post-quantum-encryption-nginx-ubuntu2404/index.md @@ -33,10 +33,10 @@ On Ubuntu 24.04, the versions of OpenSSL and NGINX available from apt are not co 1. To implement the algorithm in NGINX, a TLS certificate is required. When using a certificate from a public certificate authority, a domain name or subdomain must be assigned to your Linode instance. Visit your domain name registrar's website to assign a new record to your Linode instance's IP address. Your IP address is [displayed in the cloud manager](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). If you use the Linode DNS Manager, visit the [manage DNS records](https://techdocs.akamai.com/cloud-computing/docs/manage-domains) product documentation to view instructions for assigning a new A/AAAA record to your IP address. -1. For an overview of how TLS encryption works, review the [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate/) guide. +1. For an overview of how TLS encryption works, review the [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ### Install Dependencies @@ -483,9 +483,9 @@ A couple of libraries are required before building NGINX: Ensure that you include the necessary certificates (whether self-signed or from a trusted Certificate Authority) to enable proper TLS/SSL functionality. Without certificates, you won’t be able to establish a secure HTTPS connection. -- **Using Let's Encrpyt (Recommended for Production)**: To use automatic certificate renewal with Let's Encrypt, follow [Use Certbot to Enable HTTPS with NGINX on Ubuntu](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) to properly configure the NGINX server. +- **Using Let's Encrpyt (Recommended for Production)**: To use automatic certificate renewal with Let's Encrypt, follow [Use Certbot to Enable HTTPS with NGINX on Ubuntu](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu) to properly configure the NGINX server. -- **Using Self-Signed Certificate (Suitable for Testing/Development)**: To use a self-signed certificate, see our [Enable TLS/SSL for HTTPS](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) guide, or create certificates using the following command: +- **Using Self-Signed Certificate (Suitable for Testing/Development)**: To use a self-signed certificate, see our [Enable TLS/SSL for HTTPS](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) guide, or create certificates using the following command: 1. First create the directory for your certificates: diff --git a/docs/guides/security/encryption/use-luks-for-full-disk-encryption/index.md b/docs/guides/security/encryption/use-luks-for-full-disk-encryption/index.md index 015e72a05dc..c4cf61474d8 100644 --- a/docs/guides/security/encryption/use-luks-for-full-disk-encryption/index.md +++ b/docs/guides/security/encryption/use-luks-for-full-disk-encryption/index.md @@ -142,7 +142,7 @@ If you lose or forget this password, the data on this disk image will be **irrec ![Debian 8 Write Partition Confirmation](fde-disk-formatting.png) -16. The installer will begin deploying the base system. Once it completes, you'll have the option to choose specific software packages. The only packages required for the server are `SSH server` and `standard system utilities`, but you can select additional options as needed. If you wish to make use of a graphical shell over [VNC](/cloud/guides/install-vnc-on-ubuntu-16-04/) or the Glish console, select the desktop environment of your choice. Once you've confirmed your selections, hit **Continue**: +16. The installer will begin deploying the base system. Once it completes, you'll have the option to choose specific software packages. The only packages required for the server are `SSH server` and `standard system utilities`, but you can select additional options as needed. If you wish to make use of a graphical shell over [VNC](/cloud/guides/install-vnc-on-ubuntu-16-04) or the Glish console, select the desktop environment of your choice. Once you've confirmed your selections, hit **Continue**: ![Debian 8 Software Selection](fde-software-selection.png) diff --git a/docs/guides/security/firewalls/comparing-network-firewall-solutions/index.md b/docs/guides/security/firewalls/comparing-network-firewall-solutions/index.md index 19fd60e11c7..ebc953a927d 100644 --- a/docs/guides/security/firewalls/comparing-network-firewall-solutions/index.md +++ b/docs/guides/security/firewalls/comparing-network-firewall-solutions/index.md @@ -31,7 +31,7 @@ nftables uses a *tables -> chains -> rules* structure for managing network rules Because nftables has superseded iptables, you should opt to use it when possible. The main exception is older Linux systems, many of which do not support nftables. Alternatively, you may prefer a high-level tool like those covered [below](#high-level-firewall-configuration-managers). -You can learn more about nftables and its usage in our [Getting Started with nftables](/cloud/guides/how-to-use-nftables/) guide. +You can learn more about nftables and its usage in our [Getting Started with nftables](/cloud/guides/how-to-use-nftables) guide. ### iptables @@ -39,7 +39,7 @@ You can learn more about nftables and its usage in our [Getting Started with nft Even though nftables has replaced iptables as the default, some systems, particularly ones using older Linux versions, only support iptables. Unless you are looking for higher-level firewall configuration (see [High-Level Firewall Configuration Managers](#high-Level-firewall-configuration-managers) section below), you need to use iptables in those cases. -You can learn more about iptables and how to configure network rules with them in our [Controlling Network Traffics with iptables](/cloud/guides/control-network-traffic-with-iptables/) guide. +You can learn more about iptables and how to configure network rules with them in our [Controlling Network Traffics with iptables](/cloud/guides/control-network-traffic-with-iptables) guide. ## High-Level Firewall Configuration Managers @@ -51,7 +51,7 @@ To some users, low-level tools may prove overly cumbersome. High-level tools off What especially sets UFW apart is the simplicity its commands bring to firewall configuration. Setting up your desired firewall rules and enabling the firewall follows an *uncomplicated* set of commands. -See more on UFW and steps for getting started in our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide. +See more on UFW and steps for getting started in our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide. ### Firewalld @@ -59,7 +59,7 @@ See more on UFW and steps for getting started in our [How to Configure a Firewal Firewalld supports most Linux distributions, and it is included by default on RHEL-related systems (e.g., CentOS, Fedora, AlmaLinux, Rocky Linux) and openSUSE. -Take a look at our [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) guide to find out more about using firewalld. +Take a look at our [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos) guide to find out more about using firewalld. ## Managed Cloud Firewall Service diff --git a/docs/guides/security/firewalls/control-network-traffic-with-iptables/index.md b/docs/guides/security/firewalls/control-network-traffic-with-iptables/index.md index 575e80ba11e..a353cd3dc6a 100644 --- a/docs/guides/security/firewalls/control-network-traffic-with-iptables/index.md +++ b/docs/guides/security/firewalls/control-network-traffic-with-iptables/index.md @@ -133,7 +133,7 @@ Deleting a rule is also done using the rule number. For example, to delete the r sudo iptables -D INPUT 7 {{< note type="alert" >}} -Editing rules does not automatically save them. See our section on [deploying rulesets](/cloud/guides/control-network-traffic-with-iptables/#deploy-your-iptables-rulesets) for the specific instructions for your distribution. +Editing rules does not automatically save them. See our section on [deploying rulesets](/cloud/guides/control-network-traffic-with-iptables#deploy-your-iptables-rulesets) for the specific instructions for your distribution. {{< /note >}} ### View Your Current iptables Rules @@ -394,7 +394,7 @@ The process for deploying iptables rulesets varies depending on which Linux dist ### Debian / Ubuntu -UFW is the iptables controller included with Ubuntu, but it is also available in Debian's repositories. If you prefer to use UFW instead of iptables, see our guide: [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). +UFW is the iptables controller included with Ubuntu, but it is also available in Debian's repositories. If you prefer to use UFW instead of iptables, see our guide: [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). 1. Create the files `/tmp/v4` and `/tmp/v6`. Paste the [above rulesets](#basic-iptables-rulesets-for-ipv4-and-ipv6) into their respective files. @@ -403,13 +403,13 @@ UFW is the iptables controller included with Ubuntu, but it is also available in sudo iptables-restore < /tmp/v4 sudo ip6tables-restore < /tmp/v6 -3. To apply your iptables rules automatically on boot, see our section on configuring [iptables-persistent](/cloud/guides/control-network-traffic-with-iptables/#introduction-to-iptables-persistent). +3. To apply your iptables rules automatically on boot, see our section on configuring [iptables-persistent](/cloud/guides/control-network-traffic-with-iptables#introduction-to-iptables-persistent). ### CentOS / Fedora **CentOS 7 or Fedora 20 and above** -In these distros, FirewallD is used to implement firewall rules instead of using the iptables command. If you prefer to use it over iptables, see our guide: [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). +In these distros, FirewallD is used to implement firewall rules instead of using the iptables command. If you prefer to use it over iptables, see our guide: [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos). 1. If you prefer to use iptables, FirewallD must first be stopped and disabled. diff --git a/docs/guides/security/firewalls/how-to-install-bcc/index.md b/docs/guides/security/firewalls/how-to-install-bcc/index.md index 18b17a9d4db..32e41bdb0cc 100644 --- a/docs/guides/security/firewalls/how-to-install-bcc/index.md +++ b/docs/guides/security/firewalls/how-to-install-bcc/index.md @@ -18,10 +18,10 @@ You need the following: 1. A system running on a Linux distribution and a Linux kernel version 4.1 or later. Review the Getting Started guide if you do not yet have a compatible system. For more information, review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## What is eBPF? diff --git a/docs/guides/security/firewalls/how-to-use-nftables/index.md b/docs/guides/security/firewalls/how-to-use-nftables/index.md index bde6ae6442e..feb49688db4 100644 --- a/docs/guides/security/firewalls/how-to-use-nftables/index.md +++ b/docs/guides/security/firewalls/how-to-use-nftables/index.md @@ -16,7 +16,7 @@ external_resources: - '[Configuring Chains in nftables](https://wiki.nftables.org/wiki-nftables/index.php/Configuring_chains)' --- -[*nftables*](https://netfilter.org/projects/nftables/) replaces the successful [iptables](/cloud/guides/what-is-iptables/) and its related frameworks built on Netfilter. With nftables come improvements to performance and usability, but also significant changes to syntax and usage. Use this guide to get started learning about what nftables is and how it differs from iptables. Follow along with this guide's example to implement your own rules in nftables and get a hands-on idea of what it can do. +[*nftables*](https://netfilter.org/projects/nftables/) replaces the successful [iptables](/cloud/guides/what-is-iptables) and its related frameworks built on Netfilter. With nftables come improvements to performance and usability, but also significant changes to syntax and usage. Use this guide to get started learning about what nftables is and how it differs from iptables. Follow along with this guide's example to implement your own rules in nftables and get a hands-on idea of what it can do. ## What are nftables? @@ -55,7 +55,7 @@ Otherwise, you can manually install nftables using the following steps. These st 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ### Installation Steps diff --git a/docs/guides/security/firewalls/introduction-to-firewalld-on-centos/index.md b/docs/guides/security/firewalls/introduction-to-firewalld-on-centos/index.md index 393b97444ce..a5020e5e260 100644 --- a/docs/guides/security/firewalls/introduction-to-firewalld-on-centos/index.md +++ b/docs/guides/security/firewalls/introduction-to-firewalld-on-centos/index.md @@ -307,4 +307,4 @@ To see all custom chains or rules added to firewalld: firewall-cmd --direct --get-all-chains firewall-cmd --direct --get-all-rules -Discussing iptables syntax details goes beyond the scope of this guide. If you want to learn more, you can review our [iptables guide](/cloud/guides/control-network-traffic-with-iptables/). +Discussing iptables syntax details goes beyond the scope of this guide. If you want to learn more, you can review our [iptables guide](/cloud/guides/control-network-traffic-with-iptables). diff --git a/docs/guides/security/firewalls/network-firewalls-vs-application-firewalls/index.md b/docs/guides/security/firewalls/network-firewalls-vs-application-firewalls/index.md index 071a93202c7..3d2f8417160 100644 --- a/docs/guides/security/firewalls/network-firewalls-vs-application-firewalls/index.md +++ b/docs/guides/security/firewalls/network-firewalls-vs-application-firewalls/index.md @@ -37,11 +37,11 @@ There are two key differences between network and application firewalls: how the A useful metaphor is that of a large office building, with network firewalls playing the role of security staff at the building entrances. In contrast, application firewalls are more like the locks or badge readers on interior doors. Here, network firewalls cover the entire building, while application firewalls cover specific rooms. -Network firewalls generally make access-control decisions using criteria at the network and/or transport layers, or Layers 3 and 4 of [the seven-layer OSI model](/cloud/guides/introduction-to-osi-networking-model/). +Network firewalls generally make access-control decisions using criteria at the network and/or transport layers, or Layers 3 and 4 of [the seven-layer OSI model](/cloud/guides/introduction-to-osi-networking-model). It’s best practice to place network firewalls at or close to the perimeter of each data center in your cloud network. Think of these as gatekeepers, blocking malicious traffic before it enters your network. -Just as importantly, a firewall at the network edge also manages which traffic can leave. A common error in firewall configuration is to allow all outbound traffic from protected hosts. To protect against malware and rogue applications that "phone home", your firewalls should only allow the minimal amount of outbound traffic your security policy permits. See [Firewall Best Practices for Securing Your Cloud-based Applications](/cloud/guides/firewall-best-practices-for-securing-your-cloud-based-applications/) for more information. +Just as importantly, a firewall at the network edge also manages which traffic can leave. A common error in firewall configuration is to allow all outbound traffic from protected hosts. To protect against malware and rogue applications that "phone home", your firewalls should only allow the minimal amount of outbound traffic your security policy permits. See [Firewall Best Practices for Securing Your Cloud-based Applications](/cloud/guides/firewall-best-practices-for-securing-your-cloud-based-applications) for more information. Because cloud-based firewalls allow for microsegmentation, it’s best practice to deploy network firewalls *between* network segments in addition to the periphery. This is a defense-in-depth approach to network design. diff --git a/docs/guides/security/firewalls/what-is-iptables/index.md b/docs/guides/security/firewalls/what-is-iptables/index.md index da8294b467f..3fbce2ff35a 100644 --- a/docs/guides/security/firewalls/what-is-iptables/index.md +++ b/docs/guides/security/firewalls/what-is-iptables/index.md @@ -197,4 +197,4 @@ If you want to clear all the rules that you have added to start over, you can us ## Next Steps -For more detailed information on iptables, including using ip6tables, rulesets, and iptables-persistent, see the [Controlling Network Traffic with iptables - A Tutorial](/cloud/guides/control-network-traffic-with-iptables/) guide. +For more detailed information on iptables, including using ip6tables, rulesets, and iptables-persistent, see the [Controlling Network Traffic with iptables - A Tutorial](/cloud/guides/control-network-traffic-with-iptables) guide. diff --git a/docs/guides/security/mitigations/mitigating-memcached-amplification-attacks/index.md b/docs/guides/security/mitigations/mitigating-memcached-amplification-attacks/index.md index 8ceb2179480..b58479fc90d 100644 --- a/docs/guides/security/mitigations/mitigating-memcached-amplification-attacks/index.md +++ b/docs/guides/security/mitigations/mitigating-memcached-amplification-attacks/index.md @@ -31,7 +31,7 @@ Memcached should not be exposed to the internet. There are a few basic steps you 1. Bind memcached to a specific private IP address and port. - 2. Configure your Linode's firewall accordingly. If you need help setting up a firewall, see [our firewall guides](/cloud/guides/security/firewalls/) for more information. + 2. Configure your Linode's firewall accordingly. If you need help setting up a firewall, see [our firewall guides](/cloud/guides/security/firewalls) for more information. * If you do not require memcached to communicate over any network connection, disable UDP for memcached and ensure it is only listening on `localhost`. diff --git a/docs/guides/security/mitigations/understanding-and-mitigating-log4j-vulnerabilities/index.md b/docs/guides/security/mitigations/understanding-and-mitigating-log4j-vulnerabilities/index.md index 617cc78c5ce..af14b75e754 100644 --- a/docs/guides/security/mitigations/understanding-and-mitigating-log4j-vulnerabilities/index.md +++ b/docs/guides/security/mitigations/understanding-and-mitigating-log4j-vulnerabilities/index.md @@ -53,6 +53,6 @@ The following commands may also be used towards manually identifying log4j packa If log4j is detected on your system, mitigation can be performed by immediately installing the [Latest Software Version](https://logging.apache.org/log4j/2.x/download.html) which will include the latest available software patches. Installing `log4j 2.16.0` for example will completely disables JNDI by default and removes support for Message Lookups to apply mitigation. If patching your system is not possible by updating your version of log4j, then users should follow CISA's [Recommended Workarounds](https://www.cisa.gov/uscert/apache-log4j-vulnerability-guidance) with the understanding that a full log4j software version update is recommended. -If you believe a compromise has occurred, we recommend following the steps in our guide for [Recovering From a System Compromise](/cloud/guides/recovering-from-a-system-compromise/). +If you believe a compromise has occurred, we recommend following the steps in our guide for [Recovering From a System Compromise](/cloud/guides/recovering-from-a-system-compromise). As log4j is, at the time of this writing, still a developing issue, it is recommended that users continue to regularly monitor the situation from both CISA's [Guidance Page](https://www.cisa.gov/uscert/apache-log4j-vulnerability-guidance) and [Apache's log4j Vulnerabilities Page](https://logging.apache.org/log4j/2.x/security.html) \ No newline at end of file diff --git a/docs/guides/security/monitoring/create-a-pop-email-notification-system-using-twilio/index.md b/docs/guides/security/monitoring/create-a-pop-email-notification-system-using-twilio/index.md index e3b5a6fa951..344f01ccdad 100644 --- a/docs/guides/security/monitoring/create-a-pop-email-notification-system-using-twilio/index.md +++ b/docs/guides/security/monitoring/create-a-pop-email-notification-system-using-twilio/index.md @@ -45,11 +45,11 @@ The auto-forwarding system leverages the API of Twilio, a cloud communications s After you create your Linode, follow our [Securing your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to reduce the threat of a system compromise. Specifically, make sure you [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to the Linode. The notification system in this guide should be installed under a limited Linux user. -1. Another guide in our library, [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/), shows the prerequisite steps for using the Twilio API. Follow this guide, starting with its [Before You Begin](/cloud/guides/how-to-use-the-linode-api-with-twilio/#before-you-begin) section, up to and including the [Install the Twilio Python Helper Library](/cloud/guides/how-to-use-the-linode-api-with-twilio/#install-the-twilio-python-helper-library) section. +1. Another guide in our library, [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio), shows the prerequisite steps for using the Twilio API. Follow this guide, starting with its [Before You Begin](/cloud/guides/how-to-use-the-linode-api-with-twilio#before-you-begin) section, up to and including the [Install the Twilio Python Helper Library](/cloud/guides/how-to-use-the-linode-api-with-twilio#install-the-twilio-python-helper-library) section. The guide instructs you to install the Twilio API client for Python. When following these instructions, run the commands under the limited Linux user on your Linode instance. -1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/cloud/guides/use-nano-to-edit-files-in-linux/) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). +1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/cloud/guides/use-nano-to-edit-files-in-linux) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). 1. Your email service needs to support POP, and support for POP may need to be manually enabled. For example, [Gmail has an option to turn on POP access in its settings](https://support.google.com/mail/answer/7104828). @@ -61,7 +61,7 @@ The script in this section is updated in the next section to incorporate auto-fo ### Import Modules and Initialize Service Credentials -1. Log into your Linode under your limited Linux user [using SSH](/cloud/guides/connect-to-server-over-ssh/). +1. Log into your Linode under your limited Linux user [using SSH](/cloud/guides/connect-to-server-over-ssh). 1. Create a new file named `forward-last-email-to-text-message.py` with your preferred terminal text editor. For example, when using `nano`, run: @@ -341,7 +341,7 @@ The code example is now complete. Your script should now look like the code in [ ### Run the Code -1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: +1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: export TWILIO_ACCOUNT_SID= export TWILIO_AUTH_TOKEN= @@ -367,9 +367,9 @@ export EMAIL_SERVER=pop.yourdomain.com | Variable | Value | |----------|-------| - | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials) | - | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | - | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/cloud/guides/how-to-use-the-linode-api-with-twilio/#sign-up-for-twilio) | + | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio#locate-your-twilio-api-credentials) | + | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | + | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/cloud/guides/how-to-use-the-linode-api-with-twilio#sign-up-for-twilio) | | TWILIO_TO_PHONE_NUMBER | Your personal or testing phone number that you signed up to Twilio with. The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | | EMAIL_USERNAME | Your email address. | | EMAIL_PASSWORD | Your password for your email. Note that some services may require you to create an app-specific password for the POP connection. For example, [Google requires you to create an app-specific password](https://support.google.com/accounts/answer/185833) if you use 2-step verification/2FA on your account. | @@ -429,7 +429,7 @@ This auto-forwarding system has two parts: - The example code is [updated to forward multiple recent Linode Alert emails](#forward-all-linode-alert-emails-within-last-minute), instead of stopping after the most recent email is found. Specifically, it fetches the content for any Linode Alert email from the previous minute and forwards it to Twilio. -- A [cron](/cloud/guides/schedule-tasks-with-cron/) job is created to run the script every minute. This means that every time the script is run, it checks for emails that have been received since the last time the script was run. +- A [cron](/cloud/guides/schedule-tasks-with-cron) job is created to run the script every minute. This means that every time the script is run, it checks for emails that have been received since the last time the script was run. The updated example code looks for email in the last full minute prior to when the script is run. The example code does *not* check for email in the 60 seconds that preceded the script's execution time. Consider this example: @@ -592,7 +592,7 @@ The example code is similar to the code from the previous section. The updated l ### Set Up a Cron Job -[Cron](/cloud/guides/schedule-tasks-with-cron/) is a Linux tool that runs processes at different scheduled times that you specify. Follow these instructions to set up a cron job for the new script: +[Cron](/cloud/guides/schedule-tasks-with-cron) is a Linux tool that runs processes at different scheduled times that you specify. Follow these instructions to set up a cron job for the new script: 1. In your SSH session, start the *crontab* editor: @@ -705,13 +705,13 @@ Your script should now look like the code in [this file](autoforward-email-with- The auto-forwarding system is now complete, and it includes email filtering by subject keyword. You can make adjustments to the search criterion to change this filtering behavior. For example, you could search for the string `traffic rate` to only forward notifications about spikes in your Linodes' networking. You can also tweak the [alert threshold values](https://techdocs.akamai.com/cloud-computing/docs/configure-email-alerts-for-resource-usage-on-compute-instances) for different resources in the Cloud Manager. -In addition to forwarding emails to text, you may want to forward information from the Linode API to text. The [Using the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/) and [Monitor your Linode's Network Transfer Pool with Twilio](/cloud/guides/monitor-linode-network-transfer-pool-with-twilio/) guides show how to combine the Linode and Twilio APIs. +In addition to forwarding emails to text, you may want to forward information from the Linode API to text. The [Using the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio) and [Monitor your Linode's Network Transfer Pool with Twilio](/cloud/guides/monitor-linode-network-transfer-pool-with-twilio) guides show how to combine the Linode and Twilio APIs. Twilio's API offers many other features as well. For example, you can forward notifications to more than one phone number using the [Messaging Service resource](https://www.twilio.com/docs/messaging/services/api#messaging-services-resource). Twilio's [quick start guides](https://www.twilio.com/docs/quickstart) are helpful when exploring the Twilio API. ## Troubleshooting -Several troubleshooting scenarios are outlined in the [Troubleshooting](/cloud/guides/how-to-use-the-linode-api-with-twilio/#troubleshooting) section of the [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/) guide. Review that section for possible solutions. +Several troubleshooting scenarios are outlined in the [Troubleshooting](/cloud/guides/how-to-use-the-linode-api-with-twilio#troubleshooting) section of the [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio) guide. Review that section for possible solutions. When troubleshooting email forwarding, remember that you can trigger new Linode system notifications by: diff --git a/docs/guides/security/monitoring/how-to-use-the-linode-api-with-twilio/index.md b/docs/guides/security/monitoring/how-to-use-the-linode-api-with-twilio/index.md index f88d8ff4544..8f3a1d0aa24 100644 --- a/docs/guides/security/monitoring/how-to-use-the-linode-api-with-twilio/index.md +++ b/docs/guides/security/monitoring/how-to-use-the-linode-api-with-twilio/index.md @@ -32,7 +32,7 @@ This guide shows a first example of how to send data from the Linode API to the On Windows, Python can be downloaded [from the Windows Store](https://www.microsoft.com/en-us/p/python-39/9p7qfqmjrfp7?activetab=pivot:overviewtab). -1. This guide uses the [pip3](https://pip.pypa.io/en/stable/installation/) tool to install dependencies for the example code. Our [Managing Python Packages and Versions on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/) guide shows how to install and use pip3 on Linux. On Windows, pip3 is automatically installed when you install Python [from the Windows Store](https://www.microsoft.com/en-us/p/python-39/9p7qfqmjrfp7?activetab=pivot:overviewtab). This guide does not use a [Python virtual environment](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/#manage-virtual-environments-in-linux), but you can alter the instructions if you prefer to use one. +1. This guide uses the [pip3](https://pip.pypa.io/en/stable/installation/) tool to install dependencies for the example code. Our [Managing Python Packages and Versions on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux) guide shows how to install and use pip3 on Linux. On Windows, pip3 is automatically installed when you install Python [from the Windows Store](https://www.microsoft.com/en-us/p/python-39/9p7qfqmjrfp7?activetab=pivot:overviewtab). This guide does not use a [Python virtual environment](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux#manage-virtual-environments-in-linux), but you can alter the instructions if you prefer to use one. 1. An active phone number is needed to sign up for a Twilio account, so be sure to have one if you want to implement the code example. @@ -262,7 +262,7 @@ The code example is now complete. The completed example should look like the cod ### Run the Code -1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal: +1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables) that the script expects in your terminal: {{< tabs >}} {{< tab "Linux and macOS" >}} diff --git a/docs/guides/security/monitoring/monitor-linode-network-transfer-pool-with-twilio/index.md b/docs/guides/security/monitoring/monitor-linode-network-transfer-pool-with-twilio/index.md index 3f79f624770..584374f2719 100644 --- a/docs/guides/security/monitoring/monitor-linode-network-transfer-pool-with-twilio/index.md +++ b/docs/guides/security/monitoring/monitor-linode-network-transfer-pool-with-twilio/index.md @@ -45,15 +45,15 @@ Using Twilio, you can also build a custom text message notification system for y After you create your Linode, follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to reduce the threat of a system compromise. Specifically, make sure you [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to the Linode. The notification system in this guide should be installed under a limited Linux user. -1. Another guide in our library, [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/), shows the prerequisite steps for using the Linode API and Twilio API together. Follow this guide, starting with its [Before You Begin](/cloud/guides/how-to-use-the-linode-api-with-twilio/#before-you-begin) section, up to and including the [Install the Python Bindings for the Linode API](/cloud/guides/how-to-use-the-linode-api-with-twilio/#install-the-python-bindings-for-the-linode-api) section. +1. Another guide in our library, [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio), shows the prerequisite steps for using the Linode API and Twilio API together. Follow this guide, starting with its [Before You Begin](/cloud/guides/how-to-use-the-linode-api-with-twilio#before-you-begin) section, up to and including the [Install the Python Bindings for the Linode API](/cloud/guides/how-to-use-the-linode-api-with-twilio#install-the-python-bindings-for-the-linode-api) section. The guide instructs you to install the Linode API and Twilio API clients for Python. When following these instructions, run the commands under the limited Linux user on your Linode instance. {{< note respectIndent=false >}} -The prerequisite guide instructs you to select the **Account** resource [when creating the Linode API key](/cloud/guides/how-to-use-the-linode-api-with-twilio/#get-a-linode-api-token). This resource is also used for the [Network Transfer View endpoint](https://techdocs.akamai.com/linode-api/reference/api-summary#network-transfer-view) that's accessed by the network transfer usage notification system in the current guide. +The prerequisite guide instructs you to select the **Account** resource [when creating the Linode API key](/cloud/guides/how-to-use-the-linode-api-with-twilio#get-a-linode-api-token). This resource is also used for the [Network Transfer View endpoint](https://techdocs.akamai.com/linode-api/reference/api-summary#network-transfer-view) that's accessed by the network transfer usage notification system in the current guide. {{< /note >}} -1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/cloud/guides/use-nano-to-edit-files-in-linux/) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). +1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/cloud/guides/use-nano-to-edit-files-in-linux) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). ## Send Network Transfer Usage in a Text Message @@ -63,7 +63,7 @@ The last part of this section shows how to run the script manually to deliver a ### Import Modules and Initialize Service Credentials -1. Log into your Linode under your limited Linux user [using SSH](/cloud/guides/connect-to-server-over-ssh/). +1. Log into your Linode under your limited Linux user [using SSH](/cloud/guides/connect-to-server-over-ssh). 1. Create a new file named `transfer-pool-notification-twilio.py` with your preferred terminal text editor. For example, when using `nano`, run: @@ -209,7 +209,7 @@ The code example is now complete. Your script should now look like the code in [ ### Run the Code -1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: +1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: export TWILIO_ACCOUNT_SID= export TWILIO_AUTH_TOKEN= @@ -231,11 +231,11 @@ export LINODE_API_TOKEN=bKfoAoV8Awo8e9CVTFTYKEdojkpHdD8BNU6UvV66izq6KjduPikfQTGH | Variable | Value | |----------|-------| - | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials) | - | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | - | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/cloud/guides/how-to-use-the-linode-api-with-twilio/#sign-up-for-twilio) | + | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio#locate-your-twilio-api-credentials) | + | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | + | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/cloud/guides/how-to-use-the-linode-api-with-twilio#sign-up-for-twilio) | | TWILIO_TO_PHONE_NUMBER | Your personal or testing phone number that you signed up to Twilio with. The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | - | LINODE_API_TOKEN | [The Linode API token that you generated](/cloud/guides/how-to-use-the-linode-api-with-twilio/#get-a-linode-api-token) and recorded | + | LINODE_API_TOKEN | [The Linode API token that you generated](/cloud/guides/how-to-use-the-linode-api-with-twilio#get-a-linode-api-token) and recorded | 1. Run the script: @@ -265,7 +265,7 @@ https://www.linode.com/docs/products/platform/get-started/guides/network-transfe The notification system should be set up to run periodically on its own. By sending periodic notifications, you can be informed of your transfer usage throughout the month. -To run the Python script automatically, set up a cron job on your Linode. [Cron](/cloud/guides/schedule-tasks-with-cron/) is a Linux tool that runs processes at different time intervals that you specify. +To run the Python script automatically, set up a cron job on your Linode. [Cron](/cloud/guides/schedule-tasks-with-cron) is a Linux tool that runs processes at different time intervals that you specify. 1. In your SSH session, start the *crontab* editor: @@ -311,7 +311,7 @@ You might want to be informed of your network transfer usage more frequently, or - Using `* * * * *` would run the task every minute. This is useful if you're testing the script to make sure it works as expected. You probably would not want to keep this schedule after you've finished testing. -Our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide shows how other scheduled times can be set. +Our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron) guide shows how other scheduled times can be set. After changing the scheduling string, save the crontab file in your text editor and exit the editor. @@ -541,7 +541,7 @@ When testing, it can also be helpful to change the cron job schedule to run ever ## Troubleshooting -Several troubleshooting scenarios are outlined in the [Troubleshooting](/cloud/guides/how-to-use-the-linode-api-with-twilio/#troubleshooting) section of the [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/) guide. Review that section for possible solutions. +Several troubleshooting scenarios are outlined in the [Troubleshooting](/cloud/guides/how-to-use-the-linode-api-with-twilio#troubleshooting) section of the [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio) guide. Review that section for possible solutions. As well, the following possible solution may help: diff --git a/docs/guides/security/monitoring/monitor-server-activities-using-beats/index.md b/docs/guides/security/monitoring/monitor-server-activities-using-beats/index.md index 54bcbfe5538..eb16ce21b25 100644 --- a/docs/guides/security/monitoring/monitor-server-activities-using-beats/index.md +++ b/docs/guides/security/monitoring/monitor-server-activities-using-beats/index.md @@ -11,7 +11,7 @@ external_resources: - '[Beats](https://www.elastic.co/beats/)' - '[Packetbeat](https://www.elastic.co/beats/packetbeat)' - '[Auditbeat](https://www.elastic.co/beats/auditbeat)' -- '[Elasticsearch](/cloud/guides/a-guide-to-elasticsearch-plugins/#elasticsearch)' +- '[Elasticsearch](/cloud/guides/a-guide-to-elasticsearch-plugins#elasticsearch)' - '[Kibana Query Language (KQL)](https://www.elastic.co/guide/en/kibana/current/kuery-query.html)' - '[File Integrity Module](https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-module-file_integrity.html)' --- @@ -58,13 +58,13 @@ These industries use often cross-categories. For example, [John Deere](https://w ## Run Filebeat from the Command Line and Kibana -To begin using the Beats products, create a simple setup and then experiment with it. Creating a Filebeat command line interface gives you an essential understanding of how the various Beats products work without investing a lot of time in configuration and setup. This section relies on a Linode 4 GB plan on an Ubuntu 22.04 LTS distribution, which is the smallest setup that works. The process works best with a [non-root user who has sudo access](/cloud/guides/how-to-add-and-remove-sudo-access-in-ubuntu/). Before installing Filebeat, ensure you have logged in as a non-root user, and you install the following prerequisites: +To begin using the Beats products, create a simple setup and then experiment with it. Creating a Filebeat command line interface gives you an essential understanding of how the various Beats products work without investing a lot of time in configuration and setup. This section relies on a Linode 4 GB plan on an Ubuntu 22.04 LTS distribution, which is the smallest setup that works. The process works best with a [non-root user who has sudo access](/cloud/guides/how-to-add-and-remove-sudo-access-in-ubuntu). Before installing Filebeat, ensure you have logged in as a non-root user, and you install the following prerequisites: -- [OpenJDK](/cloud/guides/how-to-install-openjdk-ubuntu-22-04/): Ensure you install Java 11, as newer versions may not be compatible. +- [OpenJDK](/cloud/guides/how-to-install-openjdk-ubuntu-22-04): Ensure you install Java 11, as newer versions may not be compatible. -- [Nginx](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/): Ensure you stop after completing the **Install NGINX** section. +- [Nginx](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04): Ensure you stop after completing the **Install NGINX** section. -- [Elasticsearch](/cloud/guides/a-guide-to-elasticsearch-plugins/#elasticsearch): There have been recent modifications to the standard installation procedure due to changes in the security setup for Ubuntu. Follow the updated command instead for step 1 for installing the signing key: +- [Elasticsearch](/cloud/guides/a-guide-to-elasticsearch-plugins#elasticsearch): There have been recent modifications to the standard installation procedure due to changes in the security setup for Ubuntu. Follow the updated command instead for step 1 for installing the signing key: ```command curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch |sudo gpg --dearmor -o /usr/share/keyrings/elastic.gpg @@ -352,7 +352,7 @@ Filebeat monitors the logs that containerized applications produce. To make this ## Check Activity Levels Using Metricbeat -Tracking your servers’ resource use and activity levels helps to determine server health and allows potential problem remediation before the server goes down. As with Filebeat, you can [install Metricbeat](https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-installation-configuration.html#install) using a self-managed configuration (see the [Run Filebeat from the Command Line and Kibana](/cloud/guides/monitor-server-activities-using-beats/#run-filebeat-from-the-command-line-and-kibana) section of this guide for details). The Metricbeat configuration information resides in the `/etc/metricbeat/metricbeat.yml` file. Metricbeat appears in your Kibana dashboard and you can use the filtering options to select the metrics you want to see. +Tracking your servers’ resource use and activity levels helps to determine server health and allows potential problem remediation before the server goes down. As with Filebeat, you can [install Metricbeat](https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-installation-configuration.html#install) using a self-managed configuration (see the [Run Filebeat from the Command Line and Kibana](/cloud/guides/monitor-server-activities-using-beats#run-filebeat-from-the-command-line-and-kibana) section of this guide for details). The Metricbeat configuration information resides in the `/etc/metricbeat/metricbeat.yml` file. Metricbeat appears in your Kibana dashboard and you can use the filtering options to select the metrics you want to see. ### Understanding the Kinds of Metrics You Can Collect @@ -372,7 +372,7 @@ Metricbeat also works with modules so you can work with services. Each module pr ## Ensuring a Secure Environment with Auditbeat -Creating a paper trail of activities on your system helps show patterns that may indicate unwanted actions by actors who access the system. As with Filebeat, you can install Auditbeat as a [self-managed](https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-installation-configuration.html#install) application (see the [Run Filebeat from the Command Line and Kibana](/cloud/guides/monitor-server-activities-using-beats/#run-filebeat-from-the-command-line-and-kibana) section of this guide). Unlike the other Beats, Auditbeat always relies on modules to determine which information to collect and these modules are platform-specific. To modify the modules that Auditbeat uses, modify the contents of the `/etc/auditbeat/auditbeat.yml` file. Like Metricbeat, Auditbeat requires that you [configure modules individually](https://www.elastic.co/guide/en/beats/auditbeat/current/configuration-auditbeat.html). +Creating a paper trail of activities on your system helps show patterns that may indicate unwanted actions by actors who access the system. As with Filebeat, you can install Auditbeat as a [self-managed](https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-installation-configuration.html#install) application (see the [Run Filebeat from the Command Line and Kibana](/cloud/guides/monitor-server-activities-using-beats#run-filebeat-from-the-command-line-and-kibana) section of this guide). Unlike the other Beats, Auditbeat always relies on modules to determine which information to collect and these modules are platform-specific. To modify the modules that Auditbeat uses, modify the contents of the `/etc/auditbeat/auditbeat.yml` file. Like Metricbeat, Auditbeat requires that you [configure modules individually](https://www.elastic.co/guide/en/beats/auditbeat/current/configuration-auditbeat.html). ### Using Auditbeat as a auditd Replacement diff --git a/docs/guides/security/monitoring/monitoring-and-securing-cloud-workloads-with-wazuh/index.md b/docs/guides/security/monitoring/monitoring-and-securing-cloud-workloads-with-wazuh/index.md index 7ddb96f6d2a..74cf3de68ff 100644 --- a/docs/guides/security/monitoring/monitoring-and-securing-cloud-workloads-with-wazuh/index.md +++ b/docs/guides/security/monitoring/monitoring-and-securing-cloud-workloads-with-wazuh/index.md @@ -55,7 +55,7 @@ Wazuh features dashboards for exploring the MITRE ATT&CK framework and associate There are a number of ways to install Wazuh, depending on where you want it to run, what other services you want to use with Wazuh, and the amount of traffic you need to handle: -- Use [our Wazuh Quick Deploy App](/cloud/marketplace-docs/guides/wazuh/) for a fast deployment. This option fully deploys in about 15 minutes and requires minimal configuration information. +- Use [our Wazuh Quick Deploy App](/cloud/marketplace-docs/guides/wazuh) for a fast deployment. This option fully deploys in about 15 minutes and requires minimal configuration information. - Using [Wazuh's Quickstart instructions](https://documentation.wazuh.com/current/quickstart.html#installing-wazuh) along with their installation assistant, you can create an all-in-one, single node deployment. This deploys Wazuh on a single server that can monitor up to 100 endpoints. diff --git a/docs/guides/security/monitoring/twilio-email-notifications-imap/index.md b/docs/guides/security/monitoring/twilio-email-notifications-imap/index.md index a9ea658dd9d..5cac4ed541c 100644 --- a/docs/guides/security/monitoring/twilio-email-notifications-imap/index.md +++ b/docs/guides/security/monitoring/twilio-email-notifications-imap/index.md @@ -48,11 +48,11 @@ The auto-forwarding system leverages the API of Twilio, a cloud communications s After you create your Linode, follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to reduce the threat of a system compromise. Specifically, make sure you [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to the Linode. The notification system in this guide should be installed under a limited Linux user. -1. Another guide in our library, [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/), shows the prerequisite steps for using the Twilio API. Follow this guide, starting with its [Before You Begin](/cloud/guides/how-to-use-the-linode-api-with-twilio/#before-you-begin) section, up to and including the [Install the Twilio Python Helper Library](/cloud/guides/how-to-use-the-linode-api-with-twilio/#install-the-twilio-python-helper-library) section. +1. Another guide in our library, [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio), shows the prerequisite steps for using the Twilio API. Follow this guide, starting with its [Before You Begin](/cloud/guides/how-to-use-the-linode-api-with-twilio#before-you-begin) section, up to and including the [Install the Twilio Python Helper Library](/cloud/guides/how-to-use-the-linode-api-with-twilio#install-the-twilio-python-helper-library) section. The guide instructs you to install the Twilio API client for Python. When following these instructions, run the commands under the limited Linux user on your Linode instance. -1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/cloud/guides/use-nano-to-edit-files-in-linux/) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). +1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/cloud/guides/use-nano-to-edit-files-in-linux) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). 1. Your email service needs to support IMAP, and support for IMAP may need to be manually enabled. For example, [Gmail has an option to turn on IMAP access in its settings](https://support.google.com/mail/answer/7126229?hl=en#zippy=%2Cstep-check-that-imap-is-turned-on). @@ -64,7 +64,7 @@ The script in this section is updated in the next section to incorporate auto-fo ### Import Modules and Initialize Service Credentials -1. Log into your Linode under your limited Linux user [using SSH](/cloud/guides/connect-to-server-over-ssh/). +1. Log into your Linode under your limited Linux user [using SSH](/cloud/guides/connect-to-server-over-ssh). 1. Create a new file named `forward-last-email-to-text-message.py` with your preferred terminal text editor. For example, when using `nano`, run: @@ -349,7 +349,7 @@ The code example is now complete. Your script should now look like the code in [ ### Run the Code -1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: +1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: export TWILIO_ACCOUNT_SID= export TWILIO_AUTH_TOKEN= @@ -375,9 +375,9 @@ export EMAIL_SERVER=imap.yourdomain.com | Variable | Value | |----------|-------| - | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials) | - | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | - | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/cloud/guides/how-to-use-the-linode-api-with-twilio/#sign-up-for-twilio) | + | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio#locate-your-twilio-api-credentials) | + | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | + | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/cloud/guides/how-to-use-the-linode-api-with-twilio#sign-up-for-twilio) | | TWILIO_TO_PHONE_NUMBER | Your personal or testing phone number that you signed up to Twilio with. The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | | EMAIL_USERNAME | Your email address. | | EMAIL_PASSWORD | Your password for your email. Note that some services may require you to create an app-specific password for the IMAP connection. For example, [Google requires you to create an app-specific password](https://support.google.com/accounts/answer/185833) if you use 2-step verification/2FA on your account. | @@ -427,7 +427,7 @@ This auto-forwarding system has two parts: - The example code is [updated to search recent email by date](#iterate-through-recent-emails). The script iterates through the matching emails and creates a text message for each of them, instead of just forwarding the single most recent email. Specifically, it fetches the content for any Linode Alert email from the past 60 seconds and forwards it to Twilio. -- A [cron](/cloud/guides/schedule-tasks-with-cron/) job is created to run the script every minute. This means that every time the script is run, it checks for emails that have been received since the last time the script was run. +- A [cron](/cloud/guides/schedule-tasks-with-cron) job is created to run the script every minute. This means that every time the script is run, it checks for emails that have been received since the last time the script was run. ### Search Email by Date with Imaplib @@ -557,7 +557,7 @@ The example code is similar to the code from the previous section. The updated l ### Set Up a Cron Job -[Cron](/cloud/guides/schedule-tasks-with-cron/) is a Linux tool that runs processes at different time intervals that you specify. Follow these instructions to set up a cron job for the new script: +[Cron](/cloud/guides/schedule-tasks-with-cron) is a Linux tool that runs processes at different time intervals that you specify. Follow these instructions to set up a cron job for the new script: 1. In your SSH session, start the *crontab* editor: @@ -656,13 +656,13 @@ Your script should now look like the code in [this file](autoforward-email-with- The auto-forwarding system is now complete, and it includes email filtering by subject keyword. You can make adjustments to the search criterion to change this filtering behavior. For example, you could search for the string `traffic rate` to only forward notifications about spikes in your Linodes' networking. You can also tweak the [alert threshold values](https://techdocs.akamai.com/cloud-computing/docs/configure-email-alerts-for-resource-usage-on-compute-instances) for different resources in the Cloud Manager. -In addition to forwarding emails to text, you may want to forward information from the Linode API to text. The [Using the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/) and [Monitor your Linode's Network Transfer Pool with Twilio](/cloud/guides/monitor-linode-network-transfer-pool-with-twilio/) guides show how to combine the Linode and Twilio APIs. +In addition to forwarding emails to text, you may want to forward information from the Linode API to text. The [Using the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio) and [Monitor your Linode's Network Transfer Pool with Twilio](/cloud/guides/monitor-linode-network-transfer-pool-with-twilio) guides show how to combine the Linode and Twilio APIs. Twilio's API offers many other features as well. For example, you can forward notifications to more than one phone number using the [Messaging Service resource](https://www.twilio.com/docs/messaging/services/api#messaging-services-resource). Twilio's [quick start guides](https://www.twilio.com/docs/quickstart) are helpful when exploring the Twilio API. ## Troubleshooting -Several troubleshooting scenarios are outlined in the [Troubleshooting](/cloud/guides/how-to-use-the-linode-api-with-twilio/#troubleshooting) section of the [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/) guide. Review that section for possible solutions. +Several troubleshooting scenarios are outlined in the [Troubleshooting](/cloud/guides/how-to-use-the-linode-api-with-twilio#troubleshooting) section of the [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio) guide. Review that section for possible solutions. When troubleshooting email forwarding, remember that you can trigger new Linode system notifications by: diff --git a/docs/guides/security/monitoring/visualize-server-security-on-centos-7-with-an-elastic-stack-and-wazuh/index.md b/docs/guides/security/monitoring/visualize-server-security-on-centos-7-with-an-elastic-stack-and-wazuh/index.md index 981c09ff5d5..c796367e3ed 100644 --- a/docs/guides/security/monitoring/visualize-server-security-on-centos-7-with-an-elastic-stack-and-wazuh/index.md +++ b/docs/guides/security/monitoring/visualize-server-security-on-centos-7-with-an-elastic-stack-and-wazuh/index.md @@ -47,22 +47,22 @@ Wazuh is an open source branch of the original [OSSEC HIDS](https://ossec.github 3. Add a domain zone, NS record, and A/AAA record for the domain you will use to access your Kibana installation. See the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for details. If you will access your Kibana instance via your Linode's IP address, you can skip this step. -4. [Create an SSL Certificate](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/), if you will be using SSL encryption for your domain. +4. [Create an SSL Certificate](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates), if you will be using SSL encryption for your domain. 5. Install NGINX or Apache. Visit our guides on how to install a LEMP or LAMP stack for CentOS for help: - - [Install a LEMP Stack on CentOS 7 with FastCGI](/cloud/guides/lemp-stack-on-centos-7-with-fastcgi/) - - [LAMP stack on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/) + - [Install a LEMP Stack on CentOS 7 with FastCGI](/cloud/guides/lemp-stack-on-centos-7-with-fastcgi) + - [LAMP stack on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7) 6. Configure your webserver for virtual domain hosting: **NGINX** - - [How to Configure NGINX](/cloud/guides/how-to-configure-nginx/) + - [How to Configure NGINX](/cloud/guides/how-to-configure-nginx) **Apache** - - [Apache Configuration Basics](/cloud/guides/apache-configuration-basics/) + - [Apache Configuration Basics](/cloud/guides/apache-configuration-basics) ## Update System and Install Prerequisites diff --git a/docs/guides/security/recovery/recovering-from-a-system-compromise/index.md b/docs/guides/security/recovery/recovering-from-a-system-compromise/index.md index 664b8a2ca12..5fefa387a1e 100644 --- a/docs/guides/security/recovery/recovering-from-a-system-compromise/index.md +++ b/docs/guides/security/recovery/recovering-from-a-system-compromise/index.md @@ -72,13 +72,13 @@ Rebuild your production server's configuration on the new Linode. The next task is to copy your data to the new Linode, and make sure that all compromised portions have been purged. 1. Create a temporary directory on the new Linode. -2. Copy any needed user and configuration data from the compromised Linode using [rsync](/cloud/guides/introduction-to-rsync/) or `scp`. +2. Copy any needed user and configuration data from the compromised Linode using [rsync](/cloud/guides/introduction-to-rsync) or `scp`. {{< note type="alert" respectIndent=false >}} Do not log in to the new Linode from the compromised Linode. Files should be pulled from the compromised server to your new setup instead. {{< /note >}} -3. Audit your data using tools such as `rkhunter` and [`clamav`](/cloud/guides/scanning-your-linode-for-malware/). You can use additional malware scanners to be certain you aren't retaining tainted files. Examine all system scripts manually for contaminated code, and replace all suspicious executable files with known good copies. +3. Audit your data using tools such as `rkhunter` and [`clamav`](/cloud/guides/scanning-your-linode-for-malware). You can use additional malware scanners to be certain you aren't retaining tainted files. Examine all system scripts manually for contaminated code, and replace all suspicious executable files with known good copies. If you're not comfortable copying from the compromised system prior to auditing the data, you can instead use the [Finnix rescue environment](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild) to examine your old disks. Once you have verified the integrity of your data, copy it to the appropriate location on your new server. diff --git a/docs/guides/security/secrets-management/deploy-openbao-on-linode-kubernetes-engine/index.md b/docs/guides/security/secrets-management/deploy-openbao-on-linode-kubernetes-engine/index.md index 16cde02734c..b16633a080e 100644 --- a/docs/guides/security/secrets-management/deploy-openbao-on-linode-kubernetes-engine/index.md +++ b/docs/guides/security/secrets-management/deploy-openbao-on-linode-kubernetes-engine/index.md @@ -14,7 +14,7 @@ external_resources: [OpenBao](https://openbao.org/) is an open source secrets management solution and fork of HashiCorp Vault. This guide walks through how to deploy [OpenBao on Kubernetes](https://openbao.org/docs/platform/k8s/) with Linode Kubernetes Engine (LKE) on Akamai Cloud using the [OpenBao Helm chart](https://github.com/openbao/openbao-helm). -For a single-instance manual deployment, see our [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance/) guide. If you prefer an automated one-click, single-instance deployment, see our [OpenBao Quick Deploy App](/cloud/marketplace-docs/guides/openbao/). +For a single-instance manual deployment, see our [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance) guide. If you prefer an automated one-click, single-instance deployment, see our [OpenBao Quick Deploy App](/cloud/marketplace-docs/guides/openbao). ## Before You Begin @@ -31,7 +31,7 @@ For a single-instance manual deployment, see our [Deploying OpenBao on a Linode 1. Install the [OpenBao CLI](https://openbao.org/docs/install/) on your workstation. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Provision an LKE Cluster diff --git a/docs/guides/security/secrets-management/deploying-openbao-on-a-linode-instance/index.md b/docs/guides/security/secrets-management/deploying-openbao-on-a-linode-instance/index.md index ea99ae509ce..a1e1af04d5b 100644 --- a/docs/guides/security/secrets-management/deploying-openbao-on-a-linode-instance/index.md +++ b/docs/guides/security/secrets-management/deploying-openbao-on-a-linode-instance/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' [OpenBao](https://openbao.org/) is an open source secrets management solution and fork of HashiCorp Vault. This guide walks through a manual installation of OpenBao on a single Linode instance running the Ubuntu 24.04 LTS distribution. -For a Kubernetes cluster deployment, see our [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine/) guide. If you prefer an automated one-click deployment, see our [OpenBao Quick Deploy App](/cloud/marketplace-docs/guides/openbao/). +For a Kubernetes cluster deployment, see our [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine) guide. If you prefer an automated one-click deployment, see our [OpenBao Quick Deploy App](/cloud/marketplace-docs/guides/openbao). ## Before You Begin @@ -45,7 +45,7 @@ For a Kubernetes cluster deployment, see our [Deploy OpenBao on Linode Kubernete 1. Follow our [Set Up and Secure a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system and create a limited user account. You may also wish to set the timezone, configure your hostname, and harden SSH access. {{< note >}} - This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. + This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install OpenBao diff --git a/docs/guides/security/secrets-management/how-to-setup-and-use-a-vault-server/index.md b/docs/guides/security/secrets-management/how-to-setup-and-use-a-vault-server/index.md index fab9547c312..688e1fe3a9e 100644 --- a/docs/guides/security/secrets-management/how-to-setup-and-use-a-vault-server/index.md +++ b/docs/guides/security/secrets-management/how-to-setup-and-use-a-vault-server/index.md @@ -42,7 +42,7 @@ A secret is a credential or key that allows you to gain access to a particular r ``` {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{< note >}} diff --git a/docs/guides/security/security-patches/dirty-frag-mitigation/index.md b/docs/guides/security/security-patches/dirty-frag-mitigation/index.md index 263230c132e..7383109b4e6 100644 --- a/docs/guides/security/security-patches/dirty-frag-mitigation/index.md +++ b/docs/guides/security/security-patches/dirty-frag-mitigation/index.md @@ -10,7 +10,7 @@ keywords: ['dirtyfrag','dirty','frag','mitigation','patch','CVE-2026-43500','CVE license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -The "[DirtyFrag](https://github.com/V4bel/dirtyfrag)" (CVE-2026-43500, CVE-2026-43284) vulnerabilities are the second in a new series of local privilege escalations in the Linux kernel that have recently been published and which exploit the ability for an unprivileged user to write to the page cache. Similar to the "[CopyFail](/cloud/guides/cve-2026-31431-copy-fail-mitigation/)" (CVE-2026-31431) vulnerability in nature, these new attack vectors exploit the esp4/esp6 (used by, e.g., [IPSec ESP](https://en.wikipedia.org/wiki/IPsec#Encapsulating_Security_Payload)) and `rxrpc` (used by, e.g., the Andrew File System) components to write attacker controlled data to the page cache. Much like CopyFail as well, these vulnerabilities are easy and reliable to exploit on affected systems and impact most major Linux distributions. +The "[DirtyFrag](https://github.com/V4bel/dirtyfrag)" (CVE-2026-43500, CVE-2026-43284) vulnerabilities are the second in a new series of local privilege escalations in the Linux kernel that have recently been published and which exploit the ability for an unprivileged user to write to the page cache. Similar to the "[CopyFail](/cloud/guides/cve-2026-31431-copy-fail-mitigation)" (CVE-2026-31431) vulnerability in nature, these new attack vectors exploit the esp4/esp6 (used by, e.g., [IPSec ESP](https://en.wikipedia.org/wiki/IPsec#Encapsulating_Security_Payload)) and `rxrpc` (used by, e.g., the Andrew File System) components to write attacker controlled data to the page cache. Much like CopyFail as well, these vulnerabilities are easy and reliable to exploit on affected systems and impact most major Linux distributions. Unfortunately, these two vulnerabilities were disclosed before upstream Linux distributions had a chance to provide kernel updates, requiring a more dynamic incident response. This early disclosure was triggered by an independent researcher identifying and publishing vulnerability details without coordination before the embargoed details could be reacted to. Given the recent developments in the area of AI-assisted vulnerability research, this parallel discovery of adjacent attack vectors to a once-published vulnerability (CopyFail in this case) is not surprising, but should serve as warning and stress the importance to develop nimble defensive capabilities to rapidly respond to new findings. The time window on embargoed vulnerabilities is shrinking rapidly. @@ -20,7 +20,7 @@ To wit: Only a few days after the disclosure of DirtyFrag, a new variant termed A complete fix for these vulnerabilities requires a kernel update. However, patches to address DirtyFrag may not yet be available from all upstream OS providers. If your distribution has no upstream release available, you may be able to apply temporary mitigations as explained below. -You may note that these mitigations are quite similar to those we documented for the recent [CopyFail](/cloud/guides/cve-2026-31431-copy-fail-mitigation/) vulnerability. Since the exploitation paths for DirtyFrag affect different capabilities, the impact of the removal of a given kernel module will also differ. Please keep this in mind while reviewing the mitigations provided below: +You may note that these mitigations are quite similar to those we documented for the recent [CopyFail](/cloud/guides/cve-2026-31431-copy-fail-mitigation) vulnerability. Since the exploitation paths for DirtyFrag affect different capabilities, the impact of the removal of a given kernel module will also differ. Please keep this in mind while reviewing the mitigations provided below: As noted above, DirtyFail can be triggered via two distinct attack paths: IPsec ESP and RxRPC. (Fragnesia and its variations use the same ESP attack vector, so can be mitigated in the same manner.) diff --git a/docs/guides/security/security-patches/disabling-sslv3-for-poodle/index.md b/docs/guides/security/security-patches/disabling-sslv3-for-poodle/index.md index 72163780394..6dfa10eafa3 100644 --- a/docs/guides/security/security-patches/disabling-sslv3-for-poodle/index.md +++ b/docs/guides/security/security-patches/disabling-sslv3-for-poodle/index.md @@ -14,7 +14,7 @@ deprecated: true --- ![Disabling_sslv3_for_poodle](Disabling_SSLv3_for_POODLE_smg.jpg) -Padding Oracle On Downgraded Legacy Encryption (POODLE) was released with the CVE identifier of [CVE-2014-3566](http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-3566). The vulnerability was found in SSL protocol 3.0, unlike [Heartbleed](/cloud/guides/patching-openssl-for-the-heartbleed-vulnerability/) which was found in OpenSSL. +Padding Oracle On Downgraded Legacy Encryption (POODLE) was released with the CVE identifier of [CVE-2014-3566](http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-3566). The vulnerability was found in SSL protocol 3.0, unlike [Heartbleed](/cloud/guides/patching-openssl-for-the-heartbleed-vulnerability) which was found in OpenSSL. SSL protocol 3.0 makes use of CBC-mode ciphers that allow for man-in-the-middle attacks using padding-oracle stacks. These attacks target the CBC ciphers to retrieve plain-text output from otherwise encrypted information. diff --git a/docs/guides/security/security-patches/meltdown-and-spectre/index.md b/docs/guides/security/security-patches/meltdown-and-spectre/index.md index 6489df97e63..f7f7d4e73be 100644 --- a/docs/guides/security/security-patches/meltdown-and-spectre/index.md +++ b/docs/guides/security/security-patches/meltdown-and-spectre/index.md @@ -13,7 +13,7 @@ promo_default: false external_resources: - '[MeltdownAttack.com](https://meltdownattack.com/)' - '[How to Install Software Updates](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#perform-system-updates)' - - '[Reboot Survival Guide](/cloud/guides/reboot-survival-guide/)' + - '[Reboot Survival Guide](/cloud/guides/reboot-survival-guide)' - '[Linode Blog: CPU Vulnerabilities: Meltdown & Spectre](https://blog.linode.com/2018/01/03/cpu-vulnerabilities-meltdown-spectre/)' tags: ["security"] deprecated: true @@ -59,7 +59,7 @@ Yes, but while rebooting with the new kernel will help prepare your Linode for t ## What Should I Do? -* Visit our [Reboot Survival Guide](/cloud/guides/reboot-survival-guide/) to prepare for a graceful reboot. +* Visit our [Reboot Survival Guide](/cloud/guides/reboot-survival-guide) to prepare for a graceful reboot. * [Update your kernel](#how-to-reboot-into-an-updated-linode-kernel) and reboot. * [Follow our blog for updates](https://blog.linode.com/2018/01/03/cpu-vulnerabilities-meltdown-spectre/). diff --git a/docs/guides/security/security-patches/patching-openssl-for-the-heartbleed-vulnerability/index.md b/docs/guides/security/security-patches/patching-openssl-for-the-heartbleed-vulnerability/index.md index 46965e2fb89..008e9ebebbb 100644 --- a/docs/guides/security/security-patches/patching-openssl-for-the-heartbleed-vulnerability/index.md +++ b/docs/guides/security/security-patches/patching-openssl-for-the-heartbleed-vulnerability/index.md @@ -19,7 +19,7 @@ deprecated: true A security vulnerability in OpenSSL dubbed **Heartbleed** has been found. This vulnerability was only recently discovered openly, but has been "in the wild" for over a year. It's important to update your local version of OpenSSL to correct this issue. This brief guide will walk you through ensuring that the patch is installed on your Linode, and suggest additional steps you can take to ensure your server's security. As always, we suggest having backups of your system prior to making any changes. -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. ## Installing the Patched Version @@ -120,7 +120,7 @@ Here are the steps for ensuring you have the patched versions of OpenSSL on our The Heartbleed security bug would allow an attacker to read a portion of the memory on an unprotected system, including private keys used in SSL key pairs. It's suggested that you reissue all key pairs, and revoke ones made previously. This can include keys used to create SSL certificates for web and mail servers. This means new SSL certificates should be generated or purchased. -You can follow the instructions [here](/cloud/guides/obtain-a-commercially-signed-tls-certificate/#create-a-certificate-signing-request-csr) to create a new certificate signing request (CSR) and key. +You can follow the instructions [here](/cloud/guides/obtain-a-commercially-signed-tls-certificate#create-a-certificate-signing-request-csr) to create a new certificate signing request (CSR) and key. ## Additional Security Steps diff --git a/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-7/index.md b/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-7/index.md index a53c4045458..6b00f8a0e50 100644 --- a/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-7/index.md +++ b/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-7/index.md @@ -36,7 +36,7 @@ SELinux defaults to denying anything that is not explicitly allowed. SELinux has 1. Ensure that you have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Update your system: @@ -146,7 +146,7 @@ If SELinux is currently disabled, update your SELinux configuration file with th sudo sealert -a /var/log/audit/audit.log - The output resembles the example, however, it varies depending on the programs and configurations on your system. The example was generated using a [Linode running the Apache webserver](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/#apache) with a virtual hosts configuration. + The output resembles the example, however, it varies depending on the programs and configurations on your system. The example was generated using a [Linode running the Apache webserver](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7#apache) with a virtual hosts configuration. {{< output >}} SELinux is preventing /usr/sbin/httpd from write access on the directory logs. diff --git a/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-8/index.md b/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-8/index.md index 1390a4c5bef..4e3bd498eb8 100644 --- a/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-8/index.md +++ b/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-8/index.md @@ -35,7 +35,7 @@ SELinux defaults to denying anything that is not explicitly allowed. SELinux has 1. Ensure that you have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Update your system: @@ -144,7 +144,7 @@ If SELinux is currently disabled, update your SELinux configuration file with th sudo sealert -a /var/log/audit/audit.log - The output will resemble the example, however, it varies depending on the programs and configurations on your system. The example was generated using a [Linode running the Apache webserver](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/#apache) with a virtual hosts configuration. + The output will resemble the example, however, it varies depending on the programs and configurations on your system. The example was generated using a [Linode running the Apache webserver](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7#apache) with a virtual hosts configuration. {{< output >}} SELinux is preventing /usr/sbin/httpd from write access on the directory logs. diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh-on-chrome/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh-on-chrome/index.md index c6d7dbeb9ba..bb8614ce78d 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh-on-chrome/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh-on-chrome/index.md @@ -62,7 +62,7 @@ This article covers the basics of connecting to a remote server (such as a Linod Are you sure you want to continue connecting (yes/no/[fingerprint])? ``` - You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host/) guide. + You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host) guide. {{< note >}} If you recently rebuilt your server, you might receive an error message when you try to connect. This happens when the remote host key changes. To fix this, revoke the key for that IP address. @@ -80,7 +80,7 @@ This article covers the basics of connecting to a remote server (such as a Linod 1. You are then prompted for your password. Type in the correct password for the remote user and press enter. -Once you have successfully connected, the Secure Shell extension displays a terminal that's using the remote shell environment for the server. The command prompt should show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. +Once you have successfully connected, the Secure Shell extension displays a terminal that's using the remote shell environment for the server. The command prompt should show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal) guide. Getting to know these commands will help you navigate around your server. ## Ending the SSH Session @@ -103,6 +103,6 @@ If SSH isn't connecting you to your Linode, it is possible that it needs to be l ### Increasing Security -- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). +- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh). -- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security/) for more information on making it even more secure. \ No newline at end of file +- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security) for more information on making it even more secure. \ No newline at end of file diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh-on-linux/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh-on-linux/index.md index 6b9e5935265..95d8237fcfc 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh-on-linux/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh-on-linux/index.md @@ -65,7 +65,7 @@ If this key combination does not work for you, other instructions for opening a Are you sure you want to continue connecting (yes/no)? ``` - You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host/) guide. + You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host) guide. {{< note >}} If you recently rebuilt your server, you might receive an error message when you try to connect. This happens when the remote host key changes. To fix this, revoke the key for that IP address. @@ -81,7 +81,7 @@ If this key combination does not work for you, other instructions for opening a Warning: Permanently added 'example' (ECDSA) to the list of known hosts. ``` -Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. +Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal) guide. Getting to know these commands will help you navigate around your server. ## Ending the SSH Session @@ -130,6 +130,6 @@ If SSH isn't connecting you to your Linode, you may need to investigate the stat ### Increasing Security -- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). +- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh). -- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security/) for more information on making it even more secure. \ No newline at end of file +- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security) for more information on making it even more secure. \ No newline at end of file diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh-on-mac/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh-on-mac/index.md index 28825396b50..c6617417431 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh-on-mac/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh-on-mac/index.md @@ -61,7 +61,7 @@ As alternatives to the Terminal app, other popular and highly customizable macOS Are you sure you want to continue connecting (yes/no)? ``` - You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host/) guide. + You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host) guide. {{< note >}} If you recently rebuilt your server, you might receive an error message when you try to connect. This happens when the remote host key changes. To fix this, revoke the key for that IP address. @@ -77,7 +77,7 @@ As alternatives to the Terminal app, other popular and highly customizable macOS Warning: Permanently added 'example' (ECDSA) to the list of known hosts. ``` -Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. +Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal) guide. Getting to know these commands will help you navigate around your server. ## Ending the SSH Session @@ -126,6 +126,6 @@ If SSH isn't connecting you to your Linode, you may need to investigate the stat ### Increasing Security -- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). +- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh). -- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security/) for more information on making it even more secure. +- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security) for more information on making it even more secure. diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh-on-windows/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh-on-windows/index.md index c570892c0ee..7810ccbfb8d 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh-on-windows/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh-on-windows/index.md @@ -73,10 +73,10 @@ Once everything has been configured, you can use the WSL environment by opening ### PuTTY - Windows 8, 7, Vista, and XP -There is no native SSH client in Windows 8 and earlier. Instead, you'll need to use a third party application, such as [PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/), [Cygwin](https://www.cygwin.com/), the [Secure Shell extension for Google Chrome](/cloud/guides/connect-to-server-over-ssh-on-chrome/), or any other SSH-enabled terminal emulator: +There is no native SSH client in Windows 8 and earlier. Instead, you'll need to use a third party application, such as [PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty), [Cygwin](https://www.cygwin.com/), the [Secure Shell extension for Google Chrome](/cloud/guides/connect-to-server-over-ssh-on-chrome), or any other SSH-enabled terminal emulator: -- [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) -- [Connecting to a Remote Server Over SSH on Chrome](/cloud/guides/connect-to-server-over-ssh-on-chrome/) +- [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) +- [Connecting to a Remote Server Over SSH on Chrome](/cloud/guides/connect-to-server-over-ssh-on-chrome) ## Connecting to the Remote Server Over SSH from Windows @@ -106,7 +106,7 @@ Once you've opened your preferred Windows SSH client (Command Prompt, PowerShell Are you sure you want to continue connecting (yes/no)? ``` - You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host/) guide. + You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host) guide. 1. Accept the prompt by entering `y` or `yes`, which results in a one-time warning that is similar to: @@ -114,7 +114,7 @@ Once you've opened your preferred Windows SSH client (Command Prompt, PowerShell Warning: Permanently added 'example' (ECDSA) to the list of known hosts. ``` -Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. +Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal) guide. Getting to know these commands will help you navigate around your server. ## Ending the SSH Session @@ -163,6 +163,6 @@ If SSH isn't connecting you to your Linode, you may need to investigate the stat ### Increasing Security -- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). +- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh). -- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security/) for more information on making it even more secure. \ No newline at end of file +- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security) for more information on making it even more secure. \ No newline at end of file diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh-using-putty/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh-using-putty/index.md index b0176326d97..a17babee0b7 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh-using-putty/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh-using-putty/index.md @@ -23,7 +23,7 @@ A *secure shell* (SSH) is used for secure communication between devices. When mo This article covers the basics of connecting to a remote server (such as a Linode) over SSH using the PuTTY application. PuTTY is a free and open source SSH client that provides a graphic interface for connecting to remote servers. It is compatible with Windows XP and later systems, including Windows Vista, 7, 8 and 10. It is also compatible with most UNIX systems. {{< note >}} -While PuTTY is compatible with Windows 10, you may want to review the [Connecting to a Remote Server Over SSH on Windows](/cloud/guides/connect-to-server-over-ssh-on-windows/) guide for alternatives to PuTTY that may better suit your needs and preferences. +While PuTTY is compatible with Windows 10, you may want to review the [Connecting to a Remote Server Over SSH on Windows](/cloud/guides/connect-to-server-over-ssh-on-windows) guide for alternatives to PuTTY that may better suit your needs and preferences. {{< /note >}} ## Before You Begin @@ -54,7 +54,7 @@ While PuTTY is compatible with Windows 10, you may want to review the [Connectin ![Screenshot of dialog box asking to confirm host key's fingerprint](putty-security-alert.png "Confirm the host key's fingerprint") - If you trust this connection, press the **Accept** button to continue connecting to the remote server. You can verify the fingerprint by following the instructions under the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host/) guide. + If you trust this connection, press the **Accept** button to continue connecting to the remote server. You can verify the fingerprint by following the instructions under the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host) guide. {{< note >}} If you recently rebuilt your server, you might receive an error message when you try to connect. This happens when the remote host key changes. To fix this, you must remove the IP addresses manually from the following registry entry: @@ -66,7 +66,7 @@ While PuTTY is compatible with Windows 10, you may want to review the [Connectin 1. PuTTY now prompts you to enter the remote user and the password for that user. -Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. +Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal) guide. Getting to know these commands will help you navigate around your server. ## Going Further @@ -76,10 +76,10 @@ If SSH isn't connecting you to your Linode, you may need to investigate the stat ### Increasing Security -- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). +- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh). -- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security/) for more information on making it even more secure. +- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security) for more information on making it even more secure. ### Additional PuTTY Guides -- [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/): This guide uses PuTTY to create a secure SSH tunnel to access the MySQL command prompt on remote server. \ No newline at end of file +- [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access): This guide uses PuTTY to create a secure SSH tunnel to access the MySQL command prompt on remote server. \ No newline at end of file diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh/index.md index 0716d1a21f8..17ea10cf24c 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh/index.md @@ -17,8 +17,8 @@ A *secure shell* (SSH) is used for secure communication between devices. When mo The following articles cover the basics of connecting to a remote server (such as a Linode) over SSH from different environments: -- [How to Connect to a Remote Server Over SSH on Linux](/cloud/guides/connect-to-server-over-ssh-on-linux/) -- [How to Connect to a Remote Server Over SSH on a Mac](/cloud/guides/connect-to-server-over-ssh-on-mac/) -- [How to Connect to a Remote Server Over SSH on Windows](/cloud/guides/connect-to-server-over-ssh-on-windows/) -- [How to Connect to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) -- [How to Connect to a Remote Server Over SSH on Chrome](/cloud/guides/connect-to-server-over-ssh-on-chrome/) \ No newline at end of file +- [How to Connect to a Remote Server Over SSH on Linux](/cloud/guides/connect-to-server-over-ssh-on-linux) +- [How to Connect to a Remote Server Over SSH on a Mac](/cloud/guides/connect-to-server-over-ssh-on-mac) +- [How to Connect to a Remote Server Over SSH on Windows](/cloud/guides/connect-to-server-over-ssh-on-windows) +- [How to Connect to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty) +- [How to Connect to a Remote Server Over SSH on Chrome](/cloud/guides/connect-to-server-over-ssh-on-chrome) \ No newline at end of file diff --git a/docs/guides/security/ssh/enable-ssh-ubuntu/index.md b/docs/guides/security/ssh/enable-ssh-ubuntu/index.md index 8f88aa10d07..1996af7d91a 100644 --- a/docs/guides/security/ssh/enable-ssh-ubuntu/index.md +++ b/docs/guides/security/ssh/enable-ssh-ubuntu/index.md @@ -21,7 +21,7 @@ On Linode's Ubuntu 20.04 LTS instances, the installation of `ssh` (client) and ` 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is SSH? diff --git a/docs/guides/security/ssh/gpg-key-for-ssh-authentication/index.md b/docs/guides/security/ssh/gpg-key-for-ssh-authentication/index.md index 44dec23de22..ea48816c348 100644 --- a/docs/guides/security/ssh/gpg-key-for-ssh-authentication/index.md +++ b/docs/guides/security/ssh/gpg-key-for-ssh-authentication/index.md @@ -16,7 +16,7 @@ external_resources: ![GPG key for SSH Authentication](How_to_use_a_GPG_key_smg.jpg) -You may be familiar with [public key authentication](/cloud/guides/use-public-key-authentication-with-ssh/) for Secure Shell (SSH) on your Linode. But you may not have known that you can also use a GNU Privacy Guard (GPG) keypair to authenticate with SSH. +You may be familiar with [public key authentication](/cloud/guides/use-public-key-authentication-with-ssh) for Secure Shell (SSH) on your Linode. But you may not have known that you can also use a GNU Privacy Guard (GPG) keypair to authenticate with SSH. The chief benefit of this method is that instead of having separate keys for GPG messaging and SSH authentication, they can both belong to the same GPG keyring. This configuration really shines, however, when used with a [GPG smartcard](https://en.wikipedia.org/wiki/OpenPGP_card) or [YubiKey](https://www.yubico.com/products/yubikey-hardware/), because the card/dongle can store the underlying private key and only authenticate SSH sessions when it's plugged in. WIRED reported that [engineers at Facebook use this method](http://www.wired.com/2013/10/facebook-yubikey/) for authenticating with local servers, so why shouldn't you? @@ -31,9 +31,9 @@ This guide assumes: - You have a fully functional Linode - You have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides, and updated your Linode with `sudo apt-get update && sudo apt-get upgrade`) - - You are familiar with the [command line](/cloud/guides/introduction-to-linux-concepts/#so-youre-staring-at-a-shell-prompt) + - You are familiar with the [command line](/cloud/guides/introduction-to-linux-concepts#so-youre-staring-at-a-shell-prompt) -You don't necessarily need to be familiar with [SSH public key authentication](/cloud/guides/use-public-key-authentication-with-ssh/) or [GPG encryption](https://en.wikipedia.org/wiki/GNU_Privacy_Guard), but an understanding of their operation will help you out if you run into problems. +You don't necessarily need to be familiar with [SSH public key authentication](/cloud/guides/use-public-key-authentication-with-ssh) or [GPG encryption](https://en.wikipedia.org/wiki/GNU_Privacy_Guard), but an understanding of their operation will help you out if you run into problems. ## Generate a GPG Keypair diff --git a/docs/guides/security/ssh/install-mosh-server-as-ssh-alternative-on-linux/index.md b/docs/guides/security/ssh/install-mosh-server-as-ssh-alternative-on-linux/index.md index 2f81455f5a7..0ee84fcf3e0 100644 --- a/docs/guides/security/ssh/install-mosh-server-as-ssh-alternative-on-linux/index.md +++ b/docs/guides/security/ssh/install-mosh-server-as-ssh-alternative-on-linux/index.md @@ -98,7 +98,7 @@ Now you need to install Mosh on your desktop computer. Find the instructions for ### Linux -Follow the instructions for your distribution listed in the [Installing Mosh on Your Linode](/cloud/guides/install-mosh-server-as-ssh-alternative-on-linux/#install-mosh-on-your-linode) section, or see the [Mosh website](http://mosh.mit.edu/). +Follow the instructions for your distribution listed in the [Installing Mosh on Your Linode](/cloud/guides/install-mosh-server-as-ssh-alternative-on-linux#install-mosh-on-your-linode) section, or see the [Mosh website](http://mosh.mit.edu/). ### Mac OS X diff --git a/docs/guides/security/ssh/secure-ssh-access-with-2fa/index.md b/docs/guides/security/ssh/secure-ssh-access-with-2fa/index.md index 80bab79cc80..91416417eb9 100644 --- a/docs/guides/security/ssh/secure-ssh-access-with-2fa/index.md +++ b/docs/guides/security/ssh/secure-ssh-access-with-2fa/index.md @@ -36,7 +36,7 @@ If you plan on [combining two-factor and public key authentication](#combine-two 1. You will need a smartphone or another client device with an authenticator application such as [Google Authenticator](https://en.wikipedia.org/wiki/Google_Authenticator) or [Authy](https://www.authy.com/). Many other options exist, and this guide should be compatible with nearly all of them. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Google Authenticator @@ -197,7 +197,7 @@ If your SSH client disconnects before you can enter your two-factor token, check ## Combine Two-Factor and Public Key Authentication (Optional) -This section is optional. If you'd like to use [public key authentication](/cloud/guides/use-public-key-authentication-with-ssh/) instead of a password authentication with TOTP, follow the steps in this section. +This section is optional. If you'd like to use [public key authentication](/cloud/guides/use-public-key-authentication-with-ssh) instead of a password authentication with TOTP, follow the steps in this section. {{< note >}} Before completing this section, ensure that your computer's [public key has been uploaded to your Linode](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#upload-ssh-key). Public keys are normally stored in your home directory's `authorized_keys` file. @@ -237,8 +237,8 @@ cat ~/.ssh/authorized_keys ## Next Steps -First, be sure you have followed our guide to [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Although there is no single, foolproof method to protect your data, firewalls and services like [Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/) are a great means to minimize risk. +First, be sure you have followed our guide to [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Although there is no single, foolproof method to protect your data, firewalls and services like [Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial) are a great means to minimize risk. -When you use two-factor authentication with TOTPs, an important point to consider is the physical security of the device on which you've configured your authenticator app. Be sure your phone or device is secured with a passphrase, so that even if it falls into the wrong hands, it can't easily be used to compromise your server. If you lose the phone or device that stores your credentials, you can use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) to access your Linode and disable two-factor authentication. If this happens, you should switch to a different, hardened method of SSH access, such as [public key authentication](/cloud/guides/use-public-key-authentication-with-ssh/), in the interim. +When you use two-factor authentication with TOTPs, an important point to consider is the physical security of the device on which you've configured your authenticator app. Be sure your phone or device is secured with a passphrase, so that even if it falls into the wrong hands, it can't easily be used to compromise your server. If you lose the phone or device that stores your credentials, you can use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) to access your Linode and disable two-factor authentication. If this happens, you should switch to a different, hardened method of SSH access, such as [public key authentication](/cloud/guides/use-public-key-authentication-with-ssh), in the interim. While two-factor authentication may be a valuable security feature, total security is an ongoing process not an end goal that can be achieved by adding extra layers of authentication. To provide the best protection for your data, take care to follow security best practices at all times. \ No newline at end of file diff --git a/docs/guides/security/ssh/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/index.md b/docs/guides/security/ssh/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/index.md index 6eae1fc9c02..e1a7d7bdeed 100644 --- a/docs/guides/security/ssh/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/index.md +++ b/docs/guides/security/ssh/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/index.md @@ -119,4 +119,4 @@ Keep these considerations in mind when you use SSH tunneling. - If you are already in a public network that blocks your access to SSH, to edit the server settings you can use the [Lish console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - Sometimes, the traffic through the tunnel could be a bit slower than browsing the web without it; but remember, it's a small price to pay when your privacy is at risk. - This is a simple and quick way to establish a secure connection for web browsing, a kind of “poor man's VPN” solution. -- If you often access the web using untrusted public networks or if you need to secure other applications and not just the browser, then this method will fall short and you will need to set up a VPN on your server. Take a look at one of our [OpenVPN](/cloud/guides/networking/vpn/) guides for instructions about that topic. +- If you often access the web using untrusted public networks or if you need to secure other applications and not just the browser, then this method will fall short and you will need to set up a VPN on your server. Take a look at one of our [OpenVPN](/cloud/guides/networking/vpn) guides for instructions about that topic. diff --git a/docs/guides/security/ssh/use-public-key-authentication-with-ssh/index.md b/docs/guides/security/ssh/use-public-key-authentication-with-ssh/index.md index 0ed6da87ac1..e0fde512f3d 100644 --- a/docs/guides/security/ssh/use-public-key-authentication-with-ssh/index.md +++ b/docs/guides/security/ssh/use-public-key-authentication-with-ssh/index.md @@ -21,12 +21,12 @@ image: use_public_key_authentication_with_ssh.png - If a server that uses SSH keys is compromised by a hacker, no authorization credentials are at risk of being exposed. -- Since a password isn't required, you can log in to servers from within scripts or automation tools that you need to run unattended. For example, you can set up periodic updates for your servers with a configuration management tool like [Ansible](/cloud/guides/running-ansible-playbooks/), and you can run those updates without having to be physically present. +- Since a password isn't required, you can log in to servers from within scripts or automation tools that you need to run unattended. For example, you can set up periodic updates for your servers with a configuration management tool like [Ansible](/cloud/guides/running-ansible-playbooks), and you can run those updates without having to be physically present. This guide explains how the SSH key login scheme works, how to generate an SSH key, and how to use those keys with a Linode Linux server. {{< note >}} -If you're unfamiliar with logging in to a remote machine with SSH, review the [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) guide that corresponds with the operating system of your local workstation. You can also review the instructions for connecting to a Compute Instance over SSH within our [Set Up and Secure](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) guide. +If you're unfamiliar with logging in to a remote machine with SSH, review the [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh) guide that corresponds with the operating system of your local workstation. You can also review the instructions for connecting to a Compute Instance over SSH within our [Set Up and Secure](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) guide. {{< /note >}} ## How Does SSH Public Key Authentication Work? @@ -212,7 +212,7 @@ You can also manually add an SSH key to a server: chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys ``` -1. Open the `authorized_keys` file with the text editor of your choice ([such as nano](/cloud/quick-answers/linux/use-nano-to-edit-files-in-linux/)). +1. Open the `authorized_keys` file with the text editor of your choice ([such as nano](/cloud/quick-answers/linux/use-nano-to-edit-files-in-linux)). ```command nano ~/.ssh/authorized_keys @@ -277,9 +277,9 @@ These instructions are only recommended if you do not yet have any authorized ke For more in-depth instructions on using SSH to connect to a remote system, review the following guides: - - [How to Connect to a Remote Server Over SSH on Linux](/cloud/guides/connect-to-server-over-ssh-on-linux/) - - [How to Connect to a Remote Server Over SSH on a Mac](/cloud/guides/connect-to-server-over-ssh-on-mac/) - - [How to Connect to a Remote Server Over SSH on Windows](/cloud/guides/connect-to-server-over-ssh-on-windows/) + - [How to Connect to a Remote Server Over SSH on Linux](/cloud/guides/connect-to-server-over-ssh-on-linux) + - [How to Connect to a Remote Server Over SSH on a Mac](/cloud/guides/connect-to-server-over-ssh-on-mac) + - [How to Connect to a Remote Server Over SSH on Windows](/cloud/guides/connect-to-server-over-ssh-on-windows) 1. By default, your SSH keys will be tried *before* defaulting back to a password. If everything is configured properly, the SSH key that you generated and uploaded in previous sections will be used. If you entered a passphrase for the key, you will be prompted for it. @@ -312,7 +312,7 @@ These instructions are only recommended if you do not yet have any authorized ke ## Public Key Authentication with PuTTY on Windows -The following instructions use the [PuTTY](https://www.putty.org) software to connect over SSH, but [other options](/cloud/guides/connect-to-server-over-ssh-on-windows/) are available on Windows too. +The following instructions use the [PuTTY](https://www.putty.org) software to connect over SSH, but [other options](/cloud/guides/connect-to-server-over-ssh-on-windows) are available on Windows too. ### Generate a Key Pair with PuTTY @@ -367,7 +367,7 @@ The following instructions use the [PuTTY](https://www.putty.org) software to co chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys ``` -1. Open the `authorized_keys` file with the text editor of your choice ([`nano`, for example](/cloud/quick-answers/linux/use-nano-to-edit-files-in-linux/)). Then, paste the contents of your public key that you copied in step one on a new line at the end of the file. +1. Open the `authorized_keys` file with the text editor of your choice ([`nano`, for example](/cloud/quick-answers/linux/use-nano-to-edit-files-in-linux)). Then, paste the contents of your public key that you copied in step one on a new line at the end of the file. 1. Save, close the file, and exit PuTTY. diff --git a/docs/guides/security/ssh/using-gnu-screen-to-manage-persistent-terminal-sessions/index.md b/docs/guides/security/ssh/using-gnu-screen-to-manage-persistent-terminal-sessions/index.md index cb94530bd96..d7d5ff67dd0 100644 --- a/docs/guides/security/ssh/using-gnu-screen-to-manage-persistent-terminal-sessions/index.md +++ b/docs/guides/security/ssh/using-gnu-screen-to-manage-persistent-terminal-sessions/index.md @@ -19,13 +19,13 @@ GNU Screen is a tool which works with a terminal session to allow users to resum ![Using GNU Screen to Manage Persistent Terminal Sessions](gnu-screen.png "Using GNU Screen to Manage Persistent Terminal Sessions") -Screen runs on any Unix/Linux environment (such as your Linode) and Mac OS X. Before installing and using Screen, it is recommended that you review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). In addition, if you are unfamiliar with using a terminal environment, you will want to review the [Using the Terminal Guide](/cloud/guides/using-the-terminal/). +Screen runs on any Unix/Linux environment (such as your Linode) and Mac OS X. Before installing and using Screen, it is recommended that you review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). In addition, if you are unfamiliar with using a terminal environment, you will want to review the [Using the Terminal Guide](/cloud/guides/using-the-terminal). ## Installing GNU Screen The section covers installing Screen on a number of different systems. Examples have been provided to simplify the installation process. -When installing Screen you will need root privileges. The examples provided do not use the root account. If you are using your root login then the sudo before the commands is not necessary. If you need more information regarding sudo, you can review the [Linux Users and Groups Guide](/cloud/guides/linux-users-and-groups/). +When installing Screen you will need root privileges. The examples provided do not use the root account. If you are using your root login then the sudo before the commands is not necessary. If you need more information regarding sudo, you can review the [Linux Users and Groups Guide](/cloud/guides/linux-users-and-groups). For a Debian or Ubuntu system use the following commands to update, upgrade, and install Screen: diff --git a/docs/guides/security/ssh/using-ssh-agent/index.md b/docs/guides/security/ssh/using-ssh-agent/index.md index f8bf6067b57..4e08bd3d1c9 100644 --- a/docs/guides/security/ssh/using-ssh-agent/index.md +++ b/docs/guides/security/ssh/using-ssh-agent/index.md @@ -23,7 +23,7 @@ ssh-agent manages private keys for SSH connections, facilitating smoother SSH ex 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is ssh-agent? @@ -40,7 +40,7 @@ The ssh-agent tool also has an agent forwarding feature. This allows an ssh-agen The most common use case for this feature utilizes a locally stored key on a remote server. For instance, say there's a remote machine you want to connect to through a bastion server using a key stored locally. Agent forwarding allows your local ssh-agent to share the authentication key with the bastion server's ssh-agent. This gives the bastion server the ability to connect to the remote host. -Continue reading to learn how to [enable agent forwarding](/cloud/guides/using-ssh-agent/#enabling-ssh-agent-forwarding) for your ssh-agent sessions. +Continue reading to learn how to [enable agent forwarding](/cloud/guides/using-ssh-agent#enabling-ssh-agent-forwarding) for your ssh-agent sessions. ## How to Use ssh-agent diff --git a/docs/guides/security/ssh/using-sshfs-on-linux/index.md b/docs/guides/security/ssh/using-sshfs-on-linux/index.md index ca0c997af83..7391fc22f80 100644 --- a/docs/guides/security/ssh/using-sshfs-on-linux/index.md +++ b/docs/guides/security/ssh/using-sshfs-on-linux/index.md @@ -12,8 +12,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[SSHFS Home Page](http://fuse.sourceforge.net/sshfs.html)' - - '[Linux Security Basics](/cloud/guides/security/basics/)' - - '[Use Public Key Authentication with SSH](/cloud/guides/use-public-key-authentication-with-ssh/)' + - '[Linux Security Basics](/cloud/guides/security/basics)' + - '[Use Public Key Authentication with SSH](/cloud/guides/use-public-key-authentication-with-ssh)' --- ![SSHFS](sshfs_mount_remote.png) @@ -55,7 +55,7 @@ The `sshfs` package is available with every Linux package manager. Use the comma In order to mount file systems using SSHFS from a normal user account, you'll need to add the user to the `fuse` group first. {{< note >}} -If you are unfamiliar with users, groups, and file permissions, visit the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide for a brief introduction. +If you are unfamiliar with users, groups, and file permissions, visit the [Users and Groups](/cloud/guides/linux-users-and-groups) guide for a brief introduction. {{< /note >}} 1. To check if the `fuse` group exists run: @@ -104,7 +104,7 @@ To keep your server's directory mounted on your system through reboots, create a ### Set Up Key-Based Authentication for SSH -When setting up a mount listed in `/etc/fstab`, your client system will not be able to accept a password for the SSH connection. Instead, you can use [public/private keypairs](/cloud/guides/use-public-key-authentication-with-ssh/) to authenticate with the remote server. This section describes how to create a keypair if you do not already have one. +When setting up a mount listed in `/etc/fstab`, your client system will not be able to accept a password for the SSH connection. Instead, you can use [public/private keypairs](/cloud/guides/use-public-key-authentication-with-ssh) to authenticate with the remote server. This section describes how to create a keypair if you do not already have one. {{< note type="alert" >}} This command will overwrite an existing RSA key pair, potentially locking you out of other systems. @@ -149,4 +149,4 @@ You will need to use `sudo` privileges to edit this file from your limited user. ## Next Steps -After completing this guide you will be able to transfer files to a remote server from your client machine without using an FTP client. If you still want to learn how to use an FTP client, check out our guide: [Transfer Files with FileZilla](/cloud/guides/filezilla/). +After completing this guide you will be able to transfer files to a remote server from your client machine without using an FTP client. If you still want to learn how to use an FTP client, check out our guide: [Transfer Files with FileZilla](/cloud/guides/filezilla). diff --git a/docs/guides/security/ssl/_shortguides/configuring-firewalld-for-web-traffic-shortguide/index.md b/docs/guides/security/ssl/_shortguides/configuring-firewalld-for-web-traffic-shortguide/index.md index 597cb5b7a76..5b6ffe197d1 100644 --- a/docs/guides/security/ssl/_shortguides/configuring-firewalld-for-web-traffic-shortguide/index.md +++ b/docs/guides/security/ssl/_shortguides/configuring-firewalld-for-web-traffic-shortguide/index.md @@ -22,7 +22,7 @@ Any firewall configured on your server needs to allow connections over HTTPS (in You can skip this section if you are using a different firewall (such as Linode's [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) service), have already configured your firewall rules, or do not wish to use any firewall. -1. If firewalld is not installed, install it now using [YUM](/cloud/guides/yum-package-manager/) or [DNF](/cloud/guides/dnf-package-manager/). +1. If firewalld is not installed, install it now using [YUM](/cloud/guides/yum-package-manager) or [DNF](/cloud/guides/dnf-package-manager). sudo yum install firewalld diff --git a/docs/guides/security/ssl/_shortguides/configuring-ufw-for-web-traffic-shortguide/index.md b/docs/guides/security/ssl/_shortguides/configuring-ufw-for-web-traffic-shortguide/index.md index c2218feed8d..e1f60ea792e 100644 --- a/docs/guides/security/ssl/_shortguides/configuring-ufw-for-web-traffic-shortguide/index.md +++ b/docs/guides/security/ssl/_shortguides/configuring-ufw-for-web-traffic-shortguide/index.md @@ -18,7 +18,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' ## Configuring Firewall Rules with UFW -Any firewall configured on your server needs to allow connections over HTTPS (in addition to HTTP and any other services/ports you require). This section covers enabling and configuring [UFW](https://wiki.ubuntu.com/UncomplicatedFirewall) (UncomplicatedFirewall). UFW is the default firewall management tool on Ubuntu and is also available on Debian and Fedora. It operates as a easy to use front-end for [iptables](/cloud/guides/what-is-iptables/). +Any firewall configured on your server needs to allow connections over HTTPS (in addition to HTTP and any other services/ports you require). This section covers enabling and configuring [UFW](https://wiki.ubuntu.com/UncomplicatedFirewall) (UncomplicatedFirewall). UFW is the default firewall management tool on Ubuntu and is also available on Debian and Fedora. It operates as a easy to use front-end for [iptables](/cloud/guides/what-is-iptables). You can skip this section if you are using a different firewall (such as Linode's [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) service), have already configured your firewall rules, or do not wish to use any firewall. @@ -45,4 +45,4 @@ You can skip this section if you are using a different firewall (such as Linode' This should return a status of *active* and output the firewall rules that you just added. -For more advanced configuration, review the [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide. \ No newline at end of file +For more advanced configuration, review the [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide. \ No newline at end of file diff --git a/docs/guides/security/ssl/_shortguides/understanding-https-tls-certbot-shortguide/index.md b/docs/guides/security/ssl/_shortguides/understanding-https-tls-certbot-shortguide/index.md index f155de7958f..1c90dd8ccf2 100644 --- a/docs/guides/security/ssl/_shortguides/understanding-https-tls-certbot-shortguide/index.md +++ b/docs/guides/security/ssl/_shortguides/understanding-https-tls-certbot-shortguide/index.md @@ -20,7 +20,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' ### HTTPS and TLS/SSL -HTTPS builds upon the original *Hypertext Transfer Protocol* (HTTP) standard to offer a more secure browsing experience. It encrypts network traffic using the *Transport Layer Security* (TLS) protocol, which replaces the older (and now deprecated) *Secure Sockets Layer* (SSL) technology. HTTPS protects the privacy and integrity of any data in transit and authenticates a website for the end-user. For this reason, HTTPS must be implemented on websites that handle financial or personal data. However, all domains are strongly encouraged to enable HTTPS and a majority of all sites now use it. Review the [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate/) to learn more about TLS. +HTTPS builds upon the original *Hypertext Transfer Protocol* (HTTP) standard to offer a more secure browsing experience. It encrypts network traffic using the *Transport Layer Security* (TLS) protocol, which replaces the older (and now deprecated) *Secure Sockets Layer* (SSL) technology. HTTPS protects the privacy and integrity of any data in transit and authenticates a website for the end-user. For this reason, HTTPS must be implemented on websites that handle financial or personal data. However, all domains are strongly encouraged to enable HTTPS and a majority of all sites now use it. Review the [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate) to learn more about TLS. ### Let's Encrypt diff --git a/docs/guides/security/ssl/_shortguides/verifying-nginx-certbot-shortguide/index.md b/docs/guides/security/ssl/_shortguides/verifying-nginx-certbot-shortguide/index.md index 66392b21b10..2609a71063d 100644 --- a/docs/guides/security/ssl/_shortguides/verifying-nginx-certbot-shortguide/index.md +++ b/docs/guides/security/ssl/_shortguides/verifying-nginx-certbot-shortguide/index.md @@ -18,7 +18,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' ## Verifying the NGINX Installation -NGINX must be installed and configured before Certbot can be used. The following instructions configure the minimal NGINX environment required to install and use Certbot. If NGINX is already installed, skip ahead to the [Installing Certbot](#installing-certbot) section. For more information about NGINX, see the Linode [NGINX configuration guide](/cloud/guides/how-to-configure-nginx/). +NGINX must be installed and configured before Certbot can be used. The following instructions configure the minimal NGINX environment required to install and use Certbot. If NGINX is already installed, skip ahead to the [Installing Certbot](#installing-certbot) section. For more information about NGINX, see the Linode [NGINX configuration guide](/cloud/guides/how-to-configure-nginx). 1. **Confirm that NGINX is installed and running** by running the following command on your server: diff --git a/docs/guides/security/ssl/create-a-self-signed-tls-certificate/index.md b/docs/guides/security/ssl/create-a-self-signed-tls-certificate/index.md index 5fa3d0991a2..a450e77a8dd 100644 --- a/docs/guides/security/ssl/create-a-self-signed-tls-certificate/index.md +++ b/docs/guides/security/ssl/create-a-self-signed-tls-certificate/index.md @@ -16,7 +16,7 @@ tags: ["security","ssl"] ## What is a Self-Signed TLS Certificate? -Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. +Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) once you’ve completed the process outlined in this guide. ## Create the Certificate diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-7/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-7/index.md index 0c84c240dad..e7b697ec179 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-7/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-7/index.md @@ -23,14 +23,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on CentOS 7 or RHEL 7** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on CentOS 7 or RHEL 7** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide for more information on configuring DNS. -3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache on CentOS 7](/cloud/guides/install-and-configure-apache-on-centos-7/) guide for information on installing and configuring Apache. +3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache on CentOS 7](/cloud/guides/install-and-configure-apache-on-centos-7) guide for information on installing and configuring Apache. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-8/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-8/index.md index 5508277aeae..652ae323feb 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-8/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-8/index.md @@ -23,14 +23,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on CentOS/RHEL 8, AlmaLinux 8, or Rocky Linux 8 (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on CentOS/RHEL 8, AlmaLinux 8, or Rocky Linux 8 (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide for more information on configuring DNS. -3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8/) guide for information on installing and configuring Apache. +3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8) guide for information on installing and configuring Apache. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-debian/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-debian/index.md index 140acbbf1b2..19efb30786d 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-debian/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-debian/index.md @@ -23,14 +23,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Debian 10 or 9** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Debian 10 or 9** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide for more information on configuring DNS. -3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache Web Server on Debian 10](/cloud/guides/how-to-install-apache-web-server-debian-10/) guide for information on installing and configuring Apache. +3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache Web Server on Debian 10](/cloud/guides/how-to-install-apache-web-server-debian-10) guide for information on installing and configuring Apache. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md index fa1397595ea..c2f70292831 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md @@ -23,14 +23,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Fedora (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Fedora (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide for more information on configuring DNS. 3. **The Apache web server software installed on your server and configured for your domain.** You can review the [Getting started with Apache HTTP Server](https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-apache-http-server/) guide on Fedora's docs for information on installing and configuring Apache. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-ubuntu/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-ubuntu/index.md index 831de5f40ba..ee622313345 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-ubuntu/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-ubuntu/index.md @@ -25,14 +25,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Ubuntu 20.04 LTS and 18.04 LTS (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Ubuntu 20.04 LTS and 18.04 LTS (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide for more information on configuring DNS. -3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) guide for information on installing and configuring Apache. +3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04) guide for information on installing and configuring Apache. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-7/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-7/index.md index 26398bb1c19..811ba9783f2 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-7/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-7/index.md @@ -23,14 +23,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on CentOS 7 or RHEL 7** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on CentOS 7 or RHEL 7** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide for more information on configuring DNS. -3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [Install a LEMP Stack on CentOS 7](/cloud/guides/lemp-stack-on-centos-7-with-fastcgi/) guide for information on installing and configuring NGINX. +3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [Install a LEMP Stack on CentOS 7](/cloud/guides/lemp-stack-on-centos-7-with-fastcgi) guide for information on installing and configuring NGINX. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-8/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-8/index.md index f0a9d78b162..56e61d5b15e 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-8/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-8/index.md @@ -24,14 +24,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on CentOS/RHEL 8, AlmaLinux 8, or Rocky Linux 8 (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on CentOS/RHEL 8, AlmaLinux 8, or Rocky Linux 8 (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide for more information on configuring DNS. -3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on CentOS 8](/cloud/guides/how-to-install-nginx-centos-8/) guide for information on installing and configuring NGINX. +3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on CentOS 8](/cloud/guides/how-to-install-nginx-centos-8) guide for information on installing and configuring NGINX. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-debian/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-debian/index.md index 062b047dddc..8058d097d9a 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-debian/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-debian/index.md @@ -24,14 +24,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Debian 10 or 9** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Debian 10 or 9** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide for more information on configuring DNS. -3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on Debian 10](/cloud/guides/how-to-install-nginx-debian-10/) guide for information on installing and configuring NGINX. +3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on Debian 10](/cloud/guides/how-to-install-nginx-debian-10) guide for information on installing and configuring NGINX. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md index 682ed879ef0..109d0ba0245 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md @@ -23,12 +23,12 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Fedora (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Fedora (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide for more information on configuring DNS. 3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [NGINX](https://fedoraproject.org/wiki/Nginx) guide on Fedora's docs for information on installing and configuring NGINX.{{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-ubuntu/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-ubuntu/index.md index 70dd819e6a9..012151f8870 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-ubuntu/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-ubuntu/index.md @@ -26,14 +26,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Ubuntu 20.04 LTS and 18.04 LTS (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Ubuntu 20.04 LTS and 18.04 LTS (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide for more information on configuring DNS. -3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-nginx-ubuntu-18-04/) guide for information on installing and configuring NGINX. +3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-nginx-ubuntu-18-04) guide for information on installing and configuring NGINX. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/how-to-make-a-selfsigned-ssl-certificate/index.md b/docs/guides/security/ssl/how-to-make-a-selfsigned-ssl-certificate/index.md index a0a82867685..73f8d2126be 100644 --- a/docs/guides/security/ssl/how-to-make-a-selfsigned-ssl-certificate/index.md +++ b/docs/guides/security/ssl/how-to-make-a-selfsigned-ssl-certificate/index.md @@ -48,6 +48,6 @@ You will be asked for several configuration values. Enter values appropriate for Once your certificate has been generated, you will need to configure your web server to utilize the new certificate. Instructions for doing so with several popular platforms can be found at the links below: -- [SSL Certificates with Apache on Debian and Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/) -- [SSL Certificates with Apache on CentOS 7](/cloud/guides/ssl-apache2-centos/) -- [SSL Certificates with Nginx](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) +- [SSL Certificates with Apache on Debian and Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu) +- [SSL Certificates with Apache on CentOS 7](/cloud/guides/ssl-apache2-centos) +- [SSL Certificates with Nginx](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) diff --git a/docs/guides/security/ssl/install-lets-encrypt-to-create-ssl-certificates/index.md b/docs/guides/security/ssl/install-lets-encrypt-to-create-ssl-certificates/index.md index 4af704b4688..a958bf4964b 100644 --- a/docs/guides/security/ssl/install-lets-encrypt-to-create-ssl-certificates/index.md +++ b/docs/guides/security/ssl/install-lets-encrypt-to-create-ssl-certificates/index.md @@ -40,7 +40,7 @@ For most situations, the recommended method for installing Let's Encrypt certifi sudo apt update && sudo apt upgrade {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Download and Install Let's Encrypt diff --git a/docs/guides/security/ssl/obtain-a-commercially-signed-tls-certificate/index.md b/docs/guides/security/ssl/obtain-a-commercially-signed-tls-certificate/index.md index d37c564eed7..d82699d8495 100644 --- a/docs/guides/security/ssl/obtain-a-commercially-signed-tls-certificate/index.md +++ b/docs/guides/security/ssl/obtain-a-commercially-signed-tls-certificate/index.md @@ -16,7 +16,7 @@ tags: ["security","ssl"] If you intend to host a publicly accessible website which will use HTTPS, then you will want to install a commercially signed TLS certificate so people visiting your site don't get warnings in their browser about an unsafe connection. -The easiest method is to sign your certificate using [Let's Encrypt](https://letsencrypt.org/). The [CertBot](/cloud/guides/secure-http-traffic-certbot/) tool makes obtaining and renewing certificates through Let's Encrypt extremely simple. However, this isn't a viable option for everyone. +The easiest method is to sign your certificate using [Let's Encrypt](https://letsencrypt.org/). The [CertBot](/cloud/guides/secure-http-traffic-certbot) tool makes obtaining and renewing certificates through Let's Encrypt extremely simple. However, this isn't a viable option for everyone. If you need [Domain Validation](https://en.wikipedia.org/wiki/Domain-validated_certificate) or [Extended Validation certificates](https://en.wikipedia.org/wiki/Extended_Validation_Certificate), you must create a Certificate Signing Request (CSR) for submission to a Certificate Authority (CA) such as Thawte or Verisign. This is the method for obtaining a signed TLS certificate that this guide focuses on. @@ -24,7 +24,7 @@ Some CAs allow you to create a CSR directly through their web interface after yo Research certificate authorities thoroughly before deciding on the company which will be used for things such as protecting customers' personal information via HTTPS, cryptographically signing emails, or granting access to internal platforms. -If you intend to use your SSL certificate on a website, see our guide on [Enabling TLS for HTTPS on NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process in this guide. +If you intend to use your SSL certificate on a website, see our guide on [Enabling TLS for HTTPS on NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) once you’ve completed the process in this guide. ## Create a Certificate Signing Request (CSR) diff --git a/docs/guides/security/ssl/secure-http-traffic-certbot/index.md b/docs/guides/security/ssl/secure-http-traffic-certbot/index.md index a46735f685c..2d717c79a79 100644 --- a/docs/guides/security/ssl/secure-http-traffic-certbot/index.md +++ b/docs/guides/security/ssl/secure-http-traffic-certbot/index.md @@ -24,7 +24,7 @@ For most operating system and web server configurations, Certbot creates signed ## Before You Begin -Make sure you have registered a Fully Qualified Domain Name (FQDN) and set up [A and AAAA](/cloud/guides/dns-overview/#a-and-aaaa) DNS records that point to your Linode's public [IPv4 and IPv6 addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). Consult our [DNS Records: An Introduction](/cloud/guides/dns-overview/) and [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guides for help with setting up a domain. +Make sure you have registered a Fully Qualified Domain Name (FQDN) and set up [A and AAAA](/cloud/guides/dns-overview#a-and-aaaa) DNS records that point to your Linode's public [IPv4 and IPv6 addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). Consult our [DNS Records: An Introduction](/cloud/guides/dns-overview) and [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guides for help with setting up a domain. {{< note >}} If you're using Apache, change each instance of `nginx` to `apache` in the following sections. diff --git a/docs/guides/security/ssl/secure-logstash-connections-using-ssl-certificates/index.md b/docs/guides/security/ssl/secure-logstash-connections-using-ssl-certificates/index.md index 3fe7bd27d20..1e612054b17 100644 --- a/docs/guides/security/ssl/secure-logstash-connections-using-ssl-certificates/index.md +++ b/docs/guides/security/ssl/secure-logstash-connections-using-ssl-certificates/index.md @@ -22,7 +22,7 @@ external_resources: {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Introduction diff --git a/docs/guides/security/ssl/ssl-apache2-centos/index.md b/docs/guides/security/ssl/ssl-apache2-centos/index.md index b5338256a81..5023927b7e2 100644 --- a/docs/guides/security/ssl/ssl-apache2-centos/index.md +++ b/docs/guides/security/ssl/ssl-apache2-centos/index.md @@ -30,9 +30,9 @@ This guide assumes that you are running Apache2 on CentOS or Fedora. Prior to st - Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for setting your Linode's hostname and timezone. -- Complete our [LAMP on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/) guide, and create a site that you wish to secure with SSL. +- Complete our [LAMP on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7) guide, and create a site that you wish to secure with SSL. -- Follow our guide for obtaining either a [self-signed](/cloud/guides/create-a-self-signed-tls-certificate/) or [commercial](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) SSL certificate. +- Follow our guide for obtaining either a [self-signed](/cloud/guides/create-a-self-signed-tls-certificate) or [commercial](/cloud/guides/obtain-a-commercially-signed-tls-certificate) SSL certificate. - In order to configure your Linode to function with SSL, you will need to ensure that the Apache `mod_ssl` module is installed on your system. You can do so by running the following command: diff --git a/docs/guides/security/ssl/ssl-apache2-debian-ubuntu/index.md b/docs/guides/security/ssl/ssl-apache2-debian-ubuntu/index.md index 54e339afc1d..53d89176ba4 100644 --- a/docs/guides/security/ssl/ssl-apache2-debian-ubuntu/index.md +++ b/docs/guides/security/ssl/ssl-apache2-debian-ubuntu/index.md @@ -28,9 +28,9 @@ This guide assumes that you are running Apache 2.4 or higher on Debian 8 or Ubun - Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for setting your Linode's hostname and timezone. -- Complete our [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide, and create a site that you wish to secure with SSL. +- Complete our [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04) guide, and create a site that you wish to secure with SSL. -- Follow our guide to obtain either a [self-signed](/cloud/guides/create-a-self-signed-tls-certificate/) or [commercial](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) SSL certificate. +- Follow our guide to obtain either a [self-signed](/cloud/guides/create-a-self-signed-tls-certificate) or [commercial](/cloud/guides/obtain-a-commercially-signed-tls-certificate) SSL certificate. - If hosting multiple websites with commercial SSL certificates on the same IP address, use the [Server Name Identification (SNI) extension](https://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI) of TLS. SNI is accepted by most modern web browsers. If you expect to receive connections from clients running legacy browsers (like Internet Explorer for Windows XP), you will need to [contact support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support) to request an additional IP address. diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-centos/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-centos/index.md index 6dbcea2bed0..676b894c7a2 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-centos/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-centos/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 installation guide](/cloud/guides/apache-web-server-on-centos-6/). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 installation guide](/cloud/guides/apache-web-server-on-centos-6). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -173,7 +173,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Apache on CentOS](/cloud/guides/apache-web-server-on-centos-6/) +- [Installing Apache on CentOS](/cloud/guides/apache-web-server-on-centos-6) - [Official Apache Documentation](http://httpd.apache.org/docs/2.0/) diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-debian-5-lenny/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-debian-5-lenny/index.md index 0a0d448089b..73af613f62e 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-debian-5-lenny/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-debian-5-lenny/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Debian 5 (Lenny) guide](/cloud/guides/apache-2-web-server-on-debian-5-lenny/). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Debian 5 (Lenny) guide](/cloud/guides/apache-2-web-server-on-debian-5-lenny). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-12/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-12/index.md index eb79570e5f9..3b40af22d14 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-12/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-12/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Fedora 12 guide](/cloud/guides/apache-2-web-server-on-fedora-12/). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Fedora 12 guide](/cloud/guides/apache-2-web-server-on-fedora-12). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -172,7 +172,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.0 Documentation](http://httpd.apache.org/docs/2.0/) -- [Hosting Websites with the Apache HTTP Server on Fedora 12](/cloud/guides/apache-2-web-server-on-fedora-12/) +- [Hosting Websites with the Apache HTTP Server on Fedora 12](/cloud/guides/apache-2-web-server-on-fedora-12) diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-14/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-14/index.md index e86567eac9e..99e136c9506 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-14/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-14/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Fedora 14 guide](/cloud/guides/apache-2-web-server-on-fedora-14/). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Fedora 14 guide](/cloud/guides/apache-2-web-server-on-fedora-14). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -172,7 +172,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.0 Documentation](http://httpd.apache.org/docs/2.0/) -- [Hosting Websites with the Apache HTTP Server on Fedora 14](/cloud/guides/apache-2-web-server-on-fedora-14/) +- [Hosting Websites with the Apache HTTP Server on Fedora 14](/cloud/guides/apache-2-web-server-on-fedora-14) diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-04-lucid/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-04-lucid/index.md index 35c2814be83..625a93e9264 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-04-lucid/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. It is assumed that you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 10.04 LTS (Lucid) guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. It is assumed that you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 10.04 LTS (Lucid) guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -187,7 +187,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Install Apache on Ubuntu 10.04 LTS (Lucid)](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) +- [Install Apache on Ubuntu 10.04 LTS (Lucid)](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid) - [Official Apache Documentation](http://httpd.apache.org/docs/2.0/) diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-10-maverick/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-10-maverick/index.md index faa201050e3..88a696ab575 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-10-maverick/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. It is assumed that you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 10.10 (Maverick) guide](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. It is assumed that you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 10.10 (Maverick) guide](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -187,7 +187,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Install Apache on Ubuntu 10.10 (Maverick)](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) +- [Install Apache on Ubuntu 10.10 (Maverick)](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04) - [Official Apache Documentation](http://httpd.apache.org/docs/2.0/) diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-9-10-karmic/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-9-10-karmic/index.md index ef5777a0ef5..bc57f73f9a7 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-9-10-karmic/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 9.10 (Karmic) guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 9.10 (Karmic) guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -185,7 +185,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Apache on Ubuntu 9.10 (Karmic)](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) +- [Installing Apache on Ubuntu 9.10 (Karmic)](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic) - [Official Apache Documentation](http://httpd.apache.org/docs/2.0/) diff --git a/docs/guides/security/ssl/what-is-a-tls-certificate/index.md b/docs/guides/security/ssl/what-is-a-tls-certificate/index.md index ac4a9076802..232af2cae4b 100644 --- a/docs/guides/security/ssl/what-is-a-tls-certificate/index.md +++ b/docs/guides/security/ssl/what-is-a-tls-certificate/index.md @@ -67,7 +67,7 @@ The `https` invocation specifically requests TLS/SSL (although SSL is usually di Once the initiating TLS transaction is done, a relationship between the two hosts occurs, as a stateful entity called a *session*. A series of messages constituting a handshake occurs between the hosts. This establishes message encryption, and therefore privacy. in TLS 1.3, a single request-and-answer then causes the next parts of the TLS protocol to be encrypted. -Next, the authenticity of the server's credentials is checked. These are checked against either a local browser certificate cache or against a chain-of-authorities to a [Certificate Authority](/cloud/guides/obtain-a-commercially-signed-tls-certificate/). If all matches correctly, a session is established. It may have a stated maximum lifetime/expiration. +Next, the authenticity of the server's credentials is checked. These are checked against either a local browser certificate cache or against a chain-of-authorities to a [Certificate Authority](/cloud/guides/obtain-a-commercially-signed-tls-certificate). If all matches correctly, a session is established. It may have a stated maximum lifetime/expiration. Once the TLS connection is made between the two hosts, it's time to pick common encryption mechanisms/ciphers (and hopefully the highest common denominator between the two hosts). In the web service example, a browser has trust information presented by the web service. The browser looks to either its own cache of certificates, or to a chain-of-authorities statement made by the web server to prove its trust. If trust can be proven satisfactorily, and multiple options are possible, then a trust relationship is established (or rejected, ending the conversation). diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-debian-6-squeeze/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-debian-6-squeeze/index.md index 864d7638a6d..76c987cccc2 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-debian-6-squeeze/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-debian-6-squeeze/index.md @@ -51,7 +51,7 @@ Issue the following command to update your package lists: apt-get update -When running system upgrades, you may want to start a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: +When running system upgrades, you may want to start a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: apt-get install screen diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-04-natty/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-04-natty/index.md index 779c9894f2b..e2b8e2262dc 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-04-natty/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-04-natty/index.md @@ -70,7 +70,7 @@ Issue the following command to update your package lists: apt-get update -When running system upgrades, you may want to start a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: +When running system upgrades, you may want to start a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: apt-get install screen diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-10-oneiric/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-10-oneiric/index.md index fcf3069aa4c..e2f92c3e200 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-10-oneiric/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-10-oneiric/index.md @@ -35,7 +35,7 @@ Issue the following command to update your package lists: apt-get update -When running system upgrades, you may want to start a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: +When running system upgrades, you may want to start a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: apt-get install screen diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-12-04-precise/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-12-04-precise/index.md index 95b3989c6bd..f898dfcc58d 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-12-04-precise/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-12-04-precise/index.md @@ -132,7 +132,7 @@ Your Linode is now running Ubuntu 12.04 LTS. ## Upgrading from Previous Ubuntu Releases -If your Linode is running an release of Ubuntu older than 10.04 LTS, use the upgrade guides in the [Troubleshooting](/cloud/bundles/troubleshooting/) section to upgrade to Ubuntu 10.04 LTS or Ubuntu 11.10 first. You may then upgrade your Linode to Ubuntu 12.04 LTS. +If your Linode is running an release of Ubuntu older than 10.04 LTS, use the upgrade guides in the [Troubleshooting](/cloud/bundles/troubleshooting) section to upgrade to Ubuntu 10.04 LTS or Ubuntu 11.10 first. You may then upgrade your Linode to Ubuntu 12.04 LTS. diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-14-04-lts/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-14-04-lts/index.md index f6eaa60872b..69abe47bda6 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-14-04-lts/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-14-04-lts/index.md @@ -139,4 +139,4 @@ Your Linode is now running Ubuntu 14.04 LTS. ## Upgrading from Previous Ubuntu Releases -If your Linode is running an release of Ubuntu older than 12.04 LTS, use the upgrade guides in the [Upgrading](/cloud/guides/security/upgrading/) section to upgrade to Ubuntu 12.04 LTS first. You may then upgrade your Linode to Ubuntu 14.04 LTS. +If your Linode is running an release of Ubuntu older than 12.04 LTS, use the upgrade guides in the [Upgrading](/cloud/guides/security/upgrading) section to upgrade to Ubuntu 12.04 LTS first. You may then upgrade your Linode to Ubuntu 14.04 LTS. diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-22-04/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-22-04/index.md index 8ef40688e00..fef20524db4 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-22-04/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-22-04/index.md @@ -67,7 +67,7 @@ The pros and cons of a clean install are as follows: - This method takes a lot more effort and is more error prone. It is easy to forget to port over important applications and application data. - This method is a better choice if the system is running a much older release of Ubuntu or if the configuration is very convoluted. It is also a good choice for systems under the control of an *Infrastructure as Code* (IaC) application, like Terraform or Chef. These applications allow administrators to automatically provision a new remote node with a standard configuration. -For an in-depth explanation of the clean install method, see the [Linode guide to manually upgrading a node](/cloud/guides/manually-upgrading-to-latest-distribution-version/). +For an in-depth explanation of the clean install method, see the [Linode guide to manually upgrading a node](/cloud/guides/manually-upgrading-to-latest-distribution-version). ## Before You Begin @@ -78,14 +78,14 @@ For an in-depth explanation of the clean install method, see the [Linode guide t 1. Ensure there is at least 20 GB of disk space available. Verify the amount of disk space availability using the `df -Th` command. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Upgrade to Ubuntu 22.04 LTS This guide is designed for users who want to upgrade from Ubuntu 20.04 LTS to Ubuntu 22.04 LTS. However, it is generally applicable for upgrades to Ubuntu 22.04 from any release of Ubuntu 20.xx or 21.xx. -If the Linode is running Ubuntu 18.xx or any earlier release, first upgrade it to Ubuntu 20.04 LTS. Then perform the steps in this guide to upgrade from Ubuntu 20.04 LTS to the 22.04 LTS. See the [Linode guide to Upgrade to Ubuntu 20.04](/cloud/guides/upgrade-to-ubuntu-20-04/) for more information. Alternatively, if the Ubuntu software and applications are very old, it might make more sense to perform a clean install instead. +If the Linode is running Ubuntu 18.xx or any earlier release, first upgrade it to Ubuntu 20.04 LTS. Then perform the steps in this guide to upgrade from Ubuntu 20.04 LTS to the 22.04 LTS. See the [Linode guide to Upgrade to Ubuntu 20.04](/cloud/guides/upgrade-to-ubuntu-20-04) for more information. Alternatively, if the Ubuntu software and applications are very old, it might make more sense to perform a clean install instead. {{< note type="alert" >}} This operation cannot be canceled after it is started. Ensure there is a stable connection to the Linode and backup power is available. diff --git a/docs/guides/security/upgrading/manually-upgrading-to-latest-distribution-version/index.md b/docs/guides/security/upgrading/manually-upgrading-to-latest-distribution-version/index.md index be2e3aa11e5..16608735f9c 100644 --- a/docs/guides/security/upgrading/manually-upgrading-to-latest-distribution-version/index.md +++ b/docs/guides/security/upgrading/manually-upgrading-to-latest-distribution-version/index.md @@ -33,8 +33,8 @@ Regardless of your chosen upgrade path ([inline upgrade](#inline-upgrade) or [cl An inline (or in-place) upgrade involves upgrading your existing Linux system (or a copy of that existing system). All of your data remains and the operating system upgrades itself to the latest version. The viability of this process depends on several factors, including if your Linux distribution supports it, how reliable the process is for your distribution, and how complex your system configuration is. When this process works smoothly, its quicker and easier compared to other options as it typically just involves running a few commands. This guide does not cover inline upgrades, though the following guides do: -- [How to Upgrade to Ubuntu 18.04 LTS (Bionic Beaver)](/cloud/guides/upgrade-to-ubuntu-18-04/) -- [Upgrade Debian to the Newest Release](/cloud/guides/upgrade-debian-to-the-newest-release/) +- [How to Upgrade to Ubuntu 18.04 LTS (Bionic Beaver)](/cloud/guides/upgrade-to-ubuntu-18-04) +- [Upgrade Debian to the Newest Release](/cloud/guides/upgrade-debian-to-the-newest-release) *Consider an inline upgrade when your system is just one release behind your distribution's latest version and the built-in method for inline upgrades for your distribution is reliable.* @@ -44,18 +44,18 @@ This entails deploying the desired distribution version to a new server, potenti *Consider a clean install when your system is several releases behind your distribution's latest version, when switching to a different distribution altogether, or when making major changes to your software stack.* {{< note >}} -DevOps provisioning tools (such as [Terraform](/cloud/guides/beginners-guide-to-terraform/) and [Ansible](/cloud/guides/getting-started-with-ansible/)), container platforms ([Docker](/cloud/guides/introduction-to-docker/)), and orchestration systems ([Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/)) generally make deploying system updates much easier. If your application or DevOps process uses one of these tools, upgrading to the latest operating system may be as simply as adjusting a line in a configuration file. In those cases, consult the tool's documentation to learn more about targeting a newer Linux distribution. +DevOps provisioning tools (such as [Terraform](/cloud/guides/beginners-guide-to-terraform) and [Ansible](/cloud/guides/getting-started-with-ansible)), container platforms ([Docker](/cloud/guides/introduction-to-docker)), and orchestration systems ([Kubernetes](/cloud/guides/beginners-guide-to-kubernetes)) generally make deploying system updates much easier. If your application or DevOps process uses one of these tools, upgrading to the latest operating system may be as simply as adjusting a line in a configuration file. In those cases, consult the tool's documentation to learn more about targeting a newer Linux distribution. {{< /note >}} ## Before you Begin -- **Ensure you have login credentials to the original system** for either the root user or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +- **Ensure you have login credentials to the original system** for either the root user or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). {{< note respectIndent=false >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} -- **Back up any important data stored on your Linode.** If your Linode has the [Backups](https://www.linode.com/products/backups/) service enabled, consider taking a manual snapshot before upgrading your system. If you use a different backup service or application, you should verify that a recent backup is available. See [Backing Up Your Data](/cloud/guides/backing-up-your-data/). +- **Back up any important data stored on your Linode.** If your Linode has the [Backups](https://www.linode.com/products/backups/) service enabled, consider taking a manual snapshot before upgrading your system. If you use a different backup service or application, you should verify that a recent backup is available. See [Backing Up Your Data](/cloud/guides/backing-up-your-data). ## Steps for Performing an Upgrade through a Clean Install @@ -83,9 +83,9 @@ As part of this upgrade process, all packages required for the applications you This approach involves reviewing the installation instructions (and requirements) for each application you wish to use. This approach may be the cleanest approach, as only packages that are currently required by your application will be installed. You can review the official documentation for a given application or take a look at our own guides for installing certain software stacks and applications. Here are a few of our popular guides. While Ubuntu versions of the guides are linked, other distributions are available. -- [How to Install the LEMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) -- [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) -- [Install WordPress on Ubuntu 20.04](/cloud/guides/how-to-install-wordpress-ubuntu-2004/) +- [How to Install the LEMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04) +- [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04) +- [Install WordPress on Ubuntu 20.04](/cloud/guides/how-to-install-wordpress-ubuntu-2004) Whichever documentation you review, follow the installation steps to install all required software. @@ -95,33 +95,33 @@ The downside to this approach is that you may need to do a bit of research if yo You can also view the packages that are currently installed on the original system and then install them on the new system. This process can be more tedious, as there are often hundreds or thousands of packages (including obscure dependencies that you might not recognize). The commands needed to view and install packages depend on the distribution and package manager you are using. Below are example commands for finding all installed packages using popular default package managers: -- [**APT**](/cloud/guides/apt-package-manager/) - Debian and Ubuntu +- [**APT**](/cloud/guides/apt-package-manager) - Debian and Ubuntu sudo apt list --installed -- [**DNF**](/cloud/guides/dnf-package-manager/) - RHEL/CentOS 8, other RHEL 8 derivatives (including AlmaLinux 8 and Rocky Linux 8), and Fedora 22 (and later) +- [**DNF**](/cloud/guides/dnf-package-manager) - RHEL/CentOS 8, other RHEL 8 derivatives (including AlmaLinux 8 and Rocky Linux 8), and Fedora 22 (and later) sudo dnf list installed -- [**YUM**](/cloud/guides/yum-package-manager/) - RHEL/CentOS 7 +- [**YUM**](/cloud/guides/yum-package-manager) - RHEL/CentOS 7 sudo yum list installed Next, install all the required packages onto the new system. Again, here are some example commands based on common package managers: -- [**APT**](/cloud/guides/apt-package-manager/) - Debian and Ubuntu +- [**APT**](/cloud/guides/apt-package-manager) - Debian and Ubuntu sudo apt install [package-name] -- [**DNF**](/cloud/guides/dnf-package-manager/) - RHEL/CentOS 8, other RHEL 8 derivatives (including AlmaLinux 8 and Rocky Linux 8), and Fedora 22 (and later) +- [**DNF**](/cloud/guides/dnf-package-manager) - RHEL/CentOS 8, other RHEL 8 derivatives (including AlmaLinux 8 and Rocky Linux 8), and Fedora 22 (and later) sudo dnf install [package-name] -- [**YUM**](/cloud/guides/yum-package-manager/) - RHEL/CentOS 7 +- [**YUM**](/cloud/guides/yum-package-manager) - RHEL/CentOS 7 sudo yum install [package-name] -If you are using a different distribution or a different package manager, review the [Overview of Package Management in Linux](/cloud/guides/linux-package-management-overview/) guide, as well as the individual pages for each package manager, to determine how to list currently installed packages. +If you are using a different distribution or a different package manager, review the [Overview of Package Management in Linux](/cloud/guides/linux-package-management-overview) guide, as well as the individual pages for each package manager, to determine how to list currently installed packages. ## Copy Data and Configuration Files @@ -140,27 +140,27 @@ Before transferring data, you may want to place any applications in a *maintenan ### SFTP (SSH File Transfer Protocol) -SFTP is a standard protocol for securely listing, downloading, and uploading files on remote systems. This is a very user-friendly approach to file transfers. Many desktop applications are available and can be used to transfer data between the original Linode and the new Linode. These applications include [FileZilla](https://filezilla-project.org/) (free, cross-platform), [WinSCP](https://winscp.net/eng/index.php) (free, Windows-only), [Transmit](https://panic.com/transmit/) (paid, macOS-only), and [Forklift](https://binarynights.com/) (paid, macOS-only). See our [FileZilla guide](/cloud/guides/filezilla/) for more information. +SFTP is a standard protocol for securely listing, downloading, and uploading files on remote systems. This is a very user-friendly approach to file transfers. Many desktop applications are available and can be used to transfer data between the original Linode and the new Linode. These applications include [FileZilla](https://filezilla-project.org/) (free, cross-platform), [WinSCP](https://winscp.net/eng/index.php) (free, Windows-only), [Transmit](https://panic.com/transmit/) (paid, macOS-only), and [Forklift](https://binarynights.com/) (paid, macOS-only). See our [FileZilla guide](/cloud/guides/filezilla) for more information. ### SCP (Secure Copy Protocol) -SCP is a common file transfer command line tool available on most macOS and Linux systems, including WSL on Windows 10. Review the [Download Files from Your Compute Instance > Download Files with SCP](/cloud/guides/download-files-from-a-compute-instance/#download-files-with-scp) guide for more details. +SCP is a common file transfer command line tool available on most macOS and Linux systems, including WSL on Windows 10. Review the [Download Files from Your Compute Instance > Download Files with SCP](/cloud/guides/download-files-from-a-compute-instance#download-files-with-scp) guide for more details. ## Copy any Databases Databases can be copied in much the same way as files. The major difference is that most databases first require a *database dump*, which writes all of the data stored within the database to a backup file. This database backup file can then be copied to the new system and used to restored the data. -- To create a dump of a MySQL (or MariaDB) database, use the `mysqldump` command. See [Use mysqldump to Back Up MySQL or MariaDB](/cloud/guides/mysqldump-backups/) for instructions on backing up and restoring a database. **You can only use this tool if your database process is accessible and running.** +- To create a dump of a MySQL (or MariaDB) database, use the `mysqldump` command. See [Use mysqldump to Back Up MySQL or MariaDB](/cloud/guides/mysqldump-backups) for instructions on backing up and restoring a database. **You can only use this tool if your database process is accessible and running.** -- If your MySQL database won't run for some reason, follow the instructions for creating [physical backups](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/). +- If your MySQL database won't run for some reason, follow the instructions for creating [physical backups](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases). -- If you use PostgreSQL, follow the [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database/) guide. +- If you use PostgreSQL, follow the [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database) guide. ## Transfer IPv4 Addresses After you've configuring the new Linode, copied over the data, and have performed any tests needed to ensure the system is working as expected, you are just about ready to start using the new system. To make the switch over quick and relatively seamless, you can retain the IPv4 addresses from your original Linode by transferring them to your new Linode. To do this, follow the instructions within the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#transferring-ip-addresses) {{< note >}} -The Transfer IP functionality only works with IPv4 addresses and cannot transfer IPv6 addresses. If any of your systems, applications, or tools reference the IPv6 address of your original Linode, you will need to update those references with the new IPv6 address. Commonly, this means modifying the [AAAA DNS records](/cloud/guides/dns-overview/#a-and-aaaa) on your domain(s). +The Transfer IP functionality only works with IPv4 addresses and cannot transfer IPv6 addresses. If any of your systems, applications, or tools reference the IPv6 address of your original Linode, you will need to update those references with the new IPv6 address. Commonly, this means modifying the [AAAA DNS records](/cloud/guides/dns-overview#a-and-aaaa) on your domain(s). {{< /note >}} ## Start Using the New Linode diff --git a/docs/guides/security/upgrading/migrate-from-centos-8-to-centos-stream/index.md b/docs/guides/security/upgrading/migrate-from-centos-8-to-centos-stream/index.md index 2a5dd14147d..cf2ee60ed97 100644 --- a/docs/guides/security/upgrading/migrate-from-centos-8-to-centos-stream/index.md +++ b/docs/guides/security/upgrading/migrate-from-centos-8-to-centos-stream/index.md @@ -77,7 +77,7 @@ Alternatively, ISO images or RPM packages can be downloaded from [The CentOS Dow sudo dnf update -y sudo reboot -1. Ensure the Linode is running a recent version of CentOS 8. If it is still running CentOS 7, [upgrade to version 8](/cloud/guides/how-to-upgrade-from-centos-7-to-centos-8/) first. +1. Ensure the Linode is running a recent version of CentOS 8. If it is still running CentOS 7, [upgrade to version 8](/cloud/guides/how-to-upgrade-from-centos-7-to-centos-8) first. cat /etc/centos-release {{< output >}} diff --git a/docs/guides/security/upgrading/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/index.md b/docs/guides/security/upgrading/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/index.md index 413f2fbea54..a58c13230a9 100644 --- a/docs/guides/security/upgrading/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/index.md +++ b/docs/guides/security/upgrading/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/index.md @@ -14,7 +14,7 @@ external_resources: - '[apache.org](http://httpd.apache.org/docs/2.4/upgrading.html)' --- -This guide explains the configuration changes needed to update a standard virtual host setup, such as the one presented [here](/cloud/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server), from Apache 2.2 to Apache 2.4. These configuration updates are necessary, because a working Apache 2.2 virtual host setup will break silently when you upgrade to Apache 2.4. We'll also discuss changes the new version of Apache makes to the default virtual host and module configuration. +This guide explains the configuration changes needed to update a standard virtual host setup, such as the one presented [here](/cloud/guides/hosting-a-website-ubuntu-18-04#configure-name-based-virtual-hosts-in-apache-web-server), from Apache 2.2 to Apache 2.4. These configuration updates are necessary, because a working Apache 2.2 virtual host setup will break silently when you upgrade to Apache 2.4. We'll also discuss changes the new version of Apache makes to the default virtual host and module configuration. ![Updating Virtual Host Settings from Apache 2.2 to Apache 2.4](updating_virtual_host_settings_tg.png "Updating Virtual Host Settings from Apache 2.2 to Apache 2.4") @@ -132,7 +132,7 @@ The [apache.org upgrade page](http://httpd.apache.org/docs/2.4/upgrading.html) i ## Errors From Non-Updated Settings -The following symptoms may indicate that you need to make the changes to your Apache 2.4 configuration that are described in this article. Note that other causes can also produce these symptoms, so if you didn't recently upgrade from Apache 2.2 to 2.4, you should pursue additional [troubleshooting](/cloud/guides/troubleshooting-common-apache-issues/) avenues. +The following symptoms may indicate that you need to make the changes to your Apache 2.4 configuration that are described in this article. Note that other causes can also produce these symptoms, so if you didn't recently upgrade from Apache 2.2 to 2.4, you should pursue additional [troubleshooting](/cloud/guides/troubleshooting-common-apache-issues) avenues. **Symptom:** When you try to visit your website, you see the default **It works!** Apache web page. diff --git a/docs/guides/security/upgrading/upgrade-debian-to-the-newest-release/index.md b/docs/guides/security/upgrading/upgrade-debian-to-the-newest-release/index.md index fcd5e7aa41a..3df26bf021b 100644 --- a/docs/guides/security/upgrading/upgrade-debian-to-the-newest-release/index.md +++ b/docs/guides/security/upgrading/upgrade-debian-to-the-newest-release/index.md @@ -28,7 +28,7 @@ While upstream maintainers try to ensure cross-compatibility and problem-free up - **Back up any important data stored on your Linode!** If you subscribe to the Linode Backups service, we recommend taking a [manual snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) before upgrading your system. If you use a different backup service or application, you should do a manual backup now. {{< note respectIndent=false >}} -You may also want to back up your configuration files (usually located in `/etc/`) in case they have changed in later versions of the software you are using. See our [backup guides](/cloud/guides/security/backups/) for more information. +You may also want to back up your configuration files (usually located in `/etc/`) in case they have changed in later versions of the software you are using. See our [backup guides](/cloud/guides/security/backups) for more information. {{< /note >}} @@ -105,7 +105,7 @@ N or O : keep your currently-installed version D : show the differences between the versions {{< /output >}} - - If your system is running Fail2ban, the upgrade will end with the error shown below. This is a [known issue](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=860397). See the [troubleshooting](/cloud/guides/upgrade-debian-to-the-newest-release/#fail2ban) section of this page to fix before proceeding further. + - If your system is running Fail2ban, the upgrade will end with the error shown below. This is a [known issue](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=860397). See the [troubleshooting](/cloud/guides/upgrade-debian-to-the-newest-release#fail2ban) section of this page to fix before proceeding further. {{< output >}} Errors were encountered while processing: @@ -155,4 +155,4 @@ maxretry = 6 ### Upgrading Apache 2.2 to 2.4 -Upgrading from Debian 7 to 8 moves Apache from version 2.2 to 2.4. This version change can break existing websites if you're already running Apache and requires adjusting configuration files. See our [Upgrading Apache](/cloud/guides/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/) guide for more information. \ No newline at end of file +Upgrading from Debian 7 to 8 moves Apache from version 2.2 to 2.4. This version change can break existing websites if you're already running Apache and requires adjusting configuration files. See our [Upgrading Apache](/cloud/guides/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4) guide for more information. \ No newline at end of file diff --git a/docs/guides/security/upgrading/upgrade-to-debian-8-jessie/index.md b/docs/guides/security/upgrading/upgrade-to-debian-8-jessie/index.md index f2e3cedd0bb..1f1ff7012ea 100644 --- a/docs/guides/security/upgrading/upgrade-to-debian-8-jessie/index.md +++ b/docs/guides/security/upgrading/upgrade-to-debian-8-jessie/index.md @@ -22,7 +22,7 @@ Debian 8 (Jessie) is the most recent version of Debian, released in April 2015. Bear in mind that while package and distribution maintainers try to ensure cross-compatibility and problem-free upgrades, there is always the lingering possibility of something not working out as planned. This is one reason why backing up your data is so important. {{< note >}} -If you use the Apache web server, be aware that Debian 8 moves from Apache 2.2 to 2.4. This version change requires several adjustments to configuration files, and can break an existing website. Please follow our [Upgrading Apache](/cloud/guides/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/) guide before continuing. +If you use the Apache web server, be aware that Debian 8 moves from Apache 2.2 to 2.4. This version change requires several adjustments to configuration files, and can break an existing website. Please follow our [Upgrading Apache](/cloud/guides/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4) guide before continuing. {{< /note >}} ## Preparing to Upgrade @@ -38,7 +38,7 @@ You should install all available updates for Debian 7 before upgrading to Debian ### Backing Up Your Linode -It's a good idea to [back up](https://techdocs.akamai.com/cloud-computing/docs/backup-service) your Linode before performing a major upgrade. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) before upgrading to Debian 8. If you use another backup service or application, we recommend that you make a manual backup now. You may also want to back up your configuration files (usually located in `/etc/`) in case they have changed in later versions of the software you are using. See our [backup guides](/cloud/guides/security/backups/) for more information. +It's a good idea to [back up](https://techdocs.akamai.com/cloud-computing/docs/backup-service) your Linode before performing a major upgrade. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) before upgrading to Debian 8. If you use another backup service or application, we recommend that you make a manual backup now. You may also want to back up your configuration files (usually located in `/etc/`) in case they have changed in later versions of the software you are using. See our [backup guides](/cloud/guides/security/backups) for more information. ### Checking Your Kernel diff --git a/docs/guides/security/upgrading/upgrade-to-ubuntu-16-04/index.md b/docs/guides/security/upgrading/upgrade-to-ubuntu-16-04/index.md index 8e40a13f2db..adea0979565 100644 --- a/docs/guides/security/upgrading/upgrade-to-ubuntu-16-04/index.md +++ b/docs/guides/security/upgrading/upgrade-to-ubuntu-16-04/index.md @@ -34,7 +34,7 @@ The upgrade may be incomplete or your system may be corrupted if your internet c **Important:** Ubuntu 16.04 ships with OpenSSH 7.2p2, which does not allow `ssh-dss` host authentication, or use of the SSH version 1 protocol. {{< /note >}} {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prepare to Upgrade @@ -143,4 +143,4 @@ Your Linode is now running Ubuntu 16.04 LTS. ## Upgrading from Previous Ubuntu Releases -If your Linode is running a release of Ubuntu older than 14.04 LTS, use the upgrade guides in the [Upgrading](/cloud/guides/security/upgrading/) section to upgrade to Ubuntu 14.04 LTS first. You may then upgrade your Linode to Ubuntu 16.04 LTS. +If your Linode is running a release of Ubuntu older than 14.04 LTS, use the upgrade guides in the [Upgrading](/cloud/guides/security/upgrading) section to upgrade to Ubuntu 14.04 LTS first. You may then upgrade your Linode to Ubuntu 16.04 LTS. diff --git a/docs/guides/security/upgrading/upgrade-to-ubuntu-18-04/index.md b/docs/guides/security/upgrading/upgrade-to-ubuntu-18-04/index.md index 1659b20e8da..816dc8b1dce 100644 --- a/docs/guides/security/upgrading/upgrade-to-ubuntu-18-04/index.md +++ b/docs/guides/security/upgrading/upgrade-to-ubuntu-18-04/index.md @@ -21,7 +21,7 @@ image: upgrade-ubuntu-18-title.jpg Ubuntu 18.04 is a Long-Term Support (LTS) release that is supported by Canonical until April 2023. This guide shows how to upgrade your Linode from Ubuntu 16.04 (Xenial Xerus) or Ubuntu 17.10 (Artful Aardvark) to Ubuntu 18.04 (Bionic Beaver). {{< note type="alert" >}} -Inline distribution upgrades can yield unpredictable results. Before continuing, read through our [Upgrading to the Latest Distribution (Clean Install)](/cloud/guides/manually-upgrading-to-latest-distribution-version/) guide to learn more about your upgrade options, including performing a clean install of the latest distribution version. +Inline distribution upgrades can yield unpredictable results. Before continuing, read through our [Upgrading to the Latest Distribution (Clean Install)](/cloud/guides/manually-upgrading-to-latest-distribution-version) guide to learn more about your upgrade options, including performing a clean install of the latest distribution version. The upgrade may be incomplete or your system may be corrupted if your internet connection is interrupted. Use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) to perform this upgrade in a stable environment that does not rely on an active internet connection to your Linode. diff --git a/docs/guides/security/upgrading/upgrade-to-ubuntu-20-04/index.md b/docs/guides/security/upgrading/upgrade-to-ubuntu-20-04/index.md index 698eba85f7d..f4b0ccf1bdc 100644 --- a/docs/guides/security/upgrading/upgrade-to-ubuntu-20-04/index.md +++ b/docs/guides/security/upgrading/upgrade-to-ubuntu-20-04/index.md @@ -19,7 +19,7 @@ aliases: [] Ubuntu 20.04 is a Long-Term Support (LTS) release that is supported by Canonical until April 2025. Use this guide to upgrade your Linode from Ubuntu 18.04 (Bionic Beaver) or Ubuntu 19.10 (Eoan Ermine) to Ubuntu 20.04 (Focal Fossa). {{< note type="alert" >}} -Inline distribution upgrades can yield unpredictable results. Before continuing, read through [Upgrading to the Latest Distribution (Clean Install)](/cloud/guides/manually-upgrading-to-latest-distribution-version/) guide to learn more about your upgrade options. This guide also provides instructions to perform a clean install of the latest distribution version. +Inline distribution upgrades can yield unpredictable results. Before continuing, read through [Upgrading to the Latest Distribution (Clean Install)](/cloud/guides/manually-upgrading-to-latest-distribution-version) guide to learn more about your upgrade options. This guide also provides instructions to perform a clean install of the latest distribution version. The upgrade may be incomplete or your system may be corrupted if your internet connection is interrupted. Use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) to perform this upgrade in a stable environment that does not rely on an active internet connection to your Linode. diff --git a/docs/guides/security/vulnerabilities/emulate-syn-flood-attack-with-kali-linux/index.md b/docs/guides/security/vulnerabilities/emulate-syn-flood-attack-with-kali-linux/index.md index d7ea820092f..86cff422d02 100644 --- a/docs/guides/security/vulnerabilities/emulate-syn-flood-attack-with-kali-linux/index.md +++ b/docs/guides/security/vulnerabilities/emulate-syn-flood-attack-with-kali-linux/index.md @@ -75,7 +75,7 @@ At the command line level, Kali Linux is similar to Debian and other Linux distr 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide ares written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide ares written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Use Kali Linux to Launch a SYN Flood Attack diff --git a/docs/guides/security/vulnerabilities/hackersploit-red-team-series-note-shortguide/index.md b/docs/guides/security/vulnerabilities/hackersploit-red-team-series-note-shortguide/index.md index 0f101e0e373..eddfdacf4a6 100644 --- a/docs/guides/security/vulnerabilities/hackersploit-red-team-series-note-shortguide/index.md +++ b/docs/guides/security/vulnerabilities/hackersploit-red-team-series-note-shortguide/index.md @@ -13,4 +13,4 @@ show_on_rss_feed: false ## HackerSploit Red Team Series -This guide is part of the HackerSploit Red Team series of guides. To navigate to other guides in the series, visit the [series' parent page](/cloud/guides/hackersploit-red-team-series/). +This guide is part of the HackerSploit Red Team series of guides. To navigate to other guides in the series, visit the [series' parent page](/cloud/guides/hackersploit-red-team-series). diff --git a/docs/guides/security/vulnerabilities/hackersploit-red-team-series/index.md b/docs/guides/security/vulnerabilities/hackersploit-red-team-series/index.md index be7baec1a07..c9d986eb819 100644 --- a/docs/guides/security/vulnerabilities/hackersploit-red-team-series/index.md +++ b/docs/guides/security/vulnerabilities/hackersploit-red-team-series/index.md @@ -23,30 +23,30 @@ This series is split into two parts, with 13 guides in total. ### Part 1 -1. [Red Team Adversary Emulation With Caldera](/cloud/guides/red-team-adversary-emulation-with-caldera/): This guide introduces you to Red Team operations takes you through the process of setting up and utilizing Caldera for adversary emulation. +1. [Red Team Adversary Emulation With Caldera](/cloud/guides/red-team-adversary-emulation-with-caldera): This guide introduces you to Red Team operations takes you through the process of setting up and utilizing Caldera for adversary emulation. -1. [Red Team Reconnaissance Techniques](/cloud/guides/red-team-reconnaissance-techniques/): This guide covers the process of how to perform both passive and active reconnaissance for Red Team operations. +1. [Red Team Reconnaissance Techniques](/cloud/guides/red-team-reconnaissance-techniques): This guide covers the process of how to perform both passive and active reconnaissance for Red Team operations. -1. [Windows Red Team Exploitation Techniques](/cloud/guides/windows-red-team-exploitation-techniques/): This guide covers the process of setting up PowerShell-Empire as a C2 server and how to generate a macro Excel document that can be used to gain an initial foothold on a target system. +1. [Windows Red Team Exploitation Techniques](/cloud/guides/windows-red-team-exploitation-techniques): This guide covers the process of setting up PowerShell-Empire as a C2 server and how to generate a macro Excel document that can be used to gain an initial foothold on a target system. -1. [Linux Red Team Exploitation Techniques](/cloud/guides/linux-red-team-exploitation-techniques/): This guide covers the process of identifying and exploiting vulnerabilities on a public facing Linux server. +1. [Linux Red Team Exploitation Techniques](/cloud/guides/linux-red-team-exploitation-techniques): This guide covers the process of identifying and exploiting vulnerabilities on a public facing Linux server. -1. [Windows Red Team Persistence Techniques](/cloud/guides/windows-red-team-persistence-techniques/): This guide covers the process of setting up and maintaining persistent access on Windows targets. +1. [Windows Red Team Persistence Techniques](/cloud/guides/windows-red-team-persistence-techniques): This guide covers the process of setting up and maintaining persistent access on Windows targets. -1. [Windows Red Team Credential Access Techniques](/cloud/guides/windows-red-team-credential-access-with-mimikatz/): This guide covers the process of extracting cleartext passwords and hashes from Windows system by leveraging tools like Mimikatz. +1. [Windows Red Team Credential Access Techniques](/cloud/guides/windows-red-team-credential-access-with-mimikatz): This guide covers the process of extracting cleartext passwords and hashes from Windows system by leveraging tools like Mimikatz. ### Part 2 -1. [Windows Red Team Defense Evasion Techniques](/cloud/guides/windows-red-team-defense-evasion-techniques/): This guide explains and demonstrates the process of evading AV detection on Windows systems. +1. [Windows Red Team Defense Evasion Techniques](/cloud/guides/windows-red-team-defense-evasion-techniques): This guide explains and demonstrates the process of evading AV detection on Windows systems. -1. [Windows Red Team Privilege Escalation Techniques](/cloud/guides/windows-red-team-privilege-escalation-techniques/): This guide covers various techniques that can be used to elevate your privileges on Windows systems. +1. [Windows Red Team Privilege Escalation Techniques](/cloud/guides/windows-red-team-privilege-escalation-techniques): This guide covers various techniques that can be used to elevate your privileges on Windows systems. -1. [Linux Red Team Privilege Escalation Techniques](/cloud/guides/linux-red-team-privilege-escalation-techniques/): This guide covers various techniques that can be used to elevate your privileges on Linux systems. +1. [Linux Red Team Privilege Escalation Techniques](/cloud/guides/linux-red-team-privilege-escalation-techniques): This guide covers various techniques that can be used to elevate your privileges on Linux systems. -1. [Linux Red Team Persistence Techniques](/cloud/guides/linux-red-team-persistence-techniques/): This guide covers the process of setting up and maintaining persistent access on Linux targets. +1. [Linux Red Team Persistence Techniques](/cloud/guides/linux-red-team-persistence-techniques): This guide covers the process of setting up and maintaining persistent access on Linux targets. -1. [Linux Defense Evasion - Hiding Linux Processes](/cloud/guides/linux-defense-evasion-hiding-linux-processes/): This guide covers the process of evading detection on Linux systems by hiding processes. +1. [Linux Defense Evasion - Hiding Linux Processes](/cloud/guides/linux-defense-evasion-hiding-linux-processes): This guide covers the process of evading detection on Linux systems by hiding processes. -1. [Linux Red Team Defense Evasion - Rootkits](/cloud/guides/linux-red-team-defense-evasion-rootkits/): This guide covers the process of evading detection on Linux systems by leveraging rootkits. +1. [Linux Red Team Defense Evasion - Rootkits](/cloud/guides/linux-red-team-defense-evasion-rootkits): This guide covers the process of evading detection on Linux systems by leveraging rootkits. -1. [Windows Red Team Lateral Movement Techniques](/cloud/guides/windows-red-team-lateral-movement-techniques/): This guide covers the process of performing lateral movement on Windows systems. \ No newline at end of file +1. [Windows Red Team Lateral Movement Techniques](/cloud/guides/windows-red-team-lateral-movement-techniques): This guide covers the process of performing lateral movement on Windows systems. \ No newline at end of file diff --git a/docs/guides/security/vulnerabilities/install-openvas-on-ubuntu-16-04/index.md b/docs/guides/security/vulnerabilities/install-openvas-on-ubuntu-16-04/index.md index b3089aef321..4190d97a730 100644 --- a/docs/guides/security/vulnerabilities/install-openvas-on-ubuntu-16-04/index.md +++ b/docs/guides/security/vulnerabilities/install-openvas-on-ubuntu-16-04/index.md @@ -36,7 +36,7 @@ OpenVAS is a powerful security tool that is capable of scanning remote hosts as 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install OpenVAS @@ -70,7 +70,7 @@ The `openvas` repository and its packages are not officially supported by Ubuntu sudo openvas-nvt-sync {{< note respectIndent=false >}} -This feed is maintained by OpenVAS and is updated about once per week. To keep your NVT feed current, we recommend running this command regularly, or setting up a [cron job](/cloud/guides/schedule-tasks-with-cron/) to automate the process. +This feed is maintained by OpenVAS and is updated about once per week. To keep your NVT feed current, we recommend running this command regularly, or setting up a [cron job](/cloud/guides/schedule-tasks-with-cron) to automate the process. {{< /note >}} 5. Sync Security Content Automation Protocol (SCAP) and Computer Emergency Readiness Team (CERT) vulnerability data to a local database. The synchronization will take several minutes, and you can monitor its progress in the output: diff --git a/docs/guides/security/vulnerabilities/linux-red-team-persistence-techniques/index.md b/docs/guides/security/vulnerabilities/linux-red-team-persistence-techniques/index.md index 7f9b0bd976d..8e80e2e2c9d 100644 --- a/docs/guides/security/vulnerabilities/linux-red-team-persistence-techniques/index.md +++ b/docs/guides/security/vulnerabilities/linux-red-team-persistence-techniques/index.md @@ -74,7 +74,7 @@ Note: Some persistence techniques will require “root” privileges in order to The first persistence technique we will be exploiting is the process of generating and using SSH key-based authentication as opposed to password-based authentication. This persistence technique will help maintain access to the target system if the user account passwords have been changed, as this is quite a common practice in companies that have password security policies in place. -Note: This technique requires Public Key Authentication to be enabled in the SSH configuration file, more information see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/) +Note: This technique requires Public Key Authentication to be enabled in the SSH configuration file, more information see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh) In order to perform this technique, you need to have obtained initial access to the target system and you will require “root” privileges if you wish to modify the SSH configuration file. diff --git a/docs/guides/security/vulnerabilities/scanning-your-linode-for-malware/index.md b/docs/guides/security/vulnerabilities/scanning-your-linode-for-malware/index.md index a78be9e72c9..9d81e2174e1 100644 --- a/docs/guides/security/vulnerabilities/scanning-your-linode-for-malware/index.md +++ b/docs/guides/security/vulnerabilities/scanning-your-linode-for-malware/index.md @@ -13,7 +13,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[ClamAV](https://www.clamav.net/)' - - '[Recovering from a System Compromise](/cloud/guides/recovering-from-a-system-compromise/)' + - '[Recovering from a System Compromise](/cloud/guides/recovering-from-a-system-compromise)' tags: ["security"] --- @@ -27,7 +27,7 @@ This guide does not guarantee the removal of all possible compromises, only malw ## Before You Begin -1. The steps in this guide require root privileges. This guide shows you how to boot into the [Finnix](https://www.finnix.org/) Linux recovery distribution, which uses the root user by default. If you are adapting these steps to run in a different environment, be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +1. The steps in this guide require root privileges. This guide shows you how to boot into the [Finnix](https://www.finnix.org/) Linux recovery distribution, which uses the root user by default. If you are adapting these steps to run in a different environment, be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. 1. Boot your Linode into rescue mode. For more information about rescue mode, see the [Booting into Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) and [Connecting to a Linode Running in Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#connecting-to-a-compute-instance-running-in-rescue-mode) sections of the [Rescue and Rebuild](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) guide. diff --git a/docs/guides/tools-reference/basics/basic-linux-commands/index.md b/docs/guides/tools-reference/basics/basic-linux-commands/index.md index a9bf58772c6..935e8ddaecb 100644 --- a/docs/guides/tools-reference/basics/basic-linux-commands/index.md +++ b/docs/guides/tools-reference/basics/basic-linux-commands/index.md @@ -22,7 +22,7 @@ The person starting the Linux command-line session, is called the current user. These Linux commands in this guide are common to most releases. Some of them have been upgraded, augmented, or modified to suit changing needs, times, or different syntax. -Like other Unix operating systems, Linux has the ability to chain commands together into shell scripts, which in turn, have rudimentary to intermediate programmability. [Shell scripting](/cloud/guides/intro-bash-shell-scripting/), or the use of commands arranged to execute a series of Linux command line apps, is common. Variables can be passed, and jobs can also be programmed to execute a script at certain times. +Like other Unix operating systems, Linux has the ability to chain commands together into shell scripts, which in turn, have rudimentary to intermediate programmability. [Shell scripting](/cloud/guides/intro-bash-shell-scripting), or the use of commands arranged to execute a series of Linux command line apps, is common. Variables can be passed, and jobs can also be programmed to execute a script at certain times. This cheat sheet contains the most commonly-used Linux commands for remote servers, like a Linode. The GNU command-line apps are re-writes of Unix, BSD, Solaris, and other operating systems versions. These are updated, or even re-written to adapt to newer host technologies and infrastructure. Technologies like Bluetooth, Wireless Ethernet, USB, the PCI bus were only dreams when many of the early versions of these commands were written. Although different versions of these commands exist, by tradition, each Linux version has *man pages* which are authoritative for the version of the command found on the specific Linux distribution under consideration. @@ -130,7 +130,7 @@ For example, to change a user's home directory, use the following command: sudo usermod -d /home/example-user-new-home example-user -Consult our [An Overview of the usermod Command and How It's Used](/cloud/guides/what-is-usermod-and-how-to-use-it/) to learn more. +Consult our [An Overview of the usermod Command and How It's Used](/cloud/guides/what-is-usermod-and-how-to-use-it) to learn more. ## Disk and Media Management Commands @@ -436,7 +436,7 @@ The `mv` command moves a file to a different directory: mv [options] -To learn more about the `mv` command see our guide [How to Navigate the Linux Terminal and File System](/cloud/guides/linux-navigation-commands/). +To learn more about the `mv` command see our guide [How to Navigate the Linux Terminal and File System](/cloud/guides/linux-navigation-commands). ### Change File Permissions @@ -444,7 +444,7 @@ The `chmod` command changes the file permissions and executable and symbolic lin chmod [executable or symbolic file option] [permissions mask] -You can use both symbolic and octal notation with the `chmod` command. To learn more about the `chmod` command see our guide [Modify File Permissions with chmod](/cloud/guides/modify-file-permissions-with-chmod/) +You can use both symbolic and octal notation with the `chmod` command. To learn more about the `chmod` command see our guide [Modify File Permissions with chmod](/cloud/guides/modify-file-permissions-with-chmod) ### Delete a File @@ -538,7 +538,7 @@ tcp6 0 0 :::22 :::* LISTEN udp 0 0 0.0.0.0:68 0.0.0.0:* 390/dhclient {{}} -The `netstat` command has many powerful options to view information about different areas of your network. For a deeper dive, view our [Inspecting Network Information with netstat](/cloud/guides/inspecting-network-information-with-netstat/). +The `netstat` command has many powerful options to view information about different areas of your network. For a deeper dive, view our [Inspecting Network Information with netstat](/cloud/guides/inspecting-network-information-with-netstat). {{< note >}} Some Linux distributions use the `ss` command, a direct replacement for `netstat`. @@ -560,4 +560,4 @@ The `ping` command uses ICMP messaging to determine if a host is reachable. If a ## Conclusion -These basic Linux commands work in any shell on any Linode Linux edition, no matter the distribution family. To reference more in-depth information about common Linux commands, browse our [documentation library](/cloud/). +These basic Linux commands work in any shell on any Linode Linux edition, no matter the distribution family. To reference more in-depth information about common Linux commands, browse our [documentation library](/cloud). diff --git a/docs/guides/tools-reference/basics/file-system-quotas/index.md b/docs/guides/tools-reference/basics/file-system-quotas/index.md index d23a1ee98c2..9a90675f33b 100644 --- a/docs/guides/tools-reference/basics/file-system-quotas/index.md +++ b/docs/guides/tools-reference/basics/file-system-quotas/index.md @@ -28,7 +28,7 @@ The quota subsystem allows system administrator to set limits on the space used sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install the Quota Tools diff --git a/docs/guides/tools-reference/basics/how-to-add-and-remove-sudo-access-in-ubuntu/index.md b/docs/guides/tools-reference/basics/how-to-add-and-remove-sudo-access-in-ubuntu/index.md index efdc49c3ce7..f83240542c7 100644 --- a/docs/guides/tools-reference/basics/how-to-add-and-remove-sudo-access-in-ubuntu/index.md +++ b/docs/guides/tools-reference/basics/how-to-add-and-remove-sudo-access-in-ubuntu/index.md @@ -25,7 +25,7 @@ external_resources: 1. This guide assumes you are comfortable using the *command-line interface* (CLI) or have a graphical desktop environment to perform the tasks. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Adding User Rights Through the sudoers File diff --git a/docs/guides/tools-reference/basics/how-to-copy-files-and-directories-in-linux/index.md b/docs/guides/tools-reference/basics/how-to-copy-files-and-directories-in-linux/index.md index 5d8f6bb0caf..480b76d59ed 100644 --- a/docs/guides/tools-reference/basics/how-to-copy-files-and-directories-in-linux/index.md +++ b/docs/guides/tools-reference/basics/how-to-copy-files-and-directories-in-linux/index.md @@ -30,7 +30,7 @@ Users must have `sudo` privileges to copy protected files. Otherwise, `sudo` is 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Use the cp Command to Copy Files and Directories in Linux diff --git a/docs/guides/tools-reference/basics/how-to-increase-swap-space-in-ubuntu/index.md b/docs/guides/tools-reference/basics/how-to-increase-swap-space-in-ubuntu/index.md index eee9190004f..ebc23398707 100644 --- a/docs/guides/tools-reference/basics/how-to-increase-swap-space-in-ubuntu/index.md +++ b/docs/guides/tools-reference/basics/how-to-increase-swap-space-in-ubuntu/index.md @@ -56,7 +56,7 @@ Overall, it is usually better to treat swap space as a safety mechanism to avoid 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Increase Swap Space in Ubuntu diff --git a/docs/guides/tools-reference/basics/how-to-set-linux-environment-variables/index.md b/docs/guides/tools-reference/basics/how-to-set-linux-environment-variables/index.md index 1eae029b9c1..890cbafcd77 100644 --- a/docs/guides/tools-reference/basics/how-to-set-linux-environment-variables/index.md +++ b/docs/guides/tools-reference/basics/how-to-set-linux-environment-variables/index.md @@ -20,7 +20,7 @@ Your Linux shell has access to an environment that stores configuration values a 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Are Environment Variables? diff --git a/docs/guides/tools-reference/basics/introduction-to-linux-concepts/index.md b/docs/guides/tools-reference/basics/introduction-to-linux-concepts/index.md index dda3ec289df..546fb17d75d 100644 --- a/docs/guides/tools-reference/basics/introduction-to-linux-concepts/index.md +++ b/docs/guides/tools-reference/basics/introduction-to-linux-concepts/index.md @@ -10,9 +10,9 @@ keywords: ["Linux", "Unix-Like systems", "history"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Using the Terminal](/cloud/guides/using-the-terminal/)' - - '[LAMP Guides](/cloud/guides/web-servers/lamp/)' - - '[Package Management](/cloud/guides/linux-package-management-overview/)' + - '[Using the Terminal](/cloud/guides/using-the-terminal)' + - '[LAMP Guides](/cloud/guides/web-servers/lamp)' + - '[Package Management](/cloud/guides/linux-package-management-overview)' tags: ["linux"] --- @@ -88,12 +88,12 @@ After you connect to your Linode, you should be looking at a shell prompt that l What does this bit of text mean? The entire thing is the *shell prompt*. It's your terminal's way of telling you that it's ready for you to enter the next command. The different parts of the shell prompt provide information: -- **root**: This is your username. To learn more about users, jump down to the [Users and Permissions](/cloud/guides/introduction-to-linux-concepts/#users-and-permissions-in-linux) section. +- **root**: This is your username. To learn more about users, jump down to the [Users and Permissions](/cloud/guides/introduction-to-linux-concepts#users-and-permissions-in-linux) section. - **localhost**: This is your Linode's hostname. A *hostname* is your Linode's name for itself. - **\~**: After the colon, the SSH session shows the name of the directory you're in. When you first log in, you're in your user's *home* directory. The tilde (**\~**) is a shortcut for the home directory. If the directory was spelled out, it would be `/root`. For users other than the root user, home directories are in `/home/user1`, where **user1** is the name of the user. - **\#** - The **hash** or **pound** (**\#**) punctuation mark indicates where the shell prompt ends. When you type a command, your text begins after this point. For users other than the root user, the **dollar sign** (**\$**) indicates the same thing. -You can type any valid Linux shell command at the blinking cursor after the shell prompt. We'll go over a few practical commands in the rest of this article, but to get a really good in-depth introduction to the command-line interface, you should read the [Using the Terminal](/cloud/guides/using-the-terminal/) article as well. +You can type any valid Linux shell command at the blinking cursor after the shell prompt. We'll go over a few practical commands in the rest of this article, but to get a really good in-depth introduction to the command-line interface, you should read the [Using the Terminal](/cloud/guides/using-the-terminal) article as well. {{< note >}} These command line tips will make your Linux forays much more effective: @@ -255,11 +255,11 @@ lrwxrwxrwx 1 root root 16 Apr 30 2012 libfuse.so.2 -> libfuse.so.2.8.6 ### Learn More About Navigating Directories -Now you know how to use the `pwd` command to show you where you are, the `cd` command to move to a new directory, and the `ls` command to show you the contents of a directory. These are the basic tools you need to navigate through your Linode's files and directories. To learn more about navigating directories, read the linked section of the [Using the Terminal](/cloud/guides/using-the-terminal/) guide. +Now you know how to use the `pwd` command to show you where you are, the `cd` command to move to a new directory, and the `ls` command to show you the contents of a directory. These are the basic tools you need to navigate through your Linode's files and directories. To learn more about navigating directories, read the linked section of the [Using the Terminal](/cloud/guides/using-the-terminal) guide. ### Upload Files to Your Linode -One of the easiest ways to upload your own files to your Linode is with a Secure FTP (**SFTP**) program. See [Migrate from Shared Hosting to Linode](/cloud/guides/migrate-from-shared-hosting-to-linode/) for a walkthrough on how to upload your own files using SFTP. +One of the easiest ways to upload your own files to your Linode is with a Secure FTP (**SFTP**) program. See [Migrate from Shared Hosting to Linode](/cloud/guides/migrate-from-shared-hosting-to-linode) for a walkthrough on how to upload your own files using SFTP. ## Users and Permissions in Linux @@ -308,7 +308,7 @@ The user permissions are listed first and the group permissions are listed secon - **group1** and the user accounts inside the group has read and execute permissions, but not write permissions, **r-x**. Members of the **group1** group can view the contents of the `my_directory` directory, run files in it, but not change them. - Everyone can read and execute the files in the `var` directory, but not change them, because the permissions for everyone are **r-x**. -To learn about users and groups in more detail, read the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) article. +To learn about users and groups in more detail, read the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) article. ## Software @@ -318,7 +318,7 @@ This section shows you how to install, run, update, and uninstall software from Like most things in Linux, installing software is accomplished by typing and executing a specific text command. The most popular Linux distributions come with *package managers* that make it relatively easy to install and uninstall software on your Linode. Debian and Ubuntu use the Advanced Packaging Tool (**APT**) package manager, and Fedora and CentOS use the Yellowdog Updater, Modified (**yum**) package manager. -Our **Quick Start Guides** series contain basic instructions for installing and configuring many common types of Linux software. The [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide shows you how to install software to run a website, while [Running a Mail Server](/cloud/guides/running-a-mail-server/) is for email servers. +Our **Quick Start Guides** series contain basic instructions for installing and configuring many common types of Linux software. The [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04) guide shows you how to install software to run a website, while [Running a Mail Server](/cloud/guides/running-a-mail-server) is for email servers. #### Install with APT @@ -356,7 +356,7 @@ Sometimes you want to run a program on an as-needed basis. For example, you migh 1. Use the `cd` command to move into the directory where the script is located. -1. Run `ls -l directory` to check that your user account has [execute permissions](/cloud/guides/introduction-to-linux-concepts/#users-and-permissions-in-linux) for the script file in the directory. If you need to modify the permissions, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#chmod-command) guide. +1. Run `ls -l directory` to check that your user account has [execute permissions](/cloud/guides/introduction-to-linux-concepts#users-and-permissions-in-linux) for the script file in the directory. If you need to modify the permissions, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups#chmod-command) guide. 1. Run the script with the following syntax: @@ -364,7 +364,7 @@ Sometimes you want to run a program on an as-needed basis. For example, you migh **Scheduled:** -Sometimes you want to run a program at regular intervals, as in the case of a daily backup script. The best way to do this is with the *cron* tool. Read the [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) article to learn more. Scripts that you run this way also have to be [executable](/cloud/guides/introduction-to-linux-concepts/#users-and-permissions-in-linux). +Sometimes you want to run a program at regular intervals, as in the case of a daily backup script. The best way to do this is with the *cron* tool. Read the [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron) article to learn more. Scripts that you run this way also have to be [executable](/cloud/guides/introduction-to-linux-concepts#users-and-permissions-in-linux). ### Updating Software @@ -412,6 +412,6 @@ Some distributions are designed to be as simple and minimalistic as possible, wh - **Organizational Structure**: While it might not affect the performance of the distribution, one of the distinguishing factors between distributions is the organizational structure of the development team. Some distributions, like Debian, Gentoo, Arch, and Slackware are developed by independent communities of developers, while other distributions like openSUSE, Fedora, and Ubuntu are developed by communities sponsored by various corporations (e.g. Novell, RedHat, and Canonical for the examples above). Other distributions, such as CentOS, are derived by a community from commercially-produced distributions. -- **Common Tool Sets**: Different distributions make use of different tools for common tasks like [package management](/cloud/guides/linux-package-management-overview/) or system configuration. As we discussed above, Debian and Ubuntu use APT to manage `.deb` packages, CentOS and Fedora use yum to manage `.rpm` packages, and openSUSE also uses `.rpm` packages but manages them with a tool called **yast**. In many cases your choice of distribution will come down to the one that provides the tools you need and are most comfortable with. +- **Common Tool Sets**: Different distributions make use of different tools for common tasks like [package management](/cloud/guides/linux-package-management-overview) or system configuration. As we discussed above, Debian and Ubuntu use APT to manage `.deb` packages, CentOS and Fedora use yum to manage `.rpm` packages, and openSUSE also uses `.rpm` packages but manages them with a tool called **yast**. In many cases your choice of distribution will come down to the one that provides the tools you need and are most comfortable with. Different distributions of Linux are right for different situations. You should experiment until you find the best fit for you. Given the similarities between different distributions, don't be afraid switch to a new one that will serve you better. If you're familiar with the concepts in this article, you're well on your way to administrating your system like a pro with any distribution of Linux. diff --git a/docs/guides/tools-reference/basics/linux-remove-symbolic-link/index.md b/docs/guides/tools-reference/basics/linux-remove-symbolic-link/index.md index b3bfb22d03e..5b9c13cb153 100644 --- a/docs/guides/tools-reference/basics/linux-remove-symbolic-link/index.md +++ b/docs/guides/tools-reference/basics/linux-remove-symbolic-link/index.md @@ -16,7 +16,7 @@ external_resources: Symbolic links (also known as *symlinks*) in Linux are special files that reference other files, directories, devices, or pipes. In other operating systems, symlinks may be called "shortcuts". Symlinks can be used to control access to files. For example, you can build links in a user’s home directory that accesses a more public file for reading and writing. Group permissions perform this function as well, but with a higher administrative maintenance load. Symlinks also bring access to a file deeply nested within a directory tree. Thus, users do not have to walk the file directory tree to access the file. -Learn how to create symlinks in our guide [How to Create Linux Symlinks](/cloud/guides/linux-symlinks/). +Learn how to create symlinks in our guide [How to Create Linux Symlinks](/cloud/guides/linux-symlinks). ## What is a Symlink? diff --git a/docs/guides/tools-reference/basics/linux-symlinks/index.md b/docs/guides/tools-reference/basics/linux-symlinks/index.md index c5f5b0a554b..1e8878c140e 100644 --- a/docs/guides/tools-reference/basics/linux-symlinks/index.md +++ b/docs/guides/tools-reference/basics/linux-symlinks/index.md @@ -27,7 +27,7 @@ A *symlink* is a type of special file whose "data" is a path to the name of a fi - directory - pipe - via `mkfifo` - special device -- symlink - see [Chains of Soft Links](/cloud/guides/linux-symlinks/#chains-of-soft-links) below +- symlink - see [Chains of Soft Links](/cloud/guides/linux-symlinks#chains-of-soft-links) below Also known as a "soft link" in Linux, the term "shortcut" describes symlinks in other operating systems. @@ -134,7 +134,7 @@ Almost all file-based actions on a symlink act on or affect the target file, but The exceptions to the above-described rule are the Linux commands `unlink`, `rm`, `rmdir`, and their associated system calls. These commands either fail or remove the symlink itself instead of the target file or directory. These exceptions prevent the inadvertent removal of the target. -See more information about removing symlinks in our [Remove Symbolic Links](/cloud/guides/linux-remove-symbolic-link/). +See more information about removing symlinks in our [Remove Symbolic Links](/cloud/guides/linux-remove-symbolic-link). ## Finding Dangling Symlinks diff --git a/docs/guides/tools-reference/basics/linux-system-administration-basics/index.md b/docs/guides/tools-reference/basics/linux-system-administration-basics/index.md index 14b9b7e573d..ede05a827de 100644 --- a/docs/guides/tools-reference/basics/linux-system-administration-basics/index.md +++ b/docs/guides/tools-reference/basics/linux-system-administration-basics/index.md @@ -35,7 +35,7 @@ Commonly, the Linux administration role typically involves: ## Basic Configuration -These tips cover some of the basic steps and issues encountered during the beginning of system configuration. We provide a general [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) for your convenience if you're new to Linode and basic Linux system administration. Additionally, you may find our [Introduction to Linux Concepts guide](/cloud/guides/introduction-to-linux-concepts/) useful. +These tips cover some of the basic steps and issues encountered during the beginning of system configuration. We provide a general [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) for your convenience if you're new to Linode and basic Linux system administration. Additionally, you may find our [Introduction to Linux Concepts guide](/cloud/guides/introduction-to-linux-concepts) useful. ### Set the Hostname @@ -92,7 +92,7 @@ American Eastern Time (including Daylight Savings Time): ### Configure the /etc/hosts File -The `/etc/hosts` file provides a list of IP addresses with corresponding hostnames. This allows you to specify hostnames for an IP address in one place on the local machine, and then have multiple applications connect to external resources via their hostnames. The system of host files precedes [DNS](/cloud/guides/dns-overview/), and hosts files are *always* checked before DNS is queried. As a result, `/etc/hosts` can be useful for maintaining small "internal" networks, for development purposes, and for managing clusters. +The `/etc/hosts` file provides a list of IP addresses with corresponding hostnames. This allows you to specify hostnames for an IP address in one place on the local machine, and then have multiple applications connect to external resources via their hostnames. The system of host files precedes [DNS](/cloud/guides/dns-overview), and hosts files are *always* checked before DNS is queried. As a result, `/etc/hosts` can be useful for maintaining small "internal" networks, for development purposes, and for managing clusters. Some applications require that the machine properly identify itself in the `/etc/hosts` file. As a result, we recommend configuring the `/etc/hosts` file shortly after deployment. Here is an example file: @@ -193,7 +193,7 @@ Like the `ping` command, `mtr` tracks the speed of the connection in real time u mtr --report -Be aware that `mtr` will pause for a few moments while generating output. For more information regarding `mtr` consider our [diagnosing network issues with mtr](/cloud/guides/diagnosing-network-issues-with-mtr/) guide. +Be aware that `mtr` will pause for a few moments while generating output. For more information regarding `mtr` consider our [diagnosing network issues with mtr](/cloud/guides/diagnosing-network-issues-with-mtr) guide. ## System Diagnostics @@ -280,18 +280,18 @@ You can quit at any time by pressing the `F10` or `Q` keys. There are a couple o Web developers and editors often use the FTP protocol to transfer and manage files on a remote system. FTP, however, is very insecure and inefficient for managing the files on a system when you have SSH access. -If you're new to Linux systems administration, consider our "[Tools & Reference](/cloud/guides/tools-reference/)" section and articles including: [installing and using WinSCP](/cloud/guides/transfer-files-with-winscp-on-windows/), [using rsync to synchronize files](/cloud/guides/introduction-to-rsync/) and [using SSH and the terminal](/cloud/guides/using-the-terminal/). +If you're new to Linux systems administration, consider our "[Tools & Reference](/cloud/guides/tools-reference)" section and articles including: [installing and using WinSCP](/cloud/guides/transfer-files-with-winscp-on-windows), [using rsync to synchronize files](/cloud/guides/introduction-to-rsync) and [using SSH and the terminal](/cloud/guides/using-the-terminal). {{< note type="alert" >}} If you are giving other users access to upload files to your server, consider the [security implications](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) of all additional access that you grant to third parties. {{< /note >}} ### Upload Files to a Remote Server -If you're used to using an FTP client, OpenSSH (which is included and active with all of the Linode distribution images) allows you to use an FTP-like interface over the SSH protocol. Known as "SFTP," many clients support this protocol, including [WinSCP](/cloud/guides/transfer-files-with-winscp-on-windows/) for Windows, [Cyberduck](/cloud/guides/transfer-files-with-cyberduck-on-mac-os-x/) for Mac OS X, and [Filezilla](/cloud/guides/filezilla/) for Linux, OS X, and Windows desktops. +If you're used to using an FTP client, OpenSSH (which is included and active with all of the Linode distribution images) allows you to use an FTP-like interface over the SSH protocol. Known as "SFTP," many clients support this protocol, including [WinSCP](/cloud/guides/transfer-files-with-winscp-on-windows) for Windows, [Cyberduck](/cloud/guides/transfer-files-with-cyberduck-on-mac-os-x) for Mac OS X, and [Filezilla](/cloud/guides/filezilla) for Linux, OS X, and Windows desktops. -If you are accustomed to FTP, SFTP will be very familiar to you. By default, whatever access a user has to a file system at the command line, that user will also have over SFTP. Consider the implications of [file permissions](/cloud/guides/linux-users-and-groups/) when configuring user access. +If you are accustomed to FTP, SFTP will be very familiar to you. By default, whatever access a user has to a file system at the command line, that user will also have over SFTP. Consider the implications of [file permissions](/cloud/guides/linux-users-and-groups) when configuring user access. -You can also use Unix utilities including `scp` and [rsync](/cloud/guides/introduction-to-rsync/) to securely transfer files to your Linode. On a local machine, a command to copy `team-info.tar.gz` would look like: +You can also use Unix utilities including `scp` and [rsync](/cloud/guides/introduction-to-rsync) to securely transfer files to your Linode. On a local machine, a command to copy `team-info.tar.gz` would look like: scp team-info.tar.gz username@hostname.example.com:/home/username/backups/ @@ -305,7 +305,7 @@ The syntax of `scp` follows the form `scp [source] [destination]`. You can copy ### Protect Files on a Remote Server -Because Linode servers are network accessible and often have a number of distinct users, maintaining the security of files is often an important concern. We recommend you familiarize yourself with our [basic security guide](/cloud/guides/security/basics/). Our guide on [access control with user accounts and permissions](/cloud/guides/linux-users-and-groups/) may provide additional insight. +Because Linode servers are network accessible and often have a number of distinct users, maintaining the security of files is often an important concern. We recommend you familiarize yourself with our [basic security guide](/cloud/guides/security/basics). Our guide on [access control with user accounts and permissions](/cloud/guides/linux-users-and-groups) may provide additional insight. We suggest the following best practices for maintaining security: @@ -334,7 +334,7 @@ Note the following features of the link command: ### Manage Files on a Linux System -If you're new to using Linux and manipulating files on the terminal interface we encourage you to consider our guide on [using the terminal](/cloud/guides/using-the-terminal/). This section provides a list of basic commands to manage the contents of your filesystem. +If you're new to using Linux and manipulating files on the terminal interface we encourage you to consider our guide on [using the terminal](/cloud/guides/using-the-terminal). This section provides a list of basic commands to manage the contents of your filesystem. To **copy** files: @@ -356,11 +356,11 @@ To **delete** a file: This will delete the `scratch.txt` file from the current directory. -For more information about file system navigation and manipulation, please consider our documentation of [file system navigation](/cloud/guides/using-the-terminal/#file-system-navigation). +For more information about file system navigation and manipulation, please consider our documentation of [file system navigation](/cloud/guides/using-the-terminal#file-system-navigation). ## Package Management -Most Linux systems use package management tools to facilitate the installation and maintenance of all software on your system. For more in-depth coverage of this topic, please reference our [package management](/cloud/guides/linux-package-management-overview/) guide. +Most Linux systems use package management tools to facilitate the installation and maintenance of all software on your system. For more in-depth coverage of this topic, please reference our [package management](/cloud/guides/linux-package-management-overview) guide. While these tools provide a number of powerful features, it is easy to look past the benefits of package management. If you install software manually without package management tools, it becomes difficult to keep your system up to date and to manage dependencies. For these reasons, we recommend installing all software through package management tools unless other means are absolutely necessary. The following tips outline a couple of basic package management tasks. @@ -562,7 +562,7 @@ You can use `grep` to filter the results of another command that sends output to ls /home/username/data | grep "1257" -In this example, we assume that the `/home/username/data` directory contains a large number of files that have a UNIX time stamp in their file names. The above command will filter the output to only display those tiles that have the four digits "1257" in their file names. In these cases, `grep` only filters the output of `ls` and does not look into file contents. For more information regarding `grep`, refer to our full documentation of the [grep command](/cloud/guides/how-to-use-grep-command/). +In this example, we assume that the `/home/username/data` directory contains a large number of files that have a UNIX time stamp in their file names. The above command will filter the output to only display those tiles that have the four digits "1257" in their file names. In these cases, `grep` only filters the output of `ls` and does not look into file contents. For more information regarding `grep`, refer to our full documentation of the [grep command](/cloud/guides/how-to-use-grep-command). ### Search and Replace Across a Group of Files @@ -584,13 +584,13 @@ To match literal slashes (`/`), you must escape them with a backslash (`\`). As This would strip the slashes from the string `r/e/g/e/x` so that this string would be `regex` after running the `sed` command on the file that contains the string. -The following example, from our [migrating a server to your Linode](/cloud/guides/migrating-a-server-to-your-linode/) document, searches and replaces one IP address with another. In this case `98.76.54.32` is replaced with `12.34.56.78`: +The following example, from our [migrating a server to your Linode](/cloud/guides/migrating-a-server-to-your-linode) document, searches and replaces one IP address with another. In this case `98.76.54.32` is replaced with `12.34.56.78`: sed -i 's/98\.76\.54\.32/12\.34\.56\.78/' In the above example, period characters are escaped as `\.`. In regular expressions the full-stop (period) character matches to any character if it is not escaped. -For more information about `sed` refer to our full documentation of [text manipulation with sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed/). +For more information about `sed` refer to our full documentation of [text manipulation with sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed). ### Edit Text @@ -613,7 +613,7 @@ This provides only the most basic outline of how to use these text editors, and ## Web Servers and HTTP Issues -Linodes do not come with a web server installed by default. You must install and configure your web server. This allows you to configure your web server in a way that makes sense for your application or website. [Linode Guides & Tutorials](/cloud/) contains a number of documents regarding the installation and maintenance of various [web servers](/cloud/guides/web-servers/). +Linodes do not come with a web server installed by default. You must install and configure your web server. This allows you to configure your web server in a way that makes sense for your application or website. [Linode Guides & Tutorials](/cloud) contains a number of documents regarding the installation and maintenance of various [web servers](/cloud/guides/web-servers). This section covers a number of basic web serving tasks and functions, as well as some guidance for users new to the world of web servers. @@ -621,31 +621,31 @@ This section covers a number of basic web serving tasks and functions, as well a Web servers work by listening on a TCP port, typically port 80 for HTTP and port 443 for HTTPS. When a visitor makes a request for content, the servers respond by delivering the resource requested. Typically, resources are specified with a URL that contains the protocol, `http` or `https`; a colon and two slashes, `://`; hostname or domain, `www.example.com` or `username.example.com`; and the path to a file, `/images/avatar.jpg,` or `index.html`. A full URL would resemble `http://www.example.com/images/avatar.jpg`. -In order to provide these resources to users, your Linode needs to be running a web server. There are many different HTTP servers and countless configurations to provide support for various web development frameworks. The three most popular general use web servers are the [Apache HTTP](/cloud/guides/web-servers/apache/) server, [Lighttpd](/cloud/guides/web-servers/lighttpd/) ("Lighty"), and [nginx](/cloud/guides/web-servers/nginx/) ("Engine X"). Each server has its strengths and weaknesses, and your choice depends largely on your experience and your needs. +In order to provide these resources to users, your Linode needs to be running a web server. There are many different HTTP servers and countless configurations to provide support for various web development frameworks. The three most popular general use web servers are the [Apache HTTP](/cloud/guides/web-servers/apache) server, [Lighttpd](/cloud/guides/web-servers/lighttpd) ("Lighty"), and [nginx](/cloud/guides/web-servers/nginx) ("Engine X"). Each server has its strengths and weaknesses, and your choice depends largely on your experience and your needs. Once you've chosen a web server, you need to decide what (if any) scripting support you need to install. Scripting support allows you to run dynamic content with your web server and program server side scripts in languages such as Python, PHP, Ruby, and Perl. -If you need a full web application stack, we encourage you to consider one of our more full-featured [LAMP stack guides](/cloud/guides/web-servers/lamp/). If you need support for a specific web development framework, consult our tutorials for installing and using specific [web application frameworks](/cloud/guides/development/frameworks/). +If you need a full web application stack, we encourage you to consider one of our more full-featured [LAMP stack guides](/cloud/guides/web-servers/lamp). If you need support for a specific web development framework, consult our tutorials for installing and using specific [web application frameworks](/cloud/guides/development/frameworks). ### How to Choose a Web Server In most situations, end users are unaware of which web server you use. As a result, choosing a web server is often a personal decision based on the comfort of the administrator and the requirements of the deployment in question. This can be a challenge for the new systems administrator. This section offers some guidance by providing some background and information on the most popular web servers. -The [Apache HTTP Server](/cloud/guides/web-servers/apache/) is considered by some to be the *de facto* standard web server. It is the most widely deployed open-source web server, its configuration interface has been stable for many years, and its modular architecture allows it to function in many different types of deployments. Apache forms the foundation of the [LAMP stack](/cloud/guides/web-servers/lamp/), and supports the integration of dynamic server-side applications into the web server. +The [Apache HTTP Server](/cloud/guides/web-servers/apache) is considered by some to be the *de facto* standard web server. It is the most widely deployed open-source web server, its configuration interface has been stable for many years, and its modular architecture allows it to function in many different types of deployments. Apache forms the foundation of the [LAMP stack](/cloud/guides/web-servers/lamp), and supports the integration of dynamic server-side applications into the web server. -By contrast, web servers like [Lighttpd](/cloud/guides/web-servers/lighttpd/) and [nginx](/cloud/guides/web-servers/nginx/) are optimized for efficiently serving static content. If you have a deployment where server resources are limited and are facing a great deal of demand, consider one of these servers. They are functional and stable with minimal system resources. Lighttpd and nginx can be more difficult to configure when integrating dynamic content interpreters. +By contrast, web servers like [Lighttpd](/cloud/guides/web-servers/lighttpd) and [nginx](/cloud/guides/web-servers/nginx) are optimized for efficiently serving static content. If you have a deployment where server resources are limited and are facing a great deal of demand, consider one of these servers. They are functional and stable with minimal system resources. Lighttpd and nginx can be more difficult to configure when integrating dynamic content interpreters. Your choice of web servers is based on your needs. Specific choices depend on factors like the type of content you want to serve, the demand for that content, and your comfort with that software as an administrator. ### Apache Logs -When there is something wrong with [Apache](/cloud/guides/web-servers/apache/), it can be difficult to determine what the cause of the error is from the behavior of the web server. There are a number of common issues with which you might begin your [troubleshooting](/cloud/guides/troubleshooting-common-apache-issues/) efforts. When more complex issues arise, you may need to review the Apache error logs. +When there is something wrong with [Apache](/cloud/guides/web-servers/apache), it can be difficult to determine what the cause of the error is from the behavior of the web server. There are a number of common issues with which you might begin your [troubleshooting](/cloud/guides/troubleshooting-common-apache-issues) efforts. When more complex issues arise, you may need to review the Apache error logs. By default, error logs are located in the `/var/log/apache2/error.log` file (on Debian-based distributions). You can track or "tail" this log with the following command: tail -F /var/log/apache2/error.log -In the default virtual host configurations suggested in our [Apache installation](/cloud/guides/web-servers/apache/) and [LAMP guides](/cloud/guides/web-servers/lamp/), we suggest adding a custom log setting: +In the default virtual host configurations suggested in our [Apache installation](/cloud/guides/web-servers/apache) and [LAMP guides](/cloud/guides/web-servers/lamp), we suggest adding a custom log setting: {{< file "Apache Virtual Host Configuration" >}} ErrorLog /var/www//html/example.com/logs/error.log CustomLog /var/www/html/example.com/logs/access.log combined @@ -666,31 +666,31 @@ This will allow you to see new error messages as they appear. Problems can be di ## DNS Servers and Domain Names -The *Domain Name System*, or DNS, is the service that the internet uses to associate the hard to remember and manage IP addresses with more human-usable domain names. This section will address several specific DNS-related tasks. To learn more about DNS, check out our [overview of the domain name system](/cloud/guides/dns-overview/). If you are familiar with DNS and just need to figure out how to configure your DNS server, see our guide for the [Linode DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). +The *Domain Name System*, or DNS, is the service that the internet uses to associate the hard to remember and manage IP addresses with more human-usable domain names. This section will address several specific DNS-related tasks. To learn more about DNS, check out our [overview of the domain name system](/cloud/guides/dns-overview). If you are familiar with DNS and just need to figure out how to configure your DNS server, see our guide for the [Linode DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). ### Redirect DNS Queries with CNAME Records -[CNAME DNS records](/cloud/guides/dns-overview/#cname) make it possible to redirect requests for one hostname or domain to another hostname or domain. This is useful in situations where you want to direct requests for one domain to another, but don't want to set up the web server to handle requests. +[CNAME DNS records](/cloud/guides/dns-overview#cname) make it possible to redirect requests for one hostname or domain to another hostname or domain. This is useful in situations where you want to direct requests for one domain to another, but don't want to set up the web server to handle requests. -CNAME records are *only* valid when pointing from one domain to another. If you need to redirect a full URL, you will need to set up a web server and [configure redirection](/cloud/guides/redirect-urls-with-the-apache-web-server/) and/or virtual hosting on the server level. CNAME records will allow you to redirect subdomains, such as `team.example.com`, to other subdomains or domains, such as `jack.example.org`. CNAME records must point to a valid domain that has a valid A Record, or to another CNAME. +CNAME records are *only* valid when pointing from one domain to another. If you need to redirect a full URL, you will need to set up a web server and [configure redirection](/cloud/guides/redirect-urls-with-the-apache-web-server) and/or virtual hosting on the server level. CNAME records will allow you to redirect subdomains, such as `team.example.com`, to other subdomains or domains, such as `jack.example.org`. CNAME records must point to a valid domain that has a valid A Record, or to another CNAME. Although limited in their capabilities, CNAME records can be quite useful in some situations. In particular, if you need to change the hostname of a machine, CNAME records are quite useful. To learn how to set up CNAME records with the [Linode Manager](https://cloud.linode.com/), refer to our [DNS Manager Guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). ### Set Up Subdomains -When [reading domain names](/cloud/guides/dns-overview/#domain-names), we refer to parts before the main or first-level domain as "subdomains." For example, in the domain `team.example.com`, `team` is a subdomain for the root domain `example.com`. +When [reading domain names](/cloud/guides/dns-overview#domain-names), we refer to parts before the main or first-level domain as "subdomains." For example, in the domain `team.example.com`, `team` is a subdomain for the root domain `example.com`. Follow these steps to [create and host a sub-domain](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations#configure-subdomains): -1. First, create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) in the DNS zone for the domain. You can do this using the [Linode DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). You may host the DNS for your domain with any provider you choose. +1. First, create an [A Record](/cloud/guides/dns-overview#a-and-aaaa) in the DNS zone for the domain. You can do this using the [Linode DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). You may host the DNS for your domain with any provider you choose. -2. Set up a server to respond to requests sent to this domain. For web servers like [Apache](/cloud/guides/web-servers/apache/), this requires configuring a new virtual host. For XMPP servers you must configure an additional host to receive the requests for this host. For more information, consult the documentation for the specific server you wish to deploy. +2. Set up a server to respond to requests sent to this domain. For web servers like [Apache](/cloud/guides/web-servers/apache), this requires configuring a new virtual host. For XMPP servers you must configure an additional host to receive the requests for this host. For more information, consult the documentation for the specific server you wish to deploy. 3. Once configured, subdomains function almost identically to root domains on your server. If you need to, you can set up HTTP redirection for the new subdomain. ## SMTP Servers and Email Issues -We provide a number of guides that cover [email-related topics](/cloud/guides/email/). In this section, we'll explain how to choose an email setup that fits your needs and how to configure your Linode to send email. +We provide a number of guides that cover [email-related topics](/cloud/guides/email). In this section, we'll explain how to choose an email setup that fits your needs and how to configure your Linode to send email. {{% content "email-warning-shortguide" %}} @@ -702,15 +702,15 @@ There may also be other components in the email server tool chain. These compone The most prevalent SMTP servers or MTAs in the UNIX-like world are [Postfix](http://www.postfix.org/), [Exim](https://www.exim.org/), and [Sendmail](http://www.sendmail.org/). Sendmail has the longest history and many system administrators have extensive experience with it. Postfix is robust and modern, and is compatible with many different configurations. Exim is the default MTA in Debian systems, and many consider it to be easier to use for basic tasks. For remote mailbox access, servers like [Courier](http://www.courier-mta.org/) and [Dovecot](https://www.dovecot.org/) are popular options. -If you need an easy-to-install email solution, consider the [Citadel groupware server](/cloud/guides/email/citadel/). Citadel provides an integrated "turnkey" solution that includes an SMTP server, remote mailbox access, real time collaboration tools including XMPP, and a shared calendar interface. Along similar lines, we also provide documentation for the installation of the [Zimbra groupware server](/cloud/guides/email/zimbra/). +If you need an easy-to-install email solution, consider the [Citadel groupware server](/cloud/guides/email/citadel). Citadel provides an integrated "turnkey" solution that includes an SMTP server, remote mailbox access, real time collaboration tools including XMPP, and a shared calendar interface. Along similar lines, we also provide documentation for the installation of the [Zimbra groupware server](/cloud/guides/email/zimbra). -If, by contrast, you want a more simple and modular email stack, we urge you to consider one of our guides built around the [Postfix SMTP server](/cloud/guides/email/postfix/). +If, by contrast, you want a more simple and modular email stack, we urge you to consider one of our guides built around the [Postfix SMTP server](/cloud/guides/email/postfix). -Finally, it's possible to outsource email service to a third-party provider, such as [Google Workspace](/cloud/guides/using-google-workspace-for-email/) or [FastMail.fm](https://www.fastmail.fm). These services allows you to send and receive mail from your domain, without hosting email services on your Linode. +Finally, it's possible to outsource email service to a third-party provider, such as [Google Workspace](/cloud/guides/using-google-workspace-for-email) or [FastMail.fm](https://www.fastmail.fm). These services allows you to send and receive mail from your domain, without hosting email services on your Linode. ### Send Email From Your Server -For simple configurations, you may have no need for a complete email stack like some of those documented in our [email guides](/cloud/guides/email/). However, applications running on that server still need to be able to send mail for notifications and other routine purposes. +For simple configurations, you may have no need for a complete email stack like some of those documented in our [email guides](/cloud/guides/email). However, applications running on that server still need to be able to send mail for notifications and other routine purposes. The configuration of applications to send notifications and alerts is beyond the scope of this guide. Most applications rely on a simple "sendmail" interface, which is accessible via several common SMTP servers including Postfix and msmtp. diff --git a/docs/guides/tools-reference/basics/mount-file-system-on-linux/index.md b/docs/guides/tools-reference/basics/mount-file-system-on-linux/index.md index c30b84c8ffa..5df940eaf91 100644 --- a/docs/guides/tools-reference/basics/mount-file-system-on-linux/index.md +++ b/docs/guides/tools-reference/basics/mount-file-system-on-linux/index.md @@ -23,7 +23,7 @@ Mounting or unmounting a file system on Linux is usually straightforward, except 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## File Systems Available for Linux diff --git a/docs/guides/tools-reference/basics/rename-files-on-linux/index.md b/docs/guides/tools-reference/basics/rename-files-on-linux/index.md index d1be907b749..7294309c323 100644 --- a/docs/guides/tools-reference/basics/rename-files-on-linux/index.md +++ b/docs/guides/tools-reference/basics/rename-files-on-linux/index.md @@ -24,7 +24,7 @@ For the purposes of this tutorial, a shared instance with 1 CPU and 1 GB of memo 2. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root`. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root`. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Navigation diff --git a/docs/guides/tools-reference/basics/restart-linux-server-from-the-command-line/index.md b/docs/guides/tools-reference/basics/restart-linux-server-from-the-command-line/index.md index 116e304458c..cf701fc96f7 100644 --- a/docs/guides/tools-reference/basics/restart-linux-server-from-the-command-line/index.md +++ b/docs/guides/tools-reference/basics/restart-linux-server-from-the-command-line/index.md @@ -77,4 +77,4 @@ Finally, you may want to cancel a scheduled reboot. You can do that with the fol The process for restarting your Linux server over PuTTY is the same as above. The only difference is that you need to use PuTTY to open an SSH connection to your server. -If you are unsure how to do that, take a look at our guide on [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/). +If you are unsure how to do that, take a look at our guide on [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty). diff --git a/docs/guides/tools-reference/basics/using-the-terminal/index.md b/docs/guides/tools-reference/basics/using-the-terminal/index.md index 5e2490d349d..6e2f5796e30 100644 --- a/docs/guides/tools-reference/basics/using-the-terminal/index.md +++ b/docs/guides/tools-reference/basics/using-the-terminal/index.md @@ -161,15 +161,15 @@ The terminal can also be useful for monitoring the current status of your server The command `ps` lists active processes by Process ID (PID) numbers. You can use the `ps -A` command (including the "-A" flag) to list all currently running processes, including inactive processes. -The `top` command, which is installed by default on all systems, provides a regularly refreshed list of processes and resource utilization information. You may also wish to consider installing the `htop` application (with your system's [package management](/cloud/guides/linux-package-management-overview/) tool), which provides more coherent output. +The `top` command, which is installed by default on all systems, provides a regularly refreshed list of processes and resource utilization information. You may also wish to consider installing the `htop` application (with your system's [package management](/cloud/guides/linux-package-management-overview) tool), which provides more coherent output. The `df` command, which is native to all systems, provides a metric of your current disk usage including free and unused space. You can use the `df -h` command (including the "-h" flag) to list your current space in megabytes and gigabytes, which is easier to read than flat kilobytes. You can also use the command `df -i` to view the number of iNodes your disk has used and remain available. An iNode is how the filesystem keeps track of files, and is directly related to the number of files that can be created. The `du` command, also native to all systems, checks which directories are using the most space. There are a number of useful flags which you can use with this command, the first of which the `du -h` command will show the disk usage of every file in your current directory and as a whole in megabytes. Another especially useful flag, "--max-depth", allows you to specify how many directories deep the command should iterate through. For example, to obtain a list of the biggest directories which are contained in your filesystem you would use the command `du -h --max-depth 1 /`. -You may also wish to consider installing the `ncdu` application (with your system's [package management](/cloud/guides/linux-package-management-overview/) tool), which provides the file size using a curses-based file browser. +You may also wish to consider installing the `ncdu` application (with your system's [package management](/cloud/guides/linux-package-management-overview) tool), which provides the file size using a curses-based file browser. -For more information about monitoring the internals of your Linode, you can refer to the [System Diagnostics](/cloud/guides/linux-system-administration-basics/#system-diagnostics) guide. +For more information about monitoring the internals of your Linode, you can refer to the [System Diagnostics](/cloud/guides/linux-system-administration-basics#system-diagnostics) guide. ## The Terminal Environment diff --git a/docs/guides/tools-reference/basics/what-is-usermod-and-how-to-use-it/index.md b/docs/guides/tools-reference/basics/what-is-usermod-and-how-to-use-it/index.md index 5b19a320a6f..d2a27627f90 100644 --- a/docs/guides/tools-reference/basics/what-is-usermod-and-how-to-use-it/index.md +++ b/docs/guides/tools-reference/basics/what-is-usermod-and-how-to-use-it/index.md @@ -21,9 +21,9 @@ The `usermod` command lets you change an existing Linux user's settings. Most th ### Comparison to useradd and chmod -The difference between `useradd` and `usermod` is that the former is used for creating new users and the latter is used for modifying existing users. While `useradd` can define a Linux user's settings, it does so for new users, not existing users. See our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#creating-and-deleting-user-accounts) guide for more on the `useradd` command. +The difference between `useradd` and `usermod` is that the former is used for creating new users and the latter is used for modifying existing users. While `useradd` can define a Linux user's settings, it does so for new users, not existing users. See our [Linux Users and Groups](/cloud/guides/linux-users-and-groups#creating-and-deleting-user-accounts) guide for more on the `useradd` command. -On the other hand, `chmod`, like `usermod`, modifies existing resources. But where `usermod` modifies settings for an existing user, `chmod` modifies the permissions on a given file or directory. For instance, while `usermod` allows you to change a user's home directory, `chmod` lets you give a file in that directory executable permissions. Learn more about what `chmod` is and how to use it in our guide [Modify File Permissions with chmod](/cloud/guides/modify-file-permissions-with-chmod/). +On the other hand, `chmod`, like `usermod`, modifies existing resources. But where `usermod` modifies settings for an existing user, `chmod` modifies the permissions on a given file or directory. For instance, while `usermod` allows you to change a user's home directory, `chmod` lets you give a file in that directory executable permissions. Learn more about what `chmod` is and how to use it in our guide [Modify File Permissions with chmod](/cloud/guides/modify-file-permissions-with-chmod). ## Using usermod to Add a User to a Group diff --git a/docs/guides/tools-reference/basics/write-to-a-file-from-the-shell/index.md b/docs/guides/tools-reference/basics/write-to-a-file-from-the-shell/index.md index d3bff5e6d9c..c71cba8b669 100644 --- a/docs/guides/tools-reference/basics/write-to-a-file-from-the-shell/index.md +++ b/docs/guides/tools-reference/basics/write-to-a-file-from-the-shell/index.md @@ -15,7 +15,7 @@ external_resources: - '[Sed](https://www.gnu.org/software/sed/manual/sed.html)' --- -When working from the command line, it can be convenient to write to files without the need to open a text editor like [Nano](/cloud/guides/use-nano-to-edit-files-in-linux/), or Vim. There are some handy Linux operators and commands to make writing to files simple to accomplish. This guide shows you how to use key operators and commands to write to files from the shell. These commands work with [Bash](/cloud/guides/intro-bash-shell-scripting/#bash-basics), [Zsh](https://www.zsh.org/) shells, and several other Unix shells. +When working from the command line, it can be convenient to write to files without the need to open a text editor like [Nano](/cloud/guides/use-nano-to-edit-files-in-linux), or Vim. There are some handy Linux operators and commands to make writing to files simple to accomplish. This guide shows you how to use key operators and commands to write to files from the shell. These commands work with [Bash](/cloud/guides/intro-bash-shell-scripting#bash-basics), [Zsh](https://www.zsh.org/) shells, and several other Unix shells. ## Writing to a File Using Redirection Operators @@ -152,7 +152,7 @@ without evaluating either. ## Advanced Editing with Sed -[Sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed/) is a command-line stream editor that gives you access to advanced file writing features while still working from the shell. +[Sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed) is a command-line stream editor that gives you access to advanced file writing features while still working from the shell. The operators in the sections above give you ways to write to files and append content to them. Sed can write to files, but also provides powerful tools for editing and manipulating files. @@ -229,4 +229,4 @@ without evaluating it. ## Conclusion -With the redirect operators and Sed commands above, you should be able to write to files directly right from the command line. The operators and commands used in this guide are also helpful when you need to work with files in Bash scripts and other shell scripts. If you are interested in learning more about Bash scripts, check out our [series of guides on Bash scripting](/cloud/guides/development/bash/). +With the redirect operators and Sed commands above, you should be able to write to files directly right from the command line. The operators and commands used in this guide are also helpful when you need to work with files in Bash scripts and other shell scripts. If you are interested in learning more about Bash scripts, check out our [series of guides on Bash scripting](/cloud/guides/development/bash). diff --git a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-centos-7/index.md b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-centos-7/index.md index bbc1e1b6cfb..bcb8bee316c 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-centos-7/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-centos-7/index.md @@ -22,7 +22,7 @@ deprecated: true Running a custom-compiled Linux kernel is useful if you need to enable or disable certain kernel features that are unavailable in Linode-supplied or distribution-supplied kernels. For example, some users desire [SELinux](http://en.wikipedia.org/wiki/Security-Enhanced_Linux) support, which is not enabled in stock Linode kernels, and may not be enabled in some distribution-supplied kernels. -If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/). +If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub). Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Then, make sure you are logged into your Linode as the `root` user. diff --git a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-debian-ubuntu/index.md b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-debian-ubuntu/index.md index 2130cf9e0e7..de2c0587894 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-debian-ubuntu/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-debian-ubuntu/index.md @@ -22,7 +22,7 @@ deprecated: true Running a custom-compiled Linux kernel is useful if you need to enable or disable certain kernel features that are unavailable in Linode-supplied or distribution-supplied kernels. For example, some users desire [SELinux](http://en.wikipedia.org/wiki/Security-Enhanced_Linux) support, which is not enabled in stock Linode kernels, and may not be enabled in some distribution-supplied kernels. -If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/). +If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub). Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Then, make sure you are logged into your Linode as the `root` user. diff --git a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-on-arch/index.md b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-on-arch/index.md index 61f688ba76d..66e45c7ed50 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-on-arch/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-on-arch/index.md @@ -21,7 +21,7 @@ deprecated: true Running a custom-compiled Linux kernel is useful if you need to enable or disable certain kernel features that are unavailable in Linode-supplied or distribution-supplied kernels. For example, some users desire [SELinux](http://en.wikipedia.org/wiki/Security-Enhanced_Linux) support, which is not enabled in stock Linode kernels, and may not be enabled in some distribution-supplied kernels. -If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/). +If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub). Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Then, make sure you are logged into your Linode as the `root` user. diff --git a/docs/guides/tools-reference/custom-kernels-distros/how-to-upgrade-from-centos-7-to-centos-8/index.md b/docs/guides/tools-reference/custom-kernels-distros/how-to-upgrade-from-centos-7-to-centos-8/index.md index c29f54a0b25..d2ce45e1a56 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/how-to-upgrade-from-centos-7-to-centos-8/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/how-to-upgrade-from-centos-7-to-centos-8/index.md @@ -37,7 +37,7 @@ This guide will walk you through the steps to migrate from CentOS 7 to CentOS 8 For this guide you will need a backup of your existing CentOS 7 installation. You can back up your Linode in two ways. - You can enroll in [Linode's Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service). This will take automatic regular backups for you, and give you the option of taking a [Manual Snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) at any time. -- For alternative backups solutions, see our [Backing Up Your Data](/cloud/guides/backing-up-your-data/) guide. +- For alternative backups solutions, see our [Backing Up Your Data](/cloud/guides/backing-up-your-data) guide. When creating your backup, it's recommended that you [Resize Your Disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance) to the smallest size possible in advanced in order to ensure that you are able to allocate an extra disk in a later step. {{< note type="alert" >}} diff --git a/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution-on-a-xen-linode/index.md b/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution-on-a-xen-linode/index.md index effcde91267..b40d18e2192 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution-on-a-xen-linode/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution-on-a-xen-linode/index.md @@ -17,7 +17,7 @@ If you'd like to run a Linux distribution on your Linode that isn't available fr {{% content "all-linodes-kvm-shortguide" %}} {{< note >}} -This guide is intended for Linodes using our older Xen hypervisor. To install a custom distribution on a new KVM Linode, see [this guide](/cloud/guides/install-a-custom-distribution/). +This guide is intended for Linodes using our older Xen hypervisor. To install a custom distribution on a new KVM Linode, see [this guide](/cloud/guides/install-a-custom-distribution). {{< /note >}} ## Creating the Virtual Machine diff --git a/docs/guides/tools-reference/custom-kernels-distros/install-coreos-on-your-linode/index.md b/docs/guides/tools-reference/custom-kernels-distros/install-coreos-on-your-linode/index.md index 67df0b679df..5981ecf40eb 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/install-coreos-on-your-linode/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/install-coreos-on-your-linode/index.md @@ -31,7 +31,7 @@ CoreOS is not officially supported by Linode so there are limitations to using i * Unlike the case with most partitioned images, you *can* resize the disk image holding a CoreOS system; however, it can only grow, not shrink. CoreOS resizes its root partition to fill the disk on next boot. {{< note type="alert" >}} -These instructions perform **destructive** operations on your Linode! You should not attempt to install CoreOS on a Linode with data you want to preserve. You may wish to [use a second Linode](/cloud/guides/recovering-from-a-system-compromise/#use-a-second-linode) and transfer your data after installation. +These instructions perform **destructive** operations on your Linode! You should not attempt to install CoreOS on a Linode with data you want to preserve. You may wish to [use a second Linode](/cloud/guides/recovering-from-a-system-compromise#use-a-second-linode) and transfer your data after installation. {{< /note >}} ## Before You Begin diff --git a/docs/guides/tools-reference/custom-kernels-distros/install-nixos-on-linode/index.md b/docs/guides/tools-reference/custom-kernels-distros/install-nixos-on-linode/index.md index b8397e5d212..33bf8ed28e6 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/install-nixos-on-linode/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/install-nixos-on-linode/index.md @@ -219,7 +219,7 @@ To secure your system, change this setting to `"no"` after creating a limited us ### Disable Predictable Interface Names -1. Most of Linode's default images have had systemd's predictable interface names disabled. Because of this, most of [Linode's networking guides](/cloud/networking/) assume an interface of `eth0`. Since your Linode runs in a virtual environment and will have a single interface, it won't encounter the issues that predictable interface names were designed to solve. This change is optional, but may help troubleshooting later; add the following line: +1. Most of Linode's default images have had systemd's predictable interface names disabled. Because of this, most of [Linode's networking guides](/cloud/networking) assume an interface of `eth0`. Since your Linode runs in a virtual environment and will have a single interface, it won't encounter the issues that predictable interface names were designed to solve. This change is optional, but may help troubleshooting later; add the following line: ```file {title="/mnt/etc/nixos/configuration.nix"} networking.usePredictableInterfaceNames = false; diff --git a/docs/guides/tools-reference/custom-kernels-distros/run-a-custom-compiled-kernel-with-pvgrub/index.md b/docs/guides/tools-reference/custom-kernels-distros/run-a-custom-compiled-kernel-with-pvgrub/index.md index 495f5f55f7b..dbe849d347b 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/run-a-custom-compiled-kernel-with-pvgrub/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/run-a-custom-compiled-kernel-with-pvgrub/index.md @@ -16,7 +16,7 @@ deprecated: true For some use cases, you may wish to run a custom-compiled Linux kernel on your Linode. This can be useful if you need to enable certain kernel features that are unavailable in Linode-supplied or distribution-supplied kernels, or when you want to disable features that are compiled into such kernels. For example, some users may desire [SELinux](http://en.wikipedia.org/wiki/Security-Enhanced_Linux) support, which is not enabled in stock Linode kernels, and may not be enabled in some distribution-supplied kernels. -If you'd rather run a distribution-supplied kernel instead, please follow our guide for [running a distribution-supplied kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/). Before proceeding with these instructions, you should follow the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. After doing so, make sure you are logged into your Linode as the "root" user via an SSH session. +If you'd rather run a distribution-supplied kernel instead, please follow our guide for [running a distribution-supplied kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub). Before proceeding with these instructions, you should follow the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. After doing so, make sure you are logged into your Linode as the "root" user via an SSH session. ## Prepare the System diff --git a/docs/guides/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub/index.md b/docs/guides/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub/index.md index fdc6e71132c..b807423810a 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub/index.md @@ -20,7 +20,7 @@ This guide is for legacy Xen Linodes. For newer Linodes, consult our [How to Cha PV-GRUB makes it possible to run your own kernel on your Linode, instead of using a host-supplied kernel. This is useful in cases where you'd like to enable specific kernel features, or you'd prefer to handle kernel upgrades directly. -If you'd like to run a custom distro on your Linode in combination with PV-GRUB, please follow our [Custom Distro](/cloud/guides/install-a-custom-distribution/) guide before taking these steps. +If you'd like to run a custom distro on your Linode in combination with PV-GRUB, please follow our [Custom Distro](/cloud/guides/install-a-custom-distribution) guide before taking these steps. Before you get started, make sure you follow the steps outlined in our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. Your Linode needs to be in a functional state. These steps should be performed as `root` on your Linode, via an SSH session. diff --git a/docs/guides/tools-reference/custom-kernels-distros/use-the-distribution-supplied-kernel-on-centos-6-with-grub-legacy/index.md b/docs/guides/tools-reference/custom-kernels-distros/use-the-distribution-supplied-kernel-on-centos-6-with-grub-legacy/index.md index c7be86676ca..5c7cc1ee10b 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/use-the-distribution-supplied-kernel-on-centos-6-with-grub-legacy/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/use-the-distribution-supplied-kernel-on-centos-6-with-grub-legacy/index.md @@ -18,7 +18,7 @@ This guide will show you how to install and use the distribution-supplied kernel Before you get started, make sure you follow the steps outlined in our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. Your Linode needs to be in a functional state. These steps should be performed as `root` on your Linode, via an SSH session. {{< note >}} -This guide is intended for Linodes running on our KVM hypervisor. For older Xen Linodes, see [this](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/) guide. +This guide is intended for Linodes running on our KVM hypervisor. For older Xen Linodes, see [this](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub) guide. {{< /note >}} {{% content "all-linodes-kvm-shortguide" %}} diff --git a/docs/guides/tools-reference/file-transfer/comparing-data-transfer-utilities/index.md b/docs/guides/tools-reference/file-transfer/comparing-data-transfer-utilities/index.md index b9fbdd51d9e..46fa3677850 100644 --- a/docs/guides/tools-reference/file-transfer/comparing-data-transfer-utilities/index.md +++ b/docs/guides/tools-reference/file-transfer/comparing-data-transfer-utilities/index.md @@ -8,11 +8,11 @@ published: 2024-10-09 keywords: ['data transfer utility','data transfer','file transfer'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: -- '[Introduction to Rsync](/cloud/guides/introduction-to-rsync/)' -- '[Transfer Files With the scp Command on Linux](/cloud/guides/how-to-use-scp/)' -- '[Transfer Files with SFTP](/cloud/guides/sftp-linux/)' -- '[What Is FTP and How Does It Work?](/cloud/guides/what-is-ftp/)' -- '[Transfer Files with FileZilla](/cloud/guides/filezilla/)' +- '[Introduction to Rsync](/cloud/guides/introduction-to-rsync)' +- '[Transfer Files With the scp Command on Linux](/cloud/guides/how-to-use-scp)' +- '[Transfer Files with SFTP](/cloud/guides/sftp-linux)' +- '[What Is FTP and How Does It Work?](/cloud/guides/what-is-ftp)' +- '[Transfer Files with FileZilla](/cloud/guides/filezilla)' --- Technology professionals and end users rely on a myriad of utilities for moving data between locations. This guide discusses several of these data transfer protocols and utilities: @@ -107,7 +107,7 @@ SFTP works like traditional FTP, but over an encrypted, secure connection. SFTP SFTP can be used to transfer files without requiring shell access to the user on the remote host (by using the [ForceCommand SSH config parameter](https://man7.org/linux/man-pages/man5/sshd_config.5.html)). In other words, a user on the remote host can be configured that has no shell access while still accepting file transfers. This can be relevant because limiting shell access is an important tool for securing a server. If a user has shell access, then if it is compromised, an attacker can run any permitted command for the user. By comparison, [SFTP has a narrower range of commands](https://man7.org/linux/man-pages/man1/sftp.1.html#INTERACTIVE_COMMANDS) that can be executed. -SFTP can be further secured by creating an [SFTP *jail*](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/), which limits which directory can be accessed on the remote server. +SFTP can be further secured by creating an [SFTP *jail*](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu), which limits which directory can be accessed on the remote server. ### FTP/SFTP Clients diff --git a/docs/guides/tools-reference/file-transfer/filezilla/index.md b/docs/guides/tools-reference/file-transfer/filezilla/index.md index 2069f626234..1441d74f880 100644 --- a/docs/guides/tools-reference/file-transfer/filezilla/index.md +++ b/docs/guides/tools-reference/file-transfer/filezilla/index.md @@ -20,7 +20,7 @@ external_resources: ## Before You Begin -- You will need root access to your Linode, or a user account with `sudo` privilege. Note that if you transfer files as `root`, you may need to change file [ownership and permissions](/cloud/guides/linux-users-and-groups/) afterwards. +- You will need root access to your Linode, or a user account with `sudo` privilege. Note that if you transfer files as `root`, you may need to change file [ownership and permissions](/cloud/guides/linux-users-and-groups) afterwards. - Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). - Update your system. @@ -57,7 +57,7 @@ If you followed our [Securing Your Server](https://techdocs.akamai.com/cloud-com If you are using macOS, the passphrase for your key will need to be stored in your keychain to successfully connect using an SSH keypair. FileZilla will not be able to use a key that was generated without a passphrase to connect to your Linode. {{< /note >}} -If you are using Windows, you'll need to follow a few additional steps to enable key based authentication. The instructions below assume that you have already completed the guide for [generating your SSH key with Putty](/cloud/guides/use-public-key-authentication-with-ssh/#public-key-authentication-with-putty-on-windows). +If you are using Windows, you'll need to follow a few additional steps to enable key based authentication. The instructions below assume that you have already completed the guide for [generating your SSH key with Putty](/cloud/guides/use-public-key-authentication-with-ssh#public-key-authentication-with-putty-on-windows). 1. Install Pageant from the [Putty site](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) diff --git a/docs/guides/tools-reference/file-transfer/how-to-use-scp/index.md b/docs/guides/tools-reference/file-transfer/how-to-use-scp/index.md index 87e98f0b9de..c355b7e4b6a 100644 --- a/docs/guides/tools-reference/file-transfer/how-to-use-scp/index.md +++ b/docs/guides/tools-reference/file-transfer/how-to-use-scp/index.md @@ -77,7 +77,7 @@ Both SCP and the SSH File Transfer Protocol (SFTP) are methods to more securely ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## SCP Basic Syntax @@ -110,7 +110,7 @@ The `scp` command permits users to choose from a list of options. The most commo - **-r**: Copy directories recursively. - **-v**: Print debug messages. -To use `scp`, the user must have read access for the files they are transferring and write permission on the destination directory. For authentication purposes, either an SSH key or user password is required for the destination. For more information on SSH, see our guide on [Connecting to a Remote Server Over SSH on Linux](/cloud/guides/connect-to-server-over-ssh-on-linux/). +To use `scp`, the user must have read access for the files they are transferring and write permission on the destination directory. For authentication purposes, either an SSH key or user password is required for the destination. For more information on SSH, see our guide on [Connecting to a Remote Server Over SSH on Linux](/cloud/guides/connect-to-server-over-ssh-on-linux). {{< note type="alert" >}} Exercise a high degree of caution when using `scp`. It does not provide any warnings or ask for confirmation before overwriting an existing file with the same name. It is very easy to accidentally overwrite files or directories, especially when using `scp` in recursive mode. diff --git a/docs/guides/tools-reference/file-transfer/introduction-to-rsync/index.md b/docs/guides/tools-reference/file-transfer/introduction-to-rsync/index.md index 9222d43bed3..512d7926537 100644 --- a/docs/guides/tools-reference/file-transfer/introduction-to-rsync/index.md +++ b/docs/guides/tools-reference/file-transfer/introduction-to-rsync/index.md @@ -15,7 +15,7 @@ external_resources: tags: ["linux"] --- -[Rsync](https://rsync.samba.org/) is a command line utility which synchronizes files and folders from one location to another. Some workflows that can be implemented using rsync are updating a production host from a development machine, or using a cron job to call rsync to regularly back up data to a storage location. You can even use rsync to [migrate your server to Linode](/cloud/guides/migrating-a-server-to-your-linode/) from other providers. +[Rsync](https://rsync.samba.org/) is a command line utility which synchronizes files and folders from one location to another. Some workflows that can be implemented using rsync are updating a production host from a development machine, or using a cron job to call rsync to regularly back up data to a storage location. You can even use rsync to [migrate your server to Linode](/cloud/guides/migrating-a-server-to-your-linode) from other providers. ![Introduction to rsync](rsync-title-graphic.jpg) diff --git a/docs/guides/tools-reference/file-transfer/sftp-linux/index.md b/docs/guides/tools-reference/file-transfer/sftp-linux/index.md index 98a715c7d23..0ae2201c9f2 100644 --- a/docs/guides/tools-reference/file-transfer/sftp-linux/index.md +++ b/docs/guides/tools-reference/file-transfer/sftp-linux/index.md @@ -59,7 +59,7 @@ In summary, SFTP is a good, all-purpose utility with more functionality than the 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Create an SFTP Connection @@ -104,7 +104,7 @@ Virtually all Linux distributions include SSH and SFTP as part of the default pa ### Open the SFTP Port -In some cases, the [UFW firewall](/cloud/guides/configure-firewall-with-ufw/) might not be configured to allow SFTP requests. To allow SFTP configurations, enable the `ssh` component. +In some cases, the [UFW firewall](/cloud/guides/configure-firewall-with-ufw) might not be configured to allow SFTP requests. To allow SFTP configurations, enable the `ssh` component. 1. Verify the current `ufw` settings to see whether `ssh` is allowed. If SFTP requests are allowed, port `22` is shown with an action of `ALLOW`. In this example, SFTP is not yet enabled. @@ -312,4 +312,4 @@ cd path Change remote directory to 'path' ## Use an SFTP GUI Client to Transfer Files -If you prefer to use a graphical user interface (GUI) to work with files remotely, there are several available options. FileZilla is a popular open source SFTP client that supports SFTP, FTPS, FTP, and IPv6. To learn how to install and use this tool, see our [Transfer Files with FileZilla](/cloud/guides/filezilla/) guide. \ No newline at end of file +If you prefer to use a graphical user interface (GUI) to work with files remotely, there are several available options. FileZilla is a popular open source SFTP client that supports SFTP, FTPS, FTP, and IPv6. To learn how to install and use this tool, see our [Transfer Files with FileZilla](/cloud/guides/filezilla) guide. \ No newline at end of file diff --git a/docs/guides/tools-reference/file-transfer/transfer-files-with-cyberduck-on-mac-os-x/index.md b/docs/guides/tools-reference/file-transfer/transfer-files-with-cyberduck-on-mac-os-x/index.md index 6b1d8d49db1..97c898efba4 100644 --- a/docs/guides/tools-reference/file-transfer/transfer-files-with-cyberduck-on-mac-os-x/index.md +++ b/docs/guides/tools-reference/file-transfer/transfer-files-with-cyberduck-on-mac-os-x/index.md @@ -14,7 +14,7 @@ deprecated: true Cyberduck is a free, open source file transfer program written for Mac OS X. It implements several file transfer protocols, most notably SFTP via SSH. This tool allows you to securely transfer files to and from your Linode using an encrypted channel, avoiding the security problems and usability issues inherent in traditional FTP client/server systems. Cyberduck can send both your login credentials and file transfers over the network securely encrypted (provided you're using SFTP), while standard FTP clients send this information as plaintext. -You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. If you wish, you may use the `root` account on your Linode to perform file transfers, although you may need to change [file ownership and permissions](/cloud/guides/linux-users-and-groups/) on the server after doing so. +You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. If you wish, you may use the `root` account on your Linode to perform file transfers, although you may need to change [file ownership and permissions](/cloud/guides/linux-users-and-groups) on the server after doing so. ## Obtaining and Installing Cyberduck @@ -86,7 +86,7 @@ This allows you to maintain connection information for multiple servers or user You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Cyberduck User Forums](http://forums.cocoaforge.com/viewforum.php?f=9) -- [Tools & Resources](/cloud/guides/tools-reference/) +- [Tools & Resources](/cloud/guides/tools-reference) diff --git a/docs/guides/tools-reference/file-transfer/transfer-files-with-filezilla-on-ubuntu-9-10-desktop/index.md b/docs/guides/tools-reference/file-transfer/transfer-files-with-filezilla-on-ubuntu-9-10-desktop/index.md index 217e651c5b1..5c193b689de 100644 --- a/docs/guides/tools-reference/file-transfer/transfer-files-with-filezilla-on-ubuntu-9-10-desktop/index.md +++ b/docs/guides/tools-reference/file-transfer/transfer-files-with-filezilla-on-ubuntu-9-10-desktop/index.md @@ -15,7 +15,7 @@ deprecated: true Filezilla is a free, open source file transfer program written for Linux, Mac OS X, and Windows systems. It implements several file transfer protocols, most notably SFTP via SSH. This tool allows you to securely transfer files to and from your Linode using an encrypted channel, avoiding the security problems and usability issues inherent in traditional FTP client/server systems. Filezilla can send both your login credentials and file transfers over the network securely encrypted (provided you're using SFTP), while standard FTP clients send this information as plaintext. -You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. If you wish, you may use the `root` account on your Linode to perform file transfers, although you may need to change [file ownership and permissions](/cloud/guides/linux-users-and-groups/) on the server after doing so. +You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. If you wish, you may use the `root` account on your Linode to perform file transfers, although you may need to change [file ownership and permissions](/cloud/guides/linux-users-and-groups) on the server after doing so. ## Installing Filezilla @@ -81,7 +81,7 @@ If you're asked for a password, please double-check the preceding steps in this You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Filezilla Documentation](http://wiki.filezilla-project.org/Documentation) -- [Tools & Resources](/cloud/guides/tools-reference/) +- [Tools & Resources](/cloud/guides/tools-reference) diff --git a/docs/guides/tools-reference/file-transfer/transfer-files-with-winscp-on-windows/index.md b/docs/guides/tools-reference/file-transfer/transfer-files-with-winscp-on-windows/index.md index 8e2e1b344cd..215e3a7cf61 100644 --- a/docs/guides/tools-reference/file-transfer/transfer-files-with-winscp-on-windows/index.md +++ b/docs/guides/tools-reference/file-transfer/transfer-files-with-winscp-on-windows/index.md @@ -14,7 +14,7 @@ deprecated: true WinSCP is a free, open source file transfer program written for Microsoft Windows. It implements several file transfer protocols, most notably SFTP via SSH. This tool allows you to securely transfer files to and from your Linode using an encrypted channel, avoiding the security problems and usability issues inherent in traditional FTP client/server systems. WinSCP sends both your login credentials and file transfers over the network securely encrypted, while standard FTP clients send this information as plaintext. -You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. You may wish to verify that you can log into your Linode via SSH using a tool like the [PuTTY SSH client](/cloud/guides/connect-to-server-over-ssh-using-putty/) before continuing. +You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. You may wish to verify that you can log into your Linode via SSH using a tool like the [PuTTY SSH client](/cloud/guides/connect-to-server-over-ssh-using-putty) before continuing. ![Transfer Files with WinSCP on Windows](transfer_files_with_winscp_on_windows_smg.png) @@ -46,7 +46,7 @@ Once launched, you'll be presented with a screen similar to the following: Enter your Linode's fully qualified hostname or IP address in the "Host name" field. Unless you've modified your system to run your SSH server on a non-standard port, leave "Port number" as the default (port 22). Enter your Linux username and password in the next two fields. Click "Login" to begin your session. -You'll need to specify account credentials that have access to the filesystem location you'd like to transfer files to and/or from on your Linode; in this case, we've specified the "root" user, which has administrative access to the system. It's advisable to create separate user accounts on your system in lieu of using "root" for common tasks; you can learn more about Linux/UNIX users and groups in our [users and groups tutorial](/cloud/guides/linux-users-and-groups/). +You'll need to specify account credentials that have access to the filesystem location you'd like to transfer files to and/or from on your Linode; in this case, we've specified the "root" user, which has administrative access to the system. It's advisable to create separate user accounts on your system in lieu of using "root" for common tasks; you can learn more about Linux/UNIX users and groups in our [users and groups tutorial](/cloud/guides/linux-users-and-groups). If you haven't previously logged into your Linode from this workstation with WinSCP, you'll be presented with a warning dialog similar to the following: @@ -69,7 +69,7 @@ You can navigate your local filesystem in the left view pane, while your Linode' You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [WinSCP Documentation](http://winscp.net/eng/docs/start) -- [Tools & Resources](/cloud/guides/tools-reference/) +- [Tools & Resources](/cloud/guides/tools-reference) diff --git a/docs/guides/tools-reference/file-transfer/vsftpd-on-ubuntu-2004-installation-and-configuration/index.md b/docs/guides/tools-reference/file-transfer/vsftpd-on-ubuntu-2004-installation-and-configuration/index.md index a0e6be1b607..8cc1673ee87 100644 --- a/docs/guides/tools-reference/file-transfer/vsftpd-on-ubuntu-2004-installation-and-configuration/index.md +++ b/docs/guides/tools-reference/file-transfer/vsftpd-on-ubuntu-2004-installation-and-configuration/index.md @@ -36,7 +36,7 @@ This guide demonstrates: This guide assumes that you have access to a server running Ubuntu 20.04 that you can install the FTP server on and upload files to. To create a server on Linode, follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. Be sure to [add a limited Linux user](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to issue the commands in this guide from. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## VSFTPD Installation Steps @@ -266,7 +266,7 @@ testfile.txt testfile2.txt ## Connect to Your Server using VSFTPD -This section shows how to allow connections from remote clients to VSFTPD by configuring the [UFW](/cloud/guides/configure-firewall-with-ufw/) firewall. The UFW firewall was installed as part of the [VSFTPD Installation Steps](#vsftpd-installation-steps) section. +This section shows how to allow connections from remote clients to VSFTPD by configuring the [UFW](/cloud/guides/configure-firewall-with-ufw) firewall. The UFW firewall was installed as part of the [VSFTPD Installation Steps](#vsftpd-installation-steps) section. 1. Before enabling VSFTPD connections, make sure SSH connections are also allowed: diff --git a/docs/guides/tools-reference/linux-package-management/apt-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/apt-package-manager/index.md index ffecdda64f7..f0fc25de064 100644 --- a/docs/guides/tools-reference/linux-package-management/apt-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/apt-package-manager/index.md @@ -26,10 +26,10 @@ Before running the commands within this guide, you will need: 1. **A system running on Debian or Ubuntu.** Other Linux distributions that employ the APT package manager can also be used. Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## What's the difference between `apt` and `apt-get`/`apt-cache`? @@ -139,11 +139,11 @@ The `apt list` command lists all available, installed, or upgradeable packages. Additional options, commands, and notes: -- Use [grep](/cloud/guides/how-to-use-grep/) to quickly search through the list for specific package names or other strings. Replace *[string]* with the package name or other term you wish to search for. +- Use [grep](/cloud/guides/how-to-use-grep) to quickly search through the list for specific package names or other strings. Replace *[string]* with the package name or other term you wish to search for. apt list --installed | grep [string] -- Use a content viewer like [less](/cloud/guides/how-to-use-less/) to interact with the output, which may help you view or search for your desired information. +- Use a content viewer like [less](/cloud/guides/how-to-use-less) to interact with the output, which may help you view or search for your desired information. apt list --installed | less @@ -207,7 +207,7 @@ If you wish to replicate the currently installed packages to another system with This command creates a new file using the name provided in the last step and appending `.apt-clone.tar.gz`. -1. Copy the file to your new system. See the [Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance/) guide or the [File Transfer](/cloud/guides/tools-reference/file-transfer/) section for more information. +1. Copy the file to your new system. See the [Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance) guide or the [File Transfer](/cloud/guides/tools-reference/file-transfer) section for more information. 1. Install apt-clone on the new system (see Step 1). diff --git a/docs/guides/tools-reference/linux-package-management/dnf-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/dnf-package-manager/index.md index 1393503eb9f..3114a199967 100644 --- a/docs/guides/tools-reference/linux-package-management/dnf-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/dnf-package-manager/index.md @@ -35,10 +35,10 @@ Before running the commands within this guide, you will need: 1. **A system running on CentOS/RHEL 8, AlmaLinux 8, Rocky Linux 8, Fedora 22, or later versions of these distributions.** Other Linux distributions that employ the DNF package manager can also be used. Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Upgrade Packages @@ -123,7 +123,7 @@ DNF provides numerous options in common between many of its commands. The exampl sudo dnf list recent - - You can also give the name of a package along with the `--showduplicates` flag. This gives a list of available versions of the package. You can see a version of this command used in the [Useful Options](/cloud/guides/dnf-package-manager/#useful-options) section above. The example below shows all of the versions of Git available in DNF's repositories: + - You can also give the name of a package along with the `--showduplicates` flag. This gives a list of available versions of the package. You can see a version of this command used in the [Useful Options](/cloud/guides/dnf-package-manager#useful-options) section above. The example below shows all of the versions of Git available in DNF's repositories: sudo dnf list git --showduplicates diff --git a/docs/guides/tools-reference/linux-package-management/linux-package-management-overview/index.md b/docs/guides/tools-reference/linux-package-management/linux-package-management-overview/index.md index fbf398a2332..92fdbc10350 100644 --- a/docs/guides/tools-reference/linux-package-management/linux-package-management-overview/index.md +++ b/docs/guides/tools-reference/linux-package-management/linux-package-management-overview/index.md @@ -50,7 +50,7 @@ There are lots of package managers in Linux, each working a bit differently. Her ### APT -[Using APT to Manage Packages in Debian and Ubuntu](/cloud/guides/apt-package-manager/) +[Using APT to Manage Packages in Debian and Ubuntu](/cloud/guides/apt-package-manager) - **Distributions:** Ubuntu, Debian, and Kali Linux - **Commands:** `apt`, `apt-get`, `apt-cache` @@ -61,7 +61,7 @@ There are lots of package managers in Linux, each working a bit differently. Her ### DNF -[Using DNF to Manage Packages in CentOS/RHEL 8 and Fedora](/cloud/guides/dnf-package-manager/) +[Using DNF to Manage Packages in CentOS/RHEL 8 and Fedora](/cloud/guides/dnf-package-manager) - **Distributions:** RHEL/CentOS 8, Fedora 22, and later versions of both distributions - **Commands:** `dnf`, `yum` @@ -72,7 +72,7 @@ There are lots of package managers in Linux, each working a bit differently. Her ### YUM -[Using YUM to Manage Packages in CentOS/RHEL 7 and Earlier](/cloud/guides/yum-package-manager/) +[Using YUM to Manage Packages in CentOS/RHEL 7 and Earlier](/cloud/guides/yum-package-manager) - **Distributions:** RHEL/CentOS 7, Fedora 21, and earlier versions of both distributions - **Command:** `yum` @@ -83,7 +83,7 @@ There are lots of package managers in Linux, each working a bit differently. Her ### Zypper -[Use Zypper to Manage Packages in openSUSE](/cloud/guides/zypper-package-manager/) +[Use Zypper to Manage Packages in openSUSE](/cloud/guides/zypper-package-manager) - **Distributions:** openSUSE - **Command:** `zypper` @@ -94,7 +94,7 @@ There are lots of package managers in Linux, each working a bit differently. Her ### Pacman -[Using Pacman to Manage Packages in Arch](/cloud/guides/pacman-package-manager/) +[Using Pacman to Manage Packages in Arch](/cloud/guides/pacman-package-manager) - **Distributions:** Arch-based, including Arch and Manjaro - **Command:** `pacman` @@ -104,7 +104,7 @@ Arch Linux and other similar distributions (like the popular Manjaro desktop dis ### Portage -[Using Portage to Manage Packages in Gentoo](/cloud/guides/portage-package-manager/) +[Using Portage to Manage Packages in Gentoo](/cloud/guides/portage-package-manager) - **Distributions:** Gentoo - **Command:** `emerge` @@ -114,7 +114,7 @@ Arch Linux and other similar distributions (like the popular Manjaro desktop dis ### Slackware Package Management -[Managing Packages in Slackware](/cloud/guides/slackware-package-management/) +[Managing Packages in Slackware](/cloud/guides/slackware-package-management) - **Distributions:** Slackware - **Commands:** `slackpkg`, `pkgtool`, `installpkg`, `upgradepkg`, `removepkg` diff --git a/docs/guides/tools-reference/linux-package-management/pacman-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/pacman-package-manager/index.md index 86156be5d08..dc160cf84a8 100644 --- a/docs/guides/tools-reference/linux-package-management/pacman-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/pacman-package-manager/index.md @@ -20,10 +20,10 @@ Before running the commands within this guide, you will need: 1. **A system running Arch Linux** or an Arch-based distribution like Manjaro. Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Pacman diff --git a/docs/guides/tools-reference/linux-package-management/portage-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/portage-package-manager/index.md index 7debdc5d11d..0b15a62d7cf 100644 --- a/docs/guides/tools-reference/linux-package-management/portage-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/portage-package-manager/index.md @@ -26,10 +26,10 @@ Before running the commands within this guide, you will need: 1. **A system running Gentoo.** Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Emerge/Portage Commands diff --git a/docs/guides/tools-reference/linux-package-management/slackware-package-management/index.md b/docs/guides/tools-reference/linux-package-management/slackware-package-management/index.md index 05b4c032f79..3d5660d2005 100644 --- a/docs/guides/tools-reference/linux-package-management/slackware-package-management/index.md +++ b/docs/guides/tools-reference/linux-package-management/slackware-package-management/index.md @@ -24,10 +24,10 @@ Before running the commands within this guide, you will need: 1. **A system running Slackware.** Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Working With Packages Locally diff --git a/docs/guides/tools-reference/linux-package-management/yum-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/yum-package-manager/index.md index 8c1ac32c46c..d0638c896a2 100644 --- a/docs/guides/tools-reference/linux-package-management/yum-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/yum-package-manager/index.md @@ -16,7 +16,7 @@ external_resources: - '[YUM Package Manager](http://yum.baseurl.org/)' --- -*Yellowdog Updater, Modified*, more commonly known as **YUM**, is a package management tool for a variety of Linux distributions. It provides an easy-to-use interface on top of the low-level functions available in the RPM Package Manger (RPM). YUM is the default package manager for CentOS 7 as well as older versions of RHEL and Fedora. It has largely been replaced by it successor *Dandified YUM*, also called **DNF**, on most newer RPM-based distributions, including CentOS 8, RHEL 8, and Fedora 22 (and later). If you are interested in learning about the DNF package manager, see the [Using the DNF Package Manager](/cloud/guides/dnf-package-manager/) guide. +*Yellowdog Updater, Modified*, more commonly known as **YUM**, is a package management tool for a variety of Linux distributions. It provides an easy-to-use interface on top of the low-level functions available in the RPM Package Manger (RPM). YUM is the default package manager for CentOS 7 as well as older versions of RHEL and Fedora. It has largely been replaced by it successor *Dandified YUM*, also called **DNF**, on most newer RPM-based distributions, including CentOS 8, RHEL 8, and Fedora 22 (and later). If you are interested in learning about the DNF package manager, see the [Using the DNF Package Manager](/cloud/guides/dnf-package-manager) guide. This guide aims to familiarize you with the YUM commands you are most likely to encounter. By the end, you should feel comfortable navigating YUM in all but its more advanced features. And for those, you can find some helpful resources at the end of this guide. @@ -26,10 +26,10 @@ Before running the commands within this guide, you will need: 1. **A system running on CentOS/RHEL 7, Fedora 21, or earlier versions of either distribution.** Other Linux distributions that employ the YUM package manager can also be used. Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Upgrading Packages @@ -98,7 +98,7 @@ YUM provides numerous options in common between many of its commands. The exampl sudo yum list - YUM's `list` command provides some additional options to list more specific groups of packages. Here are three useful examples. You can find another example in the [Useful Options](/cloud/guides/yum-package-manager/#useful-options) section above. + YUM's `list` command provides some additional options to list more specific groups of packages. Here are three useful examples. You can find another example in the [Useful Options](/cloud/guides/yum-package-manager#useful-options) section above. The `available` option lists all of the packages that can be installed on your system through YUM's repositories: diff --git a/docs/guides/tools-reference/linux-package-management/zypper-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/zypper-package-manager/index.md index 525260d4546..d82a2b855cb 100644 --- a/docs/guides/tools-reference/linux-package-management/zypper-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/zypper-package-manager/index.md @@ -23,10 +23,10 @@ Before running the commands within this guide, you need: 1. **A system running on openSUSE.** Other Linux distributions that employ the Zypper package manager can also be used. Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance with creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance with creating and securing a standard user account. {{< note >}} - Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root user (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. + Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root user (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Install Packages @@ -37,7 +37,7 @@ Zypper's `install` command installs or updates a given package along with the pa sudo zypper install php8 ``` -Zypper can also specify a particular version of a package. Take a look further at the section on [viewing package information](/cloud/guides/zypper-package-manager/#view-information-about-packages) for a method to get a list of available versions for a given package. +Zypper can also specify a particular version of a package. Take a look further at the section on [viewing package information](/cloud/guides/zypper-package-manager#view-information-about-packages) for a method to get a list of available versions for a given package. Once you have a specific version, append it after the package name using a comparison operator. The simplest form of this is using the `=` operator to specify the exact version. @@ -227,7 +227,7 @@ S | Name | Type | Version | Arch | Rep ## Update Package Repositories -Zypper does not usually require you to manually refresh repository metadata. This contrasts with some other package managers, like [APT](/cloud/guides/apt-package-manager/), that require manual repository refreshes. +Zypper does not usually require you to manually refresh repository metadata. This contrasts with some other package managers, like [APT](/cloud/guides/apt-package-manager), that require manual repository refreshes. Zypper accomplishes this with its *auto refresh* feature. This feature is enabled on all of the default repositories, and it ensures that the repositories are automatically refreshed whenever necessary. diff --git a/docs/guides/tools-reference/tools/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/index.md b/docs/guides/tools-reference/tools/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/index.md index e73efd09345..17fb500f37b 100644 --- a/docs/guides/tools-reference/tools/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/index.md +++ b/docs/guides/tools-reference/tools/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/index.md @@ -18,7 +18,7 @@ tags: ["linux"] `tar` and `gzip` provide a standard interface for creating archives and compressing files on Linux systems. Together, these utilities take a large number of files, save them together in an archive (i.e. as a single file), and compress the archive to save space. However, tar and gzip provide a multitude of features and options that can lead to hard-to-read commands and make even the simplest operations confusing. -This document provides an overview of `tar` and `gzip` usage, accompanied by a number of practical applications of these utilities. If you find this guide helpful, please consider our guide to [basic administration practices](/cloud/guides/linux-system-administration-basics/) or the rest of the [Tools & Reference](/cloud/guides/tools-reference/) series. +This document provides an overview of `tar` and `gzip` usage, accompanied by a number of practical applications of these utilities. If you find this guide helpful, please consider our guide to [basic administration practices](/cloud/guides/linux-system-administration-basics) or the rest of the [Tools & Reference](/cloud/guides/tools-reference) series. ![Archiving and Compressing files with GNU Tar and GNU Zip](archiving_and_compressing_files_with_gnu_tar_and_gnu_zip_smg.png) diff --git a/docs/guides/tools-reference/tools/curl-for-rest-api/index.md b/docs/guides/tools-reference/tools/curl-for-rest-api/index.md index 991728f5570..5ec366ec6d1 100644 --- a/docs/guides/tools-reference/tools/curl-for-rest-api/index.md +++ b/docs/guides/tools-reference/tools/curl-for-rest-api/index.md @@ -156,7 +156,7 @@ Some of the similarities and differences between `curl` and `wget` are as follow - `curl` is bidirectional and can do transfers in parallel. - `curl` supports many more security measures, different releases of HTTP, and dual stack IPv4/Ipv6 transfers. -Either utility is fine for most simple HTTP requests and downloads. If you are familiar with only one of the tools and it is suitable for your requirements, continue to use it. However, `wget` is only a simple transfer utility. `curl` is a better all-purpose tool for heavy duty and professional use. See our guide [How to Use wget](/cloud/guides/how-to-use-wget/) to learn more about this pared-down alternative to curl. +Either utility is fine for most simple HTTP requests and downloads. If you are familiar with only one of the tools and it is suitable for your requirements, continue to use it. However, `wget` is only a simple transfer utility. `curl` is a better all-purpose tool for heavy duty and professional use. See our guide [How to Use wget](/cloud/guides/how-to-use-wget) to learn more about this pared-down alternative to curl. ## cURL Methods diff --git a/docs/guides/tools-reference/tools/duf-command-on-linux-installation/index.md b/docs/guides/tools-reference/tools/duf-command-on-linux-installation/index.md index f5a068cdd55..89f4a9a72ce 100644 --- a/docs/guides/tools-reference/tools/duf-command-on-linux-installation/index.md +++ b/docs/guides/tools-reference/tools/duf-command-on-linux-installation/index.md @@ -20,16 +20,16 @@ Duf is a command-line tool for viewing your system's disk usage and free space. 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is duf? [duf](https://github.com/muesli/duf) gives you a single tool for checking disk usage and free space. By default, Linux systems provide the du and df tools for viewing disk usage and space, respectively, from the command line. Duf presents the same information as du and df and renders it in a modern and easy-to-read command-line display. -Where `du` and `df` give you limited control over how information is shown, duf gives you options for sorting, filtering, and otherwise altering the display. You can learn more about `du` and `df` in our [How to Check and Clean a Linux System's Disk Space](/cloud/guides/check-and-clean-linux-disk-space/) guide. +Where `du` and `df` give you limited control over how information is shown, duf gives you options for sorting, filtering, and otherwise altering the display. You can learn more about `du` and `df` in our [How to Check and Clean a Linux System's Disk Space](/cloud/guides/check-and-clean-linux-disk-space) guide. -In the following sections, you can see some examples of how duf compares to du and df. Specifically, take a look at the [How to Use duf](/cloud/guides/duf-command-on-linux-installation/#how-to-use-duf) section below to see side-by-side comparisons. +In the following sections, you can see some examples of how duf compares to du and df. Specifically, take a look at the [How to Use duf](/cloud/guides/duf-command-on-linux-installation#how-to-use-duf) section below to see side-by-side comparisons. ## How to Install duf diff --git a/docs/guides/tools-reference/tools/dust-command-on-linux-installation/index.md b/docs/guides/tools-reference/tools/dust-command-on-linux-installation/index.md index 2b49a173416..941ce8b7725 100644 --- a/docs/guides/tools-reference/tools/dust-command-on-linux-installation/index.md +++ b/docs/guides/tools-reference/tools/dust-command-on-linux-installation/index.md @@ -65,7 +65,7 @@ A good strategy is to use dust to get a quick overview of the system's disk spac 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Dust @@ -76,7 +76,7 @@ There are three main ways of installing Dust. Either use the Cargo or Homebrew p The easiest way to install Dust is by using the Cargo utility. Cargo is the package manager for [*Rust*](https://www.rust-lang.org/), a popular high-performance programming language. If Rust is already installed on the system, then Cargo is installed too. If not, Cargo can be installed as a stand-alone application by using `apt`. -1. Ensure the system is fully updated using the instructions in the [Before You Begin](/cloud/guides/dust-command-on-linux-installation/#before-you-begin) section. Install Cargo using `apt`. +1. Ensure the system is fully updated using the instructions in the [Before You Begin](/cloud/guides/dust-command-on-linux-installation#before-you-begin) section. Install Cargo using `apt`. sudo apt install cargo diff --git a/docs/guides/tools-reference/tools/find-files-in-linux-using-the-command-line/index.md b/docs/guides/tools-reference/tools/find-files-in-linux-using-the-command-line/index.md index 76dfa7442c6..4d0f12e8f13 100644 --- a/docs/guides/tools-reference/tools/find-files-in-linux-using-the-command-line/index.md +++ b/docs/guides/tools-reference/tools/find-files-in-linux-using-the-command-line/index.md @@ -82,7 +82,7 @@ The first command returns a list of all files in the entire file system that end ## Use `grep` to Find a File in Linux Based on Content -The `find` command can only filter the directory hierarchy based on a file's name and metadata. If you need to search based on the file's content, use a tool like [`grep`](/cloud/guides/how-to-use-grep-command/). Consider the following example: +The `find` command can only filter the directory hierarchy based on a file's name and metadata. If you need to search based on the file's content, use a tool like [`grep`](/cloud/guides/how-to-use-grep-command). Consider the following example: find . -type f -exec grep "example" '{}' \; -print diff --git a/docs/guides/tools-reference/tools/how-to-administer-server-with-cockpit/index.md b/docs/guides/tools-reference/tools/how-to-administer-server-with-cockpit/index.md index e4a3c8550df..21fb048ad57 100644 --- a/docs/guides/tools-reference/tools/how-to-administer-server-with-cockpit/index.md +++ b/docs/guides/tools-reference/tools/how-to-administer-server-with-cockpit/index.md @@ -62,7 +62,7 @@ Other tools including Ansible, Strapi, and Portainer serve complementary roles. 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Cockpit on Ubuntu 22.04 LTS diff --git a/docs/guides/tools-reference/tools/how-to-install-and-configure-supervisor-on-centos-8/index.md b/docs/guides/tools-reference/tools/how-to-install-and-configure-supervisor-on-centos-8/index.md index f7cc47dc9d2..00a8c1d4b58 100644 --- a/docs/guides/tools-reference/tools/how-to-install-and-configure-supervisor-on-centos-8/index.md +++ b/docs/guides/tools-reference/tools/how-to-install-and-configure-supervisor-on-centos-8/index.md @@ -41,10 +41,10 @@ This guide shows how to: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note respectIndent=false >}} -Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} -1. [Install Python 3.6 or newer](/cloud/guides/how-to-install-python-on-centos-8/). +1. [Install Python 3.6 or newer](/cloud/guides/how-to-install-python-on-centos-8). ## Set Up the Example App @@ -237,7 +237,7 @@ myappgroup:myapp STARTING {{< /output >}} {{< note respectIndent=false >}} -Optionally, you can install and use the [logrotate](/cloud/guides/use-logrotate-to-manage-log-files/) tool to manage the log files created by Supervisor. +Optionally, you can install and use the [logrotate](/cloud/guides/use-logrotate-to-manage-log-files) tool to manage the log files created by Supervisor. {{< /note >}} ### Other supervisorctl Actions diff --git a/docs/guides/tools-reference/tools/how-to-install-and-use-the-bat-command-on-linux/index.md b/docs/guides/tools-reference/tools/how-to-install-and-use-the-bat-command-on-linux/index.md index 9464abad034..5c170465c27 100644 --- a/docs/guides/tools-reference/tools/how-to-install-and-use-the-bat-command-on-linux/index.md +++ b/docs/guides/tools-reference/tools/how-to-install-and-use-the-bat-command-on-linux/index.md @@ -22,7 +22,7 @@ The `bat` command is a clone of the ubiquitous `cat` command. It modernizes `cat 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## bat vs. cat diff --git a/docs/guides/tools-reference/tools/how-to-install-midnight-commander/index.md b/docs/guides/tools-reference/tools/how-to-install-midnight-commander/index.md index e10727d491e..4e636e04817 100644 --- a/docs/guides/tools-reference/tools/how-to-install-midnight-commander/index.md +++ b/docs/guides/tools-reference/tools/how-to-install-midnight-commander/index.md @@ -25,7 +25,7 @@ A TUI facilitates interaction between users and their systems in a visually orie ## Before You Begin {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} The methods in this tutorial have been tested on Debian 9. There is no special requirement to install Midnight Commander, and it works on all Linux distributions. While this file manager should work in almost identically on all Linux distributions, a particular distro may not package the exact same Midnight Commander version (4.8.18, in this case). This may result in small behavioral differences on other operating systems. diff --git a/docs/guides/tools-reference/tools/how-to-install-streamlink-cli-on-ubuntu-macos/index.md b/docs/guides/tools-reference/tools/how-to-install-streamlink-cli-on-ubuntu-macos/index.md index 1526181a89e..757d08639ec 100644 --- a/docs/guides/tools-reference/tools/how-to-install-streamlink-cli-on-ubuntu-macos/index.md +++ b/docs/guides/tools-reference/tools/how-to-install-streamlink-cli-on-ubuntu-macos/index.md @@ -43,7 +43,7 @@ Start with the basic requirements to get Streamlink installed. 1. Confirm the installation with **Y** and wait for the download and package installation to complete. You’re now ready to start streaming on your Ubuntu or Debian desktop computer. The steps in the following section covers those details. {{< note respectIndent=false >}} -If you receive a `No playable streams found on this URL` error, install Streamlink using the [Python Package Installer (pip)](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/#what-is-pip): +If you receive a `No playable streams found on this URL` error, install Streamlink using the [Python Package Installer (pip)](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux#what-is-pip): Check the version of your system's `pip` installation by running the command below: diff --git a/docs/guides/tools-reference/tools/how-to-list-cron-jobs/index.md b/docs/guides/tools-reference/tools/how-to-list-cron-jobs/index.md index 6fe51cf624c..0d29d8f3305 100644 --- a/docs/guides/tools-reference/tools/how-to-list-cron-jobs/index.md +++ b/docs/guides/tools-reference/tools/how-to-list-cron-jobs/index.md @@ -30,7 +30,7 @@ The schedule for a cron job is specified using a formal syntax. The initial five There are a variety of methods used to display the cron jobs. Cron jobs can be listed on a per-user or per-application basis. It is also possible to list all jobs sharing a specific schedule. These instructions are designed for Ubuntu 22.04, but are valid for most recent releases of Ubuntu. The `cron` utility works similarly in other Linux distributions, but the names and locations of the files might differ. -For more information about creating cron jobs, see the Linode guides to [Scheduling Cron Jobs](/cloud/guides/schedule-tasks-with-cron/) and [Running Cron Jobs at Boot](/cloud/guides/run-jobs-or-scripts-using-crontab-on-boot/). On Ubuntu systems, use the `man crontab` command to view user information. +For more information about creating cron jobs, see the Linode guides to [Scheduling Cron Jobs](/cloud/guides/schedule-tasks-with-cron) and [Running Cron Jobs at Boot](/cloud/guides/run-jobs-or-scripts-using-crontab-on-boot). On Ubuntu systems, use the `man crontab` command to view user information. ## Before You Begin @@ -39,7 +39,7 @@ For more information about creating cron jobs, see the Linode guides to [Schedul 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Listing Active Cron Jobs diff --git a/docs/guides/tools-reference/tools/how-to-use-ack-command/index.md b/docs/guides/tools-reference/tools/how-to-use-ack-command/index.md index ca2f2ea6abc..4d7b0985dd8 100644 --- a/docs/guides/tools-reference/tools/how-to-use-ack-command/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-ack-command/index.md @@ -41,7 +41,7 @@ This guide helps introduce you to *ack* and everything it has to offer. It cover ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## ack vs grep: Which One to Use? @@ -224,7 +224,7 @@ rails/db/seeds.rb *ack* uses the Perl implementation of regular expression syntax, also known as *Perlre*. The full reference for this regex syntax can be found in the [official Perldoc documentation](https://perldoc.perl.org/perlre). -However, that reference can be daunting, especially when starting out with regex. You may, instead, find the coverage of regex filters in our [How to Filter Data Using AWK RegEx](/cloud/guides/filter-data-using-awk-regex/) more helpful to start with. The guide does not specifically address Perl regex. Nonetheless, it provides useful examples and breakdowns to help you get a footing with regex's usage and capabilities generally. +However, that reference can be daunting, especially when starting out with regex. You may, instead, find the coverage of regex filters in our [How to Filter Data Using AWK RegEx](/cloud/guides/filter-data-using-awk-regex) more helpful to start with. The guide does not specifically address Perl regex. Nonetheless, it provides useful examples and breakdowns to help you get a footing with regex's usage and capabilities generally. #### Count Matches per File diff --git a/docs/guides/tools-reference/tools/how-to-use-fzf/index.md b/docs/guides/tools-reference/tools/how-to-use-fzf/index.md index 8f693c29a73..33abf2d1505 100644 --- a/docs/guides/tools-reference/tools/how-to-use-fzf/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-fzf/index.md @@ -38,7 +38,7 @@ Learn more about `fzf` in this guide, including how to install and get started u sudo yum update {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is fzf? @@ -79,7 +79,7 @@ You have two options when it comes to installing `fzf`. The main option provides curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - If you're using NeoVim, refer to our [How to Install NeoVim and Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug/#install-the-vim-plug-plugin-manager) guide instead. + If you're using NeoVim, refer to our [How to Install NeoVim and Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug#install-the-vim-plug-plugin-manager) guide instead. 1. Add the `Plug` line for `fzf`, as shown below, to the plugin section of your `.vimrc` (or `init.vim`, if you're using NeoVim): @@ -202,13 +202,13 @@ let g:fzf_colors = ## Examples of Other fzf Integrations -`fzf` integrates relatively easily with other tools since it's designed to work well with other commands through piping. For instance, here is an example that integrates with [ripgrep](/cloud/guides/ripgrep-linux-installation/), providing interactive navigation of the results: +`fzf` integrates relatively easily with other tools since it's designed to work well with other commands through piping. For instance, here is an example that integrates with [ripgrep](/cloud/guides/ripgrep-linux-installation), providing interactive navigation of the results: rg test | fzf In the above, `ripgrep` finds all files containing matches for the `test` search pattern in the current directory and pipes the resulting list to `fzf` for you to view. -And here is a more advanced example, integrating `fzf` with both [The Silver Searcher](/cloud/guides/silver-searcher-on-linux/) and [bat](/cloud/guides/how-to-install-and-use-the-bat-command-on-linux/): +And here is a more advanced example, integrating `fzf` with both [The Silver Searcher](/cloud/guides/silver-searcher-on-linux) and [bat](/cloud/guides/how-to-install-and-use-the-bat-command-on-linux): ag --count test | fzf --preview "echo {} | cut -d: -f1 | xargs bat --style=numbers --color=always --line-range :100" @@ -222,7 +222,7 @@ To explain what's happening from the command above: As you can see, `fzf` provides you with unlimited possibilities for combinations with other command-line tools. You can learn more about any of the above tools by searching for our guides on them using the search bar at the top of this page. -Additionally, the `zoxide` tool, a fast and intuitive alternative to `cd`, directly integrates with `fzf` to give you an interactive directory selection. Read our guide on [How to Install and Use zoxide](/cloud/guides/how-to-use-zoxide/) to learn more. +Additionally, the `zoxide` tool, a fast and intuitive alternative to `cd`, directly integrates with `fzf` to give you an interactive directory selection. Read our guide on [How to Install and Use zoxide](/cloud/guides/how-to-use-zoxide) to learn more. ## Conclusion diff --git a/docs/guides/tools-reference/tools/how-to-use-glances-system-monitoring/index.md b/docs/guides/tools-reference/tools/how-to-use-glances-system-monitoring/index.md index 6f9572c9aaf..84bf139343f 100644 --- a/docs/guides/tools-reference/tools/how-to-use-glances-system-monitoring/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-glances-system-monitoring/index.md @@ -24,14 +24,14 @@ In this guide, learn how to install and get started with the Glances system moni 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} # What is the Glances System Monitoring Tool? Glances gives you an extensive dashboard for monitoring your system, with the goal of giving you everything you need at a single glance. -It follows on the precedent set by system monitoring tools like `htop` and more recent iterations like `gtop` and `bottom`. You can learn more about these last two in our guides [How to Install and Use gtop on Linux](/cloud/guides/installing-and-using-gtop-on-linux/) and [How to Install and Use bottom on Linux](/cloud/guides/installing-and-using-bottom-on-linux/), respectively. +It follows on the precedent set by system monitoring tools like `htop` and more recent iterations like `gtop` and `bottom`. You can learn more about these last two in our guides [How to Install and Use gtop on Linux](/cloud/guides/installing-and-using-gtop-on-linux) and [How to Install and Use bottom on Linux](/cloud/guides/installing-and-using-bottom-on-linux), respectively. Glances sets itself apart primarily in two ways. @@ -43,7 +43,7 @@ These features make Glances ideal for monitoring your system remotely and having ## How to Install Glances -1. Install Python 3 (if it isn't already installed), along with the [Pip package manager](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/#what-is-pip), and the Python developer package. +1. Install Python 3 (if it isn't already installed), along with the [Pip package manager](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux#what-is-pip), and the Python developer package. - On **Debian** and **Ubuntu**, use: @@ -102,7 +102,7 @@ The next few sections walk you through some of these options, aiming to get you ### Basic Usage -You can open up the default glances view with the basic command alone. This includes any modules you've set up using the Glances configuration file, which you can learn more about in the [Example Configurations](/cloud/guides/how-to-use-glances-system-monitoring/#example-configurations) section below: +You can open up the default glances view with the basic command alone. This includes any modules you've set up using the Glances configuration file, which you can learn more about in the [Example Configurations](/cloud/guides/how-to-use-glances-system-monitoring#example-configurations) section below: glances @@ -138,9 +138,9 @@ Once you're in Glances, there are plenty of interactive commands you can use to - The **5** key toggles the top bar, which displays details about CPU, memory, and load. -- The **6** key toggles the GPU display mode. This only applies for systems with GPUs and with the appropriate module installed. See the [Installing Optional Modules](/cloud/guides/how-to-use-glances-system-monitoring/#installing-optional-modules) section above for more on this. +- The **6** key toggles the GPU display mode. This only applies for systems with GPUs and with the appropriate module installed. See the [Installing Optional Modules](/cloud/guides/how-to-use-glances-system-monitoring#installing-optional-modules) section above for more on this. -Glances also has a suite of command-line options, a few of which you can see in the next section ([Setting Up Clients and Servers](/cloud/guides/how-to-use-glances-system-monitoring/#setting-up-clients-and-servers)). The full list is available in the [official documentation](https://glances.readthedocs.io/en/latest/cmds.html#command-line-options). The list below aims to give you two of the other most useful kinds of command-line options for getting you started with Glances. +Glances also has a suite of command-line options, a few of which you can see in the next section ([Setting Up Clients and Servers](/cloud/guides/how-to-use-glances-system-monitoring#setting-up-clients-and-servers)). The full list is available in the [official documentation](https://glances.readthedocs.io/en/latest/cmds.html#command-line-options). The list below aims to give you two of the other most useful kinds of command-line options for getting you started with Glances. - You can use the `--enable-plugin` and `--disable-plugin` flags to enable and disable particular plugins. For example: @@ -158,12 +158,12 @@ Glances has the ability to be run as a server, which lets you access the dashboa Before running Glances as a server, you need to open the appropriate port on the server machine's firewall to allow remote access. The default port for Glances is **61209**, so the options below show how to open that port based on your Linux distribution. -- On **Debian** and **Ubuntu**, make sure you have UFW installed and enabled, which you can learn about in our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). Then, you can use the command below to open the port for Glances: +- On **Debian** and **Ubuntu**, make sure you have UFW installed and enabled, which you can learn about in our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). Then, you can use the command below to open the port for Glances: sudo ufw allow 61209 sudo ufw reload -- On **AlmaLinux**, **CentOS**, and **Fedora**, use the command below to open the port with FirewallD. You can read the [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) guide for more on this firewall tool: +- On **AlmaLinux**, **CentOS**, and **Fedora**, use the command below to open the port with FirewallD. You can read the [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos) guide for more on this firewall tool: sudo firewall-cmd --zone=public --add-port=61209/tcp --permanent sudo firewall-cmd --reload diff --git a/docs/guides/tools-reference/tools/how-to-use-gping-on-linux/index.md b/docs/guides/tools-reference/tools/how-to-use-gping-on-linux/index.md index b86866cccac..e1788d93c2d 100644 --- a/docs/guides/tools-reference/tools/how-to-use-gping-on-linux/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-gping-on-linux/index.md @@ -20,7 +20,7 @@ The gping tool takes the functionality of the ping tool and displays its data on 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is gping? @@ -136,7 +136,7 @@ As with hosts, you can pass gping multiple commands when using this option to se Since graphing command execution times is a bonus gping feature, it may not perform reliably for all kinds of commands. This is especially the case for commands that are more complicated. -If you are looking to measure a command's performances, consider using the hyperfine tool. Hyperfine is a tool for benchmarking command-line commands, with an emphasis on clearly rendering side-by-side comparisons. If you are interested, check out our guide on [getting started with hyperfine](/cloud/guides/installing-and-using-hyperfine-on-linux/). +If you are looking to measure a command's performances, consider using the hyperfine tool. Hyperfine is a tool for benchmarking command-line commands, with an emphasis on clearly rendering side-by-side comparisons. If you are interested, check out our guide on [getting started with hyperfine](/cloud/guides/installing-and-using-hyperfine-on-linux). ## Conclusion diff --git a/docs/guides/tools-reference/tools/how-to-use-nslookup-command/index.md b/docs/guides/tools-reference/tools/how-to-use-nslookup-command/index.md index 66c955fc17d..34b26ac01a4 100644 --- a/docs/guides/tools-reference/tools/how-to-use-nslookup-command/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-nslookup-command/index.md @@ -63,7 +63,7 @@ A DNS server maintains several different types of domain records, covering topic 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Use the nslookup Command diff --git a/docs/guides/tools-reference/tools/how-to-use-tcpdump-to-analyze-traffic/index.md b/docs/guides/tools-reference/tools/how-to-use-tcpdump-to-analyze-traffic/index.md index 3a84d1cd8a6..0fc4dad6e8b 100644 --- a/docs/guides/tools-reference/tools/how-to-use-tcpdump-to-analyze-traffic/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-tcpdump-to-analyze-traffic/index.md @@ -36,7 +36,7 @@ In this tutorial, learn how to get started sniffing network traffic with *tcpdum sudo dnf upgrade ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install tcpdump diff --git a/docs/guides/tools-reference/tools/how-to-use-zoxide/index.md b/docs/guides/tools-reference/tools/how-to-use-zoxide/index.md index 74577f368ca..60a78c44858 100644 --- a/docs/guides/tools-reference/tools/how-to-use-zoxide/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-zoxide/index.md @@ -37,7 +37,7 @@ Learn more about `zoxide` in this guide, including how to install and get starte sudo yum update {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is zoxide? @@ -138,4 +138,4 @@ If you have `fzf` installed, `zoxide` can use it to let you select from a list o ![zoxide uses fzf for interactive selection](zoxide-interactive-selection.png) -Take a look at the [Set Up fzf Integration](/cloud/guides/how-to-use-zoxide/#set-up-fzf-integration-optional) section above to learn how to install `fzf` if you don't have it already. +Take a look at the [Set Up fzf Integration](/cloud/guides/how-to-use-zoxide#set-up-fzf-integration-optional) section above to learn how to install `fzf` if you don't have it already. diff --git a/docs/guides/tools-reference/tools/install-and-use-ffmpeg-on-linux/index.md b/docs/guides/tools-reference/tools/install-and-use-ffmpeg-on-linux/index.md index 4c2c6cec001..7d326b3a37f 100644 --- a/docs/guides/tools-reference/tools/install-and-use-ffmpeg-on-linux/index.md +++ b/docs/guides/tools-reference/tools/install-and-use-ffmpeg-on-linux/index.md @@ -44,7 +44,7 @@ Some of the most popular FFmpeg features are as follows: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install FFmpeg diff --git a/docs/guides/tools-reference/tools/installing-and-using-bottom-on-linux/index.md b/docs/guides/tools-reference/tools/installing-and-using-bottom-on-linux/index.md index 050984b0c68..ea8d028b844 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-bottom-on-linux/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-bottom-on-linux/index.md @@ -25,7 +25,7 @@ This guide provides more information about bottom, including a comparison betwee 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is bottom? diff --git a/docs/guides/tools-reference/tools/installing-and-using-gtop-on-linux/index.md b/docs/guides/tools-reference/tools/installing-and-using-gtop-on-linux/index.md index 568278a517e..0ec161bce0a 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-gtop-on-linux/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-gtop-on-linux/index.md @@ -22,7 +22,7 @@ Gtop is a system monitoring dashboard for your terminal, with a rich graphical d 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is gtop? @@ -74,7 +74,7 @@ One advantage of gtop is that, despite its graphical display, it is a straight-f gtop -What follows is a breakdown of the parts, or widgets, of the gtop display. You can refer to the screenshots in the [What is gtop?](/cloud/guides/installing-and-using-gtop-on-linux/#what-is-gtop) section above to follow along. +What follows is a breakdown of the parts, or widgets, of the gtop display. You can refer to the screenshots in the [What is gtop?](/cloud/guides/installing-and-using-gtop-on-linux#what-is-gtop) section above to follow along. - **CPU History** displays a graph of CPU usage over the last minute. Each line on the graph represents one of your system's CPUs. In addition, the right side of the widget includes the current percentage usage for each CPU. - **Memory and Swap History** provides the same graphical information but for your system's memory, both physical and swap. @@ -89,4 +89,4 @@ Gtop is limited in its interactive options. You can navigate the **Processes** t For all its simplicity, gtop provides an effective at-a-glance summary of your system. Tools like top and htop focus on providing more comprehensive information about running processes — and, in the case of htop, more control of those processes. Gtop excels if you want to be able to quickly gather your system's current performance. -Do you like the graphical system monitoring of `gtop` but want more control and customization? You may want to check out bottom in that case, which takes the visual direction of gtop and gives you more control. Take a look at our guide [How to Install and Use bottom](/cloud/guides/installing-and-using-bottom-on-linux/) to learn more. +Do you like the graphical system monitoring of `gtop` but want more control and customization? You may want to check out bottom in that case, which takes the visual direction of gtop and gives you more control. Take a look at our guide [How to Install and Use bottom](/cloud/guides/installing-and-using-bottom-on-linux) to learn more. diff --git a/docs/guides/tools-reference/tools/installing-and-using-httpie-on-linux/index.md b/docs/guides/tools-reference/tools/installing-and-using-httpie-on-linux/index.md index 4a25e60de8f..664fd38d1b7 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-httpie-on-linux/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-httpie-on-linux/index.md @@ -20,7 +20,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is HTTPie? @@ -33,7 +33,7 @@ This section explores why you might choose to use HTTPie over cURL, especially s If you are looking to work with web APIs, especially RESTful APIs that use JSON data you should consider using HTTPie. Alternatively, consider cURL if you want an HTTP client that fits more general needs, since it comes with options to make it more adaptable. -You can learn more about curlie, a modern command-line HTTP client with the readability of HTTPie and the adaptability of cURL, from our [How to Install and Use the curlie Command on Linux](/cloud/guides/installing-and-using-the-curlie-command-on-linux/) guide. +You can learn more about curlie, a modern command-line HTTP client with the readability of HTTPie and the adaptability of cURL, from our [How to Install and Use the curlie Command on Linux](/cloud/guides/installing-and-using-the-curlie-command-on-linux) guide. ## How to Install HTTPie diff --git a/docs/guides/tools-reference/tools/installing-and-using-hyperfine-on-linux/index.md b/docs/guides/tools-reference/tools/installing-and-using-hyperfine-on-linux/index.md index a63765e1f3f..79a97ee6f71 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-hyperfine-on-linux/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-hyperfine-on-linux/index.md @@ -22,7 +22,7 @@ In this guide, you learn what hyperfine is and how it compares to other tools. T 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is hyperfine? diff --git a/docs/guides/tools-reference/tools/installing-and-using-the-broot-command/index.md b/docs/guides/tools-reference/tools/installing-and-using-the-broot-command/index.md index 7bd4363bd3d..3d1de942d6c 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-the-broot-command/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-the-broot-command/index.md @@ -19,7 +19,7 @@ The `broot` command provides a modern approach to generating directory trees on 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is broot? @@ -102,7 +102,7 @@ Here are some useful commands for exploring the file tree once you are in `broot ## How to Use broot Commands -`broot`, in addition to using assigned keyboard keys, has a dedicated command system. Typing a space or colon while the search field is blank starts a command entry, similar to the system in the [Vi text editor](/cloud/guides/what-is-vi/). Pressing **Enter** then executes the command. +`broot`, in addition to using assigned keyboard keys, has a dedicated command system. Typing a space or colon while the search field is blank starts a command entry, similar to the system in the [Vi text editor](/cloud/guides/what-is-vi). Pressing **Enter** then executes the command. One of the most useful commands available is the `exit` command. Typing `:q` and pressing **Enter** exits `broot`, putting you back in the shell in the same working directory where you started. diff --git a/docs/guides/tools-reference/tools/installing-and-using-the-curlie-command-on-linux/index.md b/docs/guides/tools-reference/tools/installing-and-using-the-curlie-command-on-linux/index.md index 3718b5568c0..07ec4ab207d 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-the-curlie-command-on-linux/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-the-curlie-command-on-linux/index.md @@ -11,7 +11,7 @@ tags: ['linux', 'ubuntu'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -[Curlie](https://github.com/rs/curlie) is a frontend to the ubiquitous command-line HTTP client cURL. With curlie, you get all of the features and versatility of cURL with a modern and user-friendly interface similar to the HTTP client, [HTTPie](/cloud/guides/installing-and-using-httpie-on-linux/). In this guide, you learn about the benefits of curlie and how to install and start using it on a Linux system. +[Curlie](https://github.com/rs/curlie) is a frontend to the ubiquitous command-line HTTP client cURL. With curlie, you get all of the features and versatility of cURL with a modern and user-friendly interface similar to the HTTP client, [HTTPie](/cloud/guides/installing-and-using-httpie-on-linux). In this guide, you learn about the benefits of curlie and how to install and start using it on a Linux system. ## Before You Begin @@ -20,12 +20,12 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is curlie? -curlie is a command-line frontend for cURL that takes inspiration from HTTPie. HTTPie is a an HTTP client designed with readability and modern web APIs in mind. You can learn more about HTTPie from our [How to Install and Use HTTPie on Linux](/cloud/guides/installing-and-using-httpie-on-linux/) guide. +curlie is a command-line frontend for cURL that takes inspiration from HTTPie. HTTPie is a an HTTP client designed with readability and modern web APIs in mind. You can learn more about HTTPie from our [How to Install and Use HTTPie on Linux](/cloud/guides/installing-and-using-httpie-on-linux) guide. ### How Is Curlie Different From HTTPie diff --git a/docs/guides/tools-reference/tools/introduction-to-vim-customization/index.md b/docs/guides/tools-reference/tools/introduction-to-vim-customization/index.md index 5c75657a91b..44ce4e5a660 100644 --- a/docs/guides/tools-reference/tools/introduction-to-vim-customization/index.md +++ b/docs/guides/tools-reference/tools/introduction-to-vim-customization/index.md @@ -37,7 +37,7 @@ Fine-tune your Vim editor to behave more intelligently with this tutorial and ac 1. A basic understanding of how to work within the Vim environment is necessary to complete this tutorial. Readers should be familiar with the steps for editing documents with Vim. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Customize Your Vim Instance diff --git a/docs/guides/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu/index.md b/docs/guides/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu/index.md index fc32a58da30..20db3f5704d 100644 --- a/docs/guides/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu/index.md +++ b/docs/guides/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu/index.md @@ -13,7 +13,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[OpenSSH Documentation](http://www.openssh.org/manual.html)' -- '[An Introduction to Users and Groups](/cloud/guides/linux-users-and-groups/)' +- '[An Introduction to Users and Groups](/cloud/guides/linux-users-and-groups)' --- As the system administrator for your Linode, you may want to give your users the ability to securely upload files to your server. The most common way to do this is to allow file transfers via Secure File Transfer Protocol (SFTP), which uses SSH to provide encryption. This requires that you give your users SSH logins. However, by default SSH users are able to view your Linode's entire filesystem, which may not be desirable. diff --git a/docs/guides/tools-reference/tools/linux-cheat-command/index.md b/docs/guides/tools-reference/tools/linux-cheat-command/index.md index 3ecb9c9fa0a..77813c1948d 100644 --- a/docs/guides/tools-reference/tools/linux-cheat-command/index.md +++ b/docs/guides/tools-reference/tools/linux-cheat-command/index.md @@ -21,7 +21,7 @@ In this guide you learn more about the `cheat`command-line tool, including how t 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is cheat? @@ -185,7 +185,7 @@ You can combine query options, too, to make fine-tuned searches: You can also use `cheat` to create cheat sheets of your own. The steps below create a cheat sheet for the `bat` command, a more-readable and modern clone of `cat`, as an example. {{< note >}} -If you think you may be interested in `bat`, check out our guide [How to Install and Use the Linux bat Command](/cloud/guides/how-to-install-and-use-the-bat-command-on-linux/) to learn more. +If you think you may be interested in `bat`, check out our guide [How to Install and Use the Linux bat Command](/cloud/guides/how-to-install-and-use-the-bat-command-on-linux) to learn more. {{< /note >}} 1. Use the `-e` option to start creating the new cheat sheet: @@ -227,7 +227,7 @@ The command below opens an editor for the (community) cheat sheet file on `ls`: cheat -e ls -In the [Setting Up cheatsheets](/cloud/guides/linux-cheat-command/#setting-up-cheatsheets) section near the start of this guide, you got steps for installing a script for managing community cheat sheets. One of the primary benefits of this script is its ability to easily and automatically make sure your community sheets are up to date: +In the [Setting Up cheatsheets](/cloud/guides/linux-cheat-command#setting-up-cheatsheets) section near the start of this guide, you got steps for installing a script for managing community cheat sheets. One of the primary benefits of this script is its ability to easily and automatically make sure your community sheets are up to date: cheatsheets pull diff --git a/docs/guides/tools-reference/tools/linux-ping-command/index.md b/docs/guides/tools-reference/tools/linux-ping-command/index.md index 5287f4c498c..12e5eb7488a 100644 --- a/docs/guides/tools-reference/tools/linux-ping-command/index.md +++ b/docs/guides/tools-reference/tools/linux-ping-command/index.md @@ -44,7 +44,7 @@ This guide introduces you to *ping* in all its variety. In this guide, you can l ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Reading the Results of the ping Command diff --git a/docs/guides/tools-reference/tools/linux-sd-command/index.md b/docs/guides/tools-reference/tools/linux-sd-command/index.md index 094214a58f1..1d258d73c95 100644 --- a/docs/guides/tools-reference/tools/linux-sd-command/index.md +++ b/docs/guides/tools-reference/tools/linux-sd-command/index.md @@ -23,7 +23,7 @@ In this guide you learn more about `sd` and how it compares to `sed`. You also l 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is sd? diff --git a/docs/guides/tools-reference/tools/load-testing-with-jmeter/index.md b/docs/guides/tools-reference/tools/load-testing-with-jmeter/index.md index be9802a10aa..3504a790687 100644 --- a/docs/guides/tools-reference/tools/load-testing-with-jmeter/index.md +++ b/docs/guides/tools-reference/tools/load-testing-with-jmeter/index.md @@ -24,7 +24,7 @@ Through this tutorial, learn more about load testing and how to get started usin 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} The commands, file contents, and other instructions provided throughout this guide may include example values. These are typically domain names, IP addresses, usernames, passwords, and other values that are unique to you. The table below identifies these example values and explains what to replace them with: @@ -98,7 +98,7 @@ You should see the JMeter GUI start up: ![The initial view of the JMeter GUI.](jmeter-startup.png) {{< note >}} -For Linux and macOS, you can follow our guide on how to [Add a Directory to the PATH on Linux](/cloud/guides/how-to-add-directory-to-path/). Add the `bin` directory to your shell path to start up JMeter with the simpler `jmeter` command. +For Linux and macOS, you can follow our guide on how to [Add a Directory to the PATH on Linux](/cloud/guides/how-to-add-directory-to-path). Add the `bin` directory to your shell path to start up JMeter with the simpler `jmeter` command. {{< /note >}} ## How to Start Load Testing with JMeter @@ -111,7 +111,7 @@ To help get started, this tutorial also includes steps for creating a simple web To create a base web application to test with JMeter, follow the steps here on an application server. These steps specifically assume a Linode Compute Instance server is used. The instructions should work with most Debian-based and RHEL-derived distributions. -1. Follow our guide on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). NPM handles the installation of the application framework and its dependencies as well as running the example application itself. +1. Follow our guide on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux). NPM handles the installation of the application framework and its dependencies as well as running the example application itself. 1. Next.js works well for this example as it can create a base web application with only a few commands. Use the commands here to create a base Next.js project named `example-app` using the `create-next-app` executor. These commands put the application in the current user's home directory and then changes into the new application directory. @@ -123,13 +123,13 @@ To create a base web application to test with JMeter, follow the steps here on a Answer the prompts however you like or simply stick with the default values. - Learn more about building web applications with Next.js in our guide [Getting Started with Next.js](/cloud/guides/getting-started-next-js/). + Learn more about building web applications with Next.js in our guide [Getting Started with Next.js](/cloud/guides/getting-started-next-js). 1. Open port `3000` on your system's firewall. This is the default port for the example Next.js application. This port needs to be open in order for your browser and JMeter to access the application. - - For **Debian-based** distributions refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). + - For **Debian-based** distributions refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). - - For **RHEL-derived** distributions refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). + - For **RHEL-derived** distributions refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos). 1. Start up the Next.js application. This runs the included "Welcome" application on a development server. While this should not be used for production applications, it works well to demonstrate JMeter's capabilities. diff --git a/docs/guides/tools-reference/tools/load-testing-with-locust/index.md b/docs/guides/tools-reference/tools/load-testing-with-locust/index.md index 5b44ae4a242..c85b3ae654f 100644 --- a/docs/guides/tools-reference/tools/load-testing-with-locust/index.md +++ b/docs/guides/tools-reference/tools/load-testing-with-locust/index.md @@ -89,7 +89,7 @@ Since Locust is built around Python, its installation requires Python to be inst ```command sudo ufw allow 8089/tcp ``` - Learn more about UFW in our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide. + Learn more about UFW in our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide. {{< /tab >}} {{< tab "RHEL: CentOS, AlmaLinux, Rocky" >}} On **CentOS** and other RHEL derivatives (like **AlmaLinux** and **Rocky Linux**), you can manage firewall rules using firewalld. With firewalld configured and running, you can open the necessary port with the following commands: @@ -97,7 +97,7 @@ Since Locust is built around Python, its installation requires Python to be inst sudo firewall-cmd --zone=public --add-port=8089/tcp --permanent sudo firewall-cmd --reload ``` - Learn more in our [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) guide. + Learn more in our [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos) guide. {{< /tab >}} {{< /tabs >}} @@ -111,7 +111,7 @@ Follow the instructions below to run a basic load test against an example applic A web application is required to run a load test using the example in this guide. You may use your own existing application or set up the below application that uses Python's [Flask](https://flask.palletsprojects.com/en/) web application framework. Since Locust is already running with Python, using Flask minimizes other dependencies needed to run an example load test. -If you'd rather use a preinstalled Flask application, you can deploy our [Flask Quick Deploy App](/cloud/marketplace-docs/guides/flask/). Note that the Flask Quick Deploy App does not include Locust and would require Locust installation after deployment. +If you'd rather use a preinstalled Flask application, you can deploy our [Flask Quick Deploy App](/cloud/marketplace-docs/guides/flask). Note that the Flask Quick Deploy App does not include Locust and would require Locust installation after deployment. {{< note title="Using Your Own Application" >}} Should you prefer to use your own web application, you can skip the steps for **Installing and Starting the Example Application** and move ahead to [Creating a Test Script](#creating-a-test-script). When asked to provide **host** information when running your load test, replace the URLs for the example Flask application with your own. @@ -119,7 +119,7 @@ Should you prefer to use your own web application, you can skip the steps for ** #### Installing and Starting the Example Application -This guide uses the [abalarin/Flask-on-Linode](https://github.com/abalarin/Flask-on-Linode) web application developed for our [Deploying a Flask Application on Ubuntu](/cloud/guides/flask-and-gunicorn-on-ubuntu/) guide. Note that running Ubuntu is not required to complete the steps below. +This guide uses the [abalarin/Flask-on-Linode](https://github.com/abalarin/Flask-on-Linode) web application developed for our [Deploying a Flask Application on Ubuntu](/cloud/guides/flask-and-gunicorn-on-ubuntu) guide. Note that running Ubuntu is not required to complete the steps below. 1. Install Python's virtualenv tool. This lets you set up virtual Python environments so that you can install project dependencies in an isolated environment rather than on your entire system. diff --git a/docs/guides/tools-reference/tools/manipulate-lists-with-sort-and-uniq/index.md b/docs/guides/tools-reference/tools/manipulate-lists-with-sort-and-uniq/index.md index 637c863d80e..f99d35569dd 100644 --- a/docs/guides/tools-reference/tools/manipulate-lists-with-sort-and-uniq/index.md +++ b/docs/guides/tools-reference/tools/manipulate-lists-with-sort-and-uniq/index.md @@ -28,7 +28,7 @@ The `sort` command accepts input from a text file or standard output, sorts the grep -i "retired" ~/roster.txt | sort -This uses [grep](/cloud/guides/how-to-use-grep-command/) to filter the `~/roster.txt` file for the string `retired`, regardless of case. These results are sent to `sort`, which reorders this output alphabetically. +This uses [grep](/cloud/guides/how-to-use-grep-command) to filter the `~/roster.txt` file for the string `retired`, regardless of case. These results are sent to `sort`, which reorders this output alphabetically. In the default configuration, this `sort` prints the output on the terminal. To write this content to a file, redirect the output as in the following example: diff --git a/docs/guides/tools-reference/tools/manipulate-text-from-the-command-line-with-sed/index.md b/docs/guides/tools-reference/tools/manipulate-text-from-the-command-line-with-sed/index.md index a15d6a43c82..eb44134a5cd 100644 --- a/docs/guides/tools-reference/tools/manipulate-text-from-the-command-line-with-sed/index.md +++ b/docs/guides/tools-reference/tools/manipulate-text-from-the-command-line-with-sed/index.md @@ -10,7 +10,7 @@ keywords: ["sed", "find and replace", "regular expression", "unix"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Administration Basics](/cloud/guides/linux-system-administration-basics/)' + - '[Administration Basics](/cloud/guides/linux-system-administration-basics)' tags: ["linux"] --- @@ -18,7 +18,7 @@ The traditional Unix utility `sed` makes it possible to manipulate strings and s ![Manipulate Text from the Command Line with sed](manipulate_text_from_the_command_line_with_sed.png "Manipulate Text from the Command Line with sed") -This document provides a gentle overview of `sed` usage, accompanied by a number of practical applications of `sed`. If you find this guide helpful, please consider our guide to [basic administration practices](/cloud/guides/linux-system-administration-basics/) or the rest of the [Tools & Reference section](/cloud/guides/tools-reference/). +This document provides a gentle overview of `sed` usage, accompanied by a number of practical applications of `sed`. If you find this guide helpful, please consider our guide to [basic administration practices](/cloud/guides/linux-system-administration-basics) or the rest of the [Tools & Reference section](/cloud/guides/tools-reference). ## Using Sed diff --git a/docs/guides/tools-reference/tools/modify-file-permissions-with-chmod/index.md b/docs/guides/tools-reference/tools/modify-file-permissions-with-chmod/index.md index 49416087b4e..9d6a3eeb9cc 100644 --- a/docs/guides/tools-reference/tools/modify-file-permissions-with-chmod/index.md +++ b/docs/guides/tools-reference/tools/modify-file-permissions-with-chmod/index.md @@ -9,8 +9,8 @@ modified: 2023-11-14 keywords: ["chmod", "commands", "reference", "file permissions"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[Manage File Permission with Users and Groups](/cloud/guides/linux-users-and-groups/)' - - '[Administration Basics](/cloud/guides/linux-system-administration-basics/)' + - '[Manage File Permission with Users and Groups](/cloud/guides/linux-users-and-groups)' + - '[Administration Basics](/cloud/guides/linux-system-administration-basics)' aliases: [] bundles: ['debian-security', 'centos-security'] tags: ["security","linux"] @@ -23,7 +23,7 @@ The `chmod` command allows users to change read and write permissions in Unix sy Unix-like systems, including the Linux distributions that run on the Akamai cloud computing platform, have an incredibly robust access control system. It allows systems administrators to effectively permit multiple users access to a single system, without giving every user access to every file. The `chmod` command is the simplest way to modify these file permissions. -This guide provides an overview of file permissions and the `chmod` command, along with a number of practical examples and applications of `chmod`. If you find this guide helpful, also consider reading our [basic administration practices guide](/cloud/guides/linux-system-administration-basics/) and the [Linux users and groups guide](/cloud/guides/linux-users-and-groups/). +This guide provides an overview of file permissions and the `chmod` command, along with a number of practical examples and applications of `chmod`. If you find this guide helpful, also consider reading our [basic administration practices guide](/cloud/guides/linux-system-administration-basics) and the [Linux users and groups guide](/cloud/guides/linux-users-and-groups). ### Basics of Linux File Permissions @@ -58,7 +58,7 @@ The first character represents the type of file. The remaining nine bits in grou - `x`: e**X**ecute {{< note >}} -Access to files targeted by symbolic links is controlled by the permissions of the targeted file, not the permissions of the link object. There are [additional file permissions](/cloud/guides/linux-users-and-groups/#additional-file-permissions) that control other aspects of access to files. +Access to files targeted by symbolic links is controlled by the permissions of the targeted file, not the permissions of the link object. There are [additional file permissions](/cloud/guides/linux-users-and-groups#additional-file-permissions) that control other aspects of access to files. {{< /note >}} ## How to Use chmod diff --git a/docs/guides/tools-reference/tools/rclone-object-storage-file-sync/index.md b/docs/guides/tools-reference/tools/rclone-object-storage-file-sync/index.md index feed605dc0b..fe1c63da21f 100644 --- a/docs/guides/tools-reference/tools/rclone-object-storage-file-sync/index.md +++ b/docs/guides/tools-reference/tools/rclone-object-storage-file-sync/index.md @@ -26,7 +26,7 @@ This tutorial shows you how to use Rclone to sync your files to a Linode Object ## Rclone vs Rsync -For years, [rsync](/cloud/guides/introduction-to-rsync/) has been the go-to backup and sync command-line tool for Linux. With that in mind, why would you make the switch to Rclone? Although Rsync is a great tool for local and LAN-based backup and sync, it doesn't have the built-in capacity to work with cloud storage providers. It is possible to mount your cloud storage service to a local drive and then use Rsync to backup files, but without the help of another tool, you're out of luck. That's where Rclone comes into play since it was built to work with cloud services. This guide shows you how to install and use Rclone. +For years, [rsync](/cloud/guides/introduction-to-rsync) has been the go-to backup and sync command-line tool for Linux. With that in mind, why would you make the switch to Rclone? Although Rsync is a great tool for local and LAN-based backup and sync, it doesn't have the built-in capacity to work with cloud storage providers. It is possible to mount your cloud storage service to a local drive and then use Rsync to backup files, but without the help of another tool, you're out of luck. That's where Rclone comes into play since it was built to work with cloud services. This guide shows you how to install and use Rclone. ## Download and Install Rclone on Linux and macOS diff --git a/docs/guides/tools-reference/tools/ripgrep-linux-installation/index.md b/docs/guides/tools-reference/tools/ripgrep-linux-installation/index.md index 4e719ba11e0..dfdc6225e8c 100644 --- a/docs/guides/tools-reference/tools/ripgrep-linux-installation/index.md +++ b/docs/guides/tools-reference/tools/ripgrep-linux-installation/index.md @@ -14,7 +14,7 @@ external_resources: - '[ripgrep blog](https://blog.burntsushi.net/ripgrep/)' --- -The [*ripgrep* utility](https://github.com/BurntSushi/ripgrep) is a useful alternative to the traditional [`grep` command](/cloud/guides/differences-between-grep-sed-awk/) on Linux. Both ripgrep and grep are used to search files for specific patterns of text. However, ripgrep is much faster and uses intelligent defaults which are optimal for most users. This guide provides some background on ripgrep, including a comparison with other search tools. It also explains how to install and use ripgrep, and provides some examples of typical searches. +The [*ripgrep* utility](https://github.com/BurntSushi/ripgrep) is a useful alternative to the traditional [`grep` command](/cloud/guides/differences-between-grep-sed-awk) on Linux. Both ripgrep and grep are used to search files for specific patterns of text. However, ripgrep is much faster and uses intelligent defaults which are optimal for most users. This guide provides some background on ripgrep, including a comparison with other search tools. It also explains how to install and use ripgrep, and provides some examples of typical searches. ## An Introduction to ripgrep @@ -45,7 +45,7 @@ ripgrep is generally competitive with the other tools in terms of feature parity - **ripgrep vs ack:** ack release 3 uses Perl and is designed for developers searching repositories of source code. It has the advantage of being highly portable because it can run on any platform that supports Perl. It is relatively similar to ripgrep in the number of features it supports, but it is not as fast. - **ripgrep vs Silver Searcher/ag:** The Silver Searcher program is probably the best comparison for ripgrep. Both programs provide a similar set of optimization and user-friendly features. Silver Searcher is considered quite fast, although ripgrep performs better on most benchmarks, and significantly better on Unicode searches. Silver Searcher uses some different search techniques than ripgrep does, including look around. -Both ripgrep and Silver Searcher are considered major improvements over the standard `grep` command. ack should be considered if maximum portability is absolutely necessary. A useful chart-based comparison of the different tools can be found at the [Beyond Grep site](https://beyondgrep.com/feature-comparison/). You can learn more about Silver Searcher in our [How to Install and Use Silver Searcher on Linux](/cloud/guides/silver-searcher-on-linux/) guide. +Both ripgrep and Silver Searcher are considered major improvements over the standard `grep` command. ack should be considered if maximum portability is absolutely necessary. A useful chart-based comparison of the different tools can be found at the [Beyond Grep site](https://beyondgrep.com/feature-comparison/). You can learn more about Silver Searcher in our [How to Install and Use Silver Searcher on Linux](/cloud/guides/silver-searcher-on-linux) guide. ## How to Install ripgrep diff --git a/docs/guides/tools-reference/tools/run-jobs-or-scripts-using-crontab-on-boot/index.md b/docs/guides/tools-reference/tools/run-jobs-or-scripts-using-crontab-on-boot/index.md index e3fdf8a6e2c..296403b6099 100644 --- a/docs/guides/tools-reference/tools/run-jobs-or-scripts-using-crontab-on-boot/index.md +++ b/docs/guides/tools-reference/tools/run-jobs-or-scripts-using-crontab-on-boot/index.md @@ -129,4 +129,4 @@ cron.service - Regular background program processing daemon ## Learn More About the Cron Utility -To learn more about cron jobs, see our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide. To view highly-detailed and technical information about cron and crontab, you can also refer to the [*Linux 'man' page for the crontab command*](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html). +To learn more about cron jobs, see our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron) guide. To view highly-detailed and technical information about cron and crontab, you can also refer to the [*Linux 'man' page for the crontab command*](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html). diff --git a/docs/guides/tools-reference/tools/silver-searcher-on-linux/index.md b/docs/guides/tools-reference/tools/silver-searcher-on-linux/index.md index 3a5c3ea063a..601ba6ab1a1 100644 --- a/docs/guides/tools-reference/tools/silver-searcher-on-linux/index.md +++ b/docs/guides/tools-reference/tools/silver-searcher-on-linux/index.md @@ -20,7 +20,7 @@ The Silver Searcher is a command-line tool for searching code. It is similar to 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is the Silver Searcher? @@ -37,7 +37,7 @@ ripgrep is a tool similar to The Silver Searcher, likewise boasting vast perform ripgrep uses regular expression (regex) search patterns almost exclusively; the Silver Searcher, though fully capable of regex searches, uses command patterns primarily resembling ack commands. (You can learn more about using regex searches in the Silver Searcher via the [Advanced Searches](#advanced-searches) section below). The Silver Searcher may be easier to pick up if you are already familiar with ack. -The Silver Searcher is fast, but ripgrep claims to be even faster in most scenarios. However, the Silver Searcher's still-remarkable performance should be sufficient for most use cases. If you find yourself still facing slowdowns while using he Silver Searcher, you should look into ripgrep. You can learn more about ripgrep through our guide on [how to install and start using ripgrep](/cloud/guides/ripgrep-linux-installation/). +The Silver Searcher is fast, but ripgrep claims to be even faster in most scenarios. However, the Silver Searcher's still-remarkable performance should be sufficient for most use cases. If you find yourself still facing slowdowns while using he Silver Searcher, you should look into ripgrep. You can learn more about ripgrep through our guide on [how to install and start using ripgrep](/cloud/guides/ripgrep-linux-installation). ## How to Install the Silver Searcher @@ -86,7 +86,7 @@ For instance, the first example command from the [How to Use The Silver Searcher ## How to Use the Silver Searcher -This section walks you through some of the most useful features of the Silver Searcher using the [Express JS](https://github.com/expressjs/express) project for its examples. You can clone the project's GitHub repository to your current user's home directory using the commands below. You need [Git installed](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) on your system to use the examples in this section. +This section walks you through some of the most useful features of the Silver Searcher using the [Express JS](https://github.com/expressjs/express) project for its examples. You can clone the project's GitHub repository to your current user's home directory using the commands below. You need [Git installed](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) on your system to use the examples in this section. cd ~/ git clone https://github.com/expressjs/express.git diff --git a/docs/guides/tools-reference/tools/streamlink-twitch-gui-install-and-configure/index.md b/docs/guides/tools-reference/tools/streamlink-twitch-gui-install-and-configure/index.md index 952866b5cf5..c5975bce8a5 100644 --- a/docs/guides/tools-reference/tools/streamlink-twitch-gui-install-and-configure/index.md +++ b/docs/guides/tools-reference/tools/streamlink-twitch-gui-install-and-configure/index.md @@ -56,4 +56,4 @@ Now that Streamlink Twitch GUI is installed, here’s a walkthrough of its most ![Click on the chat icon to open a stream's chat window.](open-a-stream-chat.png) -With the above configurations, you should be able to watch your favorite Twitch streams using the Streamlink GUI. If you prefer to use the Streamlink CLI, see our [Install Streamlink CLI on Ubuntu and macOS](/cloud/guides/how-to-install-streamlink-cli-on-ubuntu-macos/) guide. +With the above configurations, you should be able to watch your favorite Twitch streams using the Streamlink GUI. If you prefer to use the Streamlink CLI, see our [Install Streamlink CLI on Ubuntu and macOS](/cloud/guides/how-to-install-streamlink-cli-on-ubuntu-macos) guide. diff --git a/docs/guides/tools-reference/tools/synchronize-files-with-unison/index.md b/docs/guides/tools-reference/tools/synchronize-files-with-unison/index.md index 7ab9181f712..374455a67c7 100644 --- a/docs/guides/tools-reference/tools/synchronize-files-with-unison/index.md +++ b/docs/guides/tools-reference/tools/synchronize-files-with-unison/index.md @@ -17,7 +17,7 @@ deprecated: true Unison is a file synchronization tool that allows users to maintain two instances of a given file set on two systems up to date and identical. The tool is designed for maximum usability in a variety of contexts and uses protocols like SSH to securely transfer data between folders. Furthermore, the system is designed to be fault tolerant in the case of interruptions and modifications to both "source" and "remote," and aims to always leave both instances of a file or directory tree in a known working state. Unison can be deployed to synchronize files between systems running disparate operating systems, to backup systems, or as part of a content deployment system, among a plethora of other use cases. -Before beginning this guide, we assume you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux system administration, we recommend considering the [introducing Linux concepts](/cloud/guides/introduction-to-linux-concepts/) guide and the [administration basics](/cloud/guides/linux-system-administration-basics/) guide. If you're simply looking to gain access to your Linode on your local system, you may want to consider deploying a [remote file system](/cloud/guides/using-sshfs-on-linux/). Conversely, if you need a more complex backup system, your needs may be better served by an incremental backup system. +Before beginning this guide, we assume you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux system administration, we recommend considering the [introducing Linux concepts](/cloud/guides/introduction-to-linux-concepts) guide and the [administration basics](/cloud/guides/linux-system-administration-basics) guide. If you're simply looking to gain access to your Linode on your local system, you may want to consider deploying a [remote file system](/cloud/guides/using-sshfs-on-linux). Conversely, if you need a more complex backup system, your needs may be better served by an incremental backup system. ## Install Unison on a Linode {{< note type="alert" >}} diff --git a/docs/guides/tools-reference/tools/tldr-pages-on-linux/index.md b/docs/guides/tools-reference/tools/tldr-pages-on-linux/index.md index 5b917fd5f56..c05f1e8a924 100644 --- a/docs/guides/tools-reference/tools/tldr-pages-on-linux/index.md +++ b/docs/guides/tools-reference/tools/tldr-pages-on-linux/index.md @@ -22,7 +22,7 @@ In this guide, you learn more about the tldr pages project, how to install tldr 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What are tldr pages? diff --git a/docs/guides/tools-reference/tools/use-chroot-for-testing-on-ubuntu/index.md b/docs/guides/tools-reference/tools/use-chroot-for-testing-on-ubuntu/index.md index 015e53c9f56..21b637682f8 100644 --- a/docs/guides/tools-reference/tools/use-chroot-for-testing-on-ubuntu/index.md +++ b/docs/guides/tools-reference/tools/use-chroot-for-testing-on-ubuntu/index.md @@ -25,7 +25,7 @@ The Linux `chroot` command enables you to run applications or shells within a se 1. Replace all instances of `example-user` in this guide with the username of the limited Linux user you are using to execute the commands in this guide. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is chroot? diff --git a/docs/guides/tools-reference/tools/use-dog-linux-dns-client/index.md b/docs/guides/tools-reference/tools/use-dog-linux-dns-client/index.md index c29e3a4666f..044792bf850 100644 --- a/docs/guides/tools-reference/tools/use-dog-linux-dns-client/index.md +++ b/docs/guides/tools-reference/tools/use-dog-linux-dns-client/index.md @@ -20,14 +20,14 @@ In this guide, learn more about `dog` and how to install and start using it on y 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is dog? [`dog`](https://github.com/ogham/dog) is an open-source DNS client for the command line, much like the popular `dig` tool. With `dog`, you get significant improvements to the interface, along with more readable, color-coded results, and the ability to render those results in JSON. `dog` also adds support for DNS over TLS (DoT) and DNS over HTTPS (DoH) protocols, giving you more options for securing your DNS lookups. -You can learn more about the `dig` command and its features in our guide [Use dig to Perform Manual DNS Queries](/cloud/guides/use-dig-to-perform-manual-dns-queries/). +You can learn more about the `dig` command and its features in our guide [Use dig to Perform Manual DNS Queries](/cloud/guides/use-dig-to-perform-manual-dns-queries). ## How to Install dog @@ -205,4 +205,4 @@ NS github.com. 6m21s "ns-520.awsdns-01.net." ## Conclusion -To learn more about DNS, including more about record types and the role of DNS in the Internet, take a look at our guide [DNS Records: An Introduction](/cloud/guides/dns-overview/). From there, you may also want to look at our guide [Troubleshooting DNS Records](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-dns-records). It can give you some ideas for how you might use a tool like `dog` to help keep your DNS setup in order. +To learn more about DNS, including more about record types and the role of DNS in the Internet, take a look at our guide [DNS Records: An Introduction](/cloud/guides/dns-overview). From there, you may also want to look at our guide [Troubleshooting DNS Records](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-dns-records). It can give you some ideas for how you might use a tool like `dog` to help keep your DNS setup in order. diff --git a/docs/guides/tools-reference/tools/use-killall-and-kill-to-stop-processes-on-linux/index.md b/docs/guides/tools-reference/tools/use-killall-and-kill-to-stop-processes-on-linux/index.md index 1607d0d74ee..f19b48493bc 100644 --- a/docs/guides/tools-reference/tools/use-killall-and-kill-to-stop-processes-on-linux/index.md +++ b/docs/guides/tools-reference/tools/use-killall-and-kill-to-stop-processes-on-linux/index.md @@ -110,9 +110,9 @@ If you need to convert a signal name into a signal number, or a signal number in ## Find Running Processes -Use a utility like [htop](/cloud/guides/linux-system-administration-basics/#monitor-processes-memory-and-cpu-usage-with-htop) or `top` to view a real time list of process and their consumption of system resources. +Use a utility like [htop](/cloud/guides/linux-system-administration-basics#monitor-processes-memory-and-cpu-usage-with-htop) or `top` to view a real time list of process and their consumption of system resources. -Use the `ps` command to view processes that are currently running and their PIDs. The following example filters the list of all processes that are currently running for the string `emacs` using [grep](/cloud/guides/how-to-use-grep-command/): +Use the `ps` command to view processes that are currently running and their PIDs. The following example filters the list of all processes that are currently running for the string `emacs` using [grep](/cloud/guides/how-to-use-grep-command): $ ps aux | grep "emacs" username 3896 0.0 2.2 56600 44468 ? Ss Sep30 4:29 emacs diff --git a/docs/guides/tools-reference/tools/use-linux-choose-command/index.md b/docs/guides/tools-reference/tools/use-linux-choose-command/index.md index 2c7c146917b..6b4d66c2229 100644 --- a/docs/guides/tools-reference/tools/use-linux-choose-command/index.md +++ b/docs/guides/tools-reference/tools/use-linux-choose-command/index.md @@ -18,7 +18,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is the Linux choose Command? diff --git a/docs/guides/tools-reference/tools/use-nano-text-editor-commands/index.md b/docs/guides/tools-reference/tools/use-nano-text-editor-commands/index.md index c430557bc09..90b0841d06b 100644 --- a/docs/guides/tools-reference/tools/use-nano-text-editor-commands/index.md +++ b/docs/guides/tools-reference/tools/use-nano-text-editor-commands/index.md @@ -21,7 +21,7 @@ Editing files in Linux using Nano is a popular option. Compared to other editors ## Installing the Nano Text Editor in Linux -Nano is included with many Linux distributions by default. However, some users may need to install Nano on Linux using the [package management](/cloud/guides/linux-package-management-overview/) tool of the distribution. +Nano is included with many Linux distributions by default. However, some users may need to install Nano on Linux using the [package management](/cloud/guides/linux-package-management-overview) tool of the distribution. **Debian/Ubuntu**: diff --git a/docs/guides/tools-reference/tools/use-nmap-for-network-scanning/index.md b/docs/guides/tools-reference/tools/use-nmap-for-network-scanning/index.md index 4c6cd97f3ad..7bc7d60befb 100644 --- a/docs/guides/tools-reference/tools/use-nmap-for-network-scanning/index.md +++ b/docs/guides/tools-reference/tools/use-nmap-for-network-scanning/index.md @@ -23,7 +23,7 @@ external_resources: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Nmap diff --git a/docs/guides/tools-reference/tools/using-mcfly-to-search-bash-or-zsh-history/index.md b/docs/guides/tools-reference/tools/using-mcfly-to-search-bash-or-zsh-history/index.md index ba196023643..593cb5a16d2 100644 --- a/docs/guides/tools-reference/tools/using-mcfly-to-search-bash-or-zsh-history/index.md +++ b/docs/guides/tools-reference/tools/using-mcfly-to-search-bash-or-zsh-history/index.md @@ -53,7 +53,7 @@ This works well enough in many cases, but it often forces the user to cycle thro 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install McFly diff --git a/docs/guides/tools-reference/tools/view-active-linux-processes-with-procs/index.md b/docs/guides/tools-reference/tools/view-active-linux-processes-with-procs/index.md index 12e007cf34c..28dbf21c459 100644 --- a/docs/guides/tools-reference/tools/view-active-linux-processes-with-procs/index.md +++ b/docs/guides/tools-reference/tools/view-active-linux-processes-with-procs/index.md @@ -14,7 +14,7 @@ external_resources: - '[Sample procs config files](https://github.com/dalance/procs/tree/master/config)' --- -The [*procs*](https://github.com/dalance/procs) utility is a useful and informative alternative to the original Linux [*`ps` (process status) command*](/cloud/guides/use-the-ps-aux-command-in-linux/). Like ps, procs displays information about the active processes running on the system, including their CPU and memory usage. However, procs enhances its output with additional columns, an intuitive color scheme, and other helpful features. This guide provides some background on procs, and explains how to install and use it. +The [*procs*](https://github.com/dalance/procs) utility is a useful and informative alternative to the original Linux [*`ps` (process status) command*](/cloud/guides/use-the-ps-aux-command-in-linux). Like ps, procs displays information about the active processes running on the system, including their CPU and memory usage. However, procs enhances its output with additional columns, an intuitive color scheme, and other helpful features. This guide provides some background on procs, and explains how to install and use it. ## An Introduction to procs @@ -35,7 +35,7 @@ The [*procs GitHub page*](https://github.com/dalance/procs#kind-list) has a comp The procs utility is very similar to the `ps` command which it seeks to replace. Procs can do everything ps does, but it can also display additional fields and has more options. For this reason it is the better choice in most cases. However, both commands have the most significant information available. The `ps` command is often supplemented with the `top` command. top displays a real-time view of the most resource-intensive processes. In procs, the `--watch` and `--watch-interval` options provide the same information. Procs supports tree format and customization, while ps does not. -Because the `ps` command's output is relatively sparse, users often append the `-ef` option for more meaningful results. `ps` is often used in conjunction with other commands, such as `grep`, to extract and summarize information. For more information about the `ps` command, see the [*Linode ps guide*](/cloud/guides/use-the-ps-aux-command-in-linux/). +Because the `ps` command's output is relatively sparse, users often append the `-ef` option for more meaningful results. `ps` is often used in conjunction with other commands, such as `grep`, to extract and summarize information. For more information about the `ps` command, see the [*Linode ps guide*](/cloud/guides/use-the-ps-aux-command-in-linux). ## Before You Begin @@ -44,7 +44,7 @@ Because the `ps` command's output is relatively sparse, users often append the ` 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install procs diff --git a/docs/guides/tools-reference/tools/view-and-follow-the-end-of-text-files-with-tail/index.md b/docs/guides/tools-reference/tools/view-and-follow-the-end-of-text-files-with-tail/index.md index 69d30a6fe52..a6eaafcd8a0 100644 --- a/docs/guides/tools-reference/tools/view-and-follow-the-end-of-text-files-with-tail/index.md +++ b/docs/guides/tools-reference/tools/view-and-follow-the-end-of-text-files-with-tail/index.md @@ -16,7 +16,7 @@ tags: ["linux"] ## What is tail? -The `tail` command is a core Linux utility used to view the end of text files. You can also use **follow mode** to see new lines as they're added to a file in real time. `tail` is similar to the [head utility](/cloud/guides/view-the-beginning-of-text-files-with-head/), used for viewing the beginning of files. +The `tail` command is a core Linux utility used to view the end of text files. You can also use **follow mode** to see new lines as they're added to a file in real time. `tail` is similar to the [head utility](/cloud/guides/view-the-beginning-of-text-files-with-head), used for viewing the beginning of files. ## Syntax and Basic Usage @@ -76,12 +76,12 @@ Line 10 With the `-f` option, `tail` operates in **follow mode**. Here, `tail` prints the final lines of a file, then watches for new additions to the end of the file. When new lines are added they are printed to the terminal, giving you a live feed of the end of the file. -`tail` will continue to follow a file until the user sends a break (e.g. `Control+c`) to the terminal. Additionally, if the file is deleted or renamed, `tail -f` will fail. Use the `-F` option to force `tail` to follow file names rather than file objects. This can prevent problems with [log rotation](/cloud/guides/use-logrotate-to-manage-log-files/) and other programs that may alter file names. +`tail` will continue to follow a file until the user sends a break (e.g. `Control+c`) to the terminal. Additionally, if the file is deleted or renamed, `tail -f` will fail. Use the `-F` option to force `tail` to follow file names rather than file objects. This can prevent problems with [log rotation](/cloud/guides/use-logrotate-to-manage-log-files) and other programs that may alter file names. Follow mode is very useful when troubleshooting issues because it allows you to watch logs in real time. ### Filter with grep -`tail` can be combined with [grep](/cloud/guides/how-to-use-grep-command/) to filter the contents of a log file in real time. You can use this to track specific types of errors, such as 404 responses from an Apache web server: +`tail` can be combined with [grep](/cloud/guides/how-to-use-grep-command) to filter the contents of a log file in real time. You can use this to track specific types of errors, such as 404 responses from an Apache web server: tail -F /var/log/apache2/access.log | grep "404" diff --git a/docs/guides/tools-reference/tools/view-the-beginning-of-text-files-with-head/index.md b/docs/guides/tools-reference/tools/view-the-beginning-of-text-files-with-head/index.md index d212611fb1e..c39f423d14c 100644 --- a/docs/guides/tools-reference/tools/view-the-beginning-of-text-files-with-head/index.md +++ b/docs/guides/tools-reference/tools/view-the-beginning-of-text-files-with-head/index.md @@ -13,7 +13,7 @@ aliases: [] tags: ["linux"] --- -The `head` command is a core Linux utility used to view the very beginning of a text file. Despite its narrow functionality, `head` is useful in many systems administration and scripting tasks. For similar functionality that address the end of a file, use the [tail](/cloud/guides/view-and-follow-the-end-of-text-files-with-tail/) utility instead. +The `head` command is a core Linux utility used to view the very beginning of a text file. Despite its narrow functionality, `head` is useful in many systems administration and scripting tasks. For similar functionality that address the end of a file, use the [tail](/cloud/guides/view-and-follow-the-end-of-text-files-with-tail) utility instead. ![View Beginning of Files with Head](view_the_beginning_of_text_files_with_head_smg.png) diff --git a/docs/guides/tools-reference/tools/vim-color-schemes/index.md b/docs/guides/tools-reference/tools/vim-color-schemes/index.md index aa48b5e3ad0..feaa379c7e8 100644 --- a/docs/guides/tools-reference/tools/vim-color-schemes/index.md +++ b/docs/guides/tools-reference/tools/vim-color-schemes/index.md @@ -17,7 +17,7 @@ external_resources: [Vim](https://www.vim.org/) reigns as one of the most widely used command line text editors. It offers a high degree of customization, runs on a wide range of operating systems, and comes pre-installed on many Unix-based systems. -You can learn more about Vim, including how to operate and navigate the editor, through our guide [Getting Started Using Vi and Vim](/cloud/guides/what-is-vi/). Additionally, our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/) teaches you to configure and customize your Vim instance. +You can learn more about Vim, including how to operate and navigate the editor, through our guide [Getting Started Using Vi and Vim](/cloud/guides/what-is-vi). Additionally, our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization) teaches you to configure and customize your Vim instance. Color schemes are a useful component of Vim customization. They allow you to define how Vim displays both the background and text. Factor in Vim's syntax highlighting, and the color scheme possibilities are vast. Not only can color schemes make your editor more appealing, they can make text easier to read and navigate. @@ -26,7 +26,7 @@ In this tutorial, learn more about Vim color schemes. This includes reviewing ex {{< note >}} This guide should also apply to NeoVim, a project based on Vim that adds many new features. However, it's likely your NeoVim instance uses an `init.vim` file instead of a `.vimrc` for storing configurations. The `init.vim` is typically stored at `~/.config/nvim/init.vim`. -You can learn more about NeoVim and how to get started customizing it through our guide [How to Install NeoVim and Plugins with Vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug/). +You can learn more about NeoVim and how to get started customizing it through our guide [How to Install NeoVim and Plugins with Vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug). {{< /note >}} ## Before You Begin @@ -36,7 +36,7 @@ You can learn more about NeoVim and how to get started customizing it through ou 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to View Vim Color Schemes @@ -113,7 +113,7 @@ wget https://raw.githubusercontent.com/altercation/vim-colors-solarized/master/c ### Install Using a Vim plug-in Manager -Our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/#integrate-plug-ins) covers how to get started with a plug-in manager and provides the installation process for [Vim-plug](https://github.com/junegunn/vim-plug). Essentially: +Our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization#integrate-plug-ins) covers how to get started with a plug-in manager and provides the installation process for [Vim-plug](https://github.com/junegunn/vim-plug). Essentially: ```command curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim @@ -121,7 +121,7 @@ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.c Once you have a plug-in manager like Vim-plug installed, you can use the manager's installation command to install a new color scheme. -Using Vim-plug you can install the `solarized` scheme by adding the following lines to your `vimrc` file. If you followed our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/), you already have a `.vimrc` file which includes the first and last lines of this example. Otherwise, you can create one in Vim by opening a file at `~/.vimrc`. +Using Vim-plug you can install the `solarized` scheme by adding the following lines to your `vimrc` file. If you followed our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization), you already have a `.vimrc` file which includes the first and last lines of this example. Otherwise, you can create one in Vim by opening a file at `~/.vimrc`. ```file {title="~/.vimrc"} call plug#begin('~/.vim/plugged') diff --git a/docs/guides/tools-reference/tools/what-is-vi/index.md b/docs/guides/tools-reference/tools/what-is-vi/index.md index 446da8b9e10..d42afa5bb6f 100644 --- a/docs/guides/tools-reference/tools/what-is-vi/index.md +++ b/docs/guides/tools-reference/tools/what-is-vi/index.md @@ -181,6 +181,6 @@ You can also exit Vi without saving your changes. To do so, add a `!` to the end ## Conclusion -If you are looking to take your Vi usage to the next level, you may want to check out Vim and NeoVim. Each of these evolves from Vi and is highly customizable through numerous configuration options and community-developed plug-ins. Check out our guides [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/) and [How to Install NeoVim and Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug/), where you can find an introduction to each editor and help getting started using them. +If you are looking to take your Vi usage to the next level, you may want to check out Vim and NeoVim. Each of these evolves from Vi and is highly customizable through numerous configuration options and community-developed plug-ins. Check out our guides [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization) and [How to Install NeoVim and Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug), where you can find an introduction to each editor and help getting started using them. Many of the customization options described in the Vim customization guide apply to Vi as well. The guide can be a great start if you want to fine-tune your Vi experience. diff --git a/docs/guides/tools-reference/tools/write-a-neovim-plugin-with-lua/index.md b/docs/guides/tools-reference/tools/write-a-neovim-plugin-with-lua/index.md index 20ace23f0fa..52fa429cd02 100644 --- a/docs/guides/tools-reference/tools/write-a-neovim-plugin-with-lua/index.md +++ b/docs/guides/tools-reference/tools/write-a-neovim-plugin-with-lua/index.md @@ -36,12 +36,12 @@ In this tutorial you learn how to write a Neovim plugin using the Lua programmin sudo dnf upgrade {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How Neovim Plugins Work -Neovim expands on the highly-customizable text editor Vim, carrying over many of the same options for controlling the editor's behavior, look, and feel. You can learn more about Neovim in our guide [How to Install Neovim Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug/). +Neovim expands on the highly-customizable text editor Vim, carrying over many of the same options for controlling the editor's behavior, look, and feel. You can learn more about Neovim in our guide [How to Install Neovim Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug). Just as with Vim, Neovim can be extended through plugins created and maintained by the vast Vim and Neovim communities. Neovim maintains full compatibility with standard Vim plugins. Neovim also adds many advanced features that have allowed a community of Neovim plugin creators to expand the editor's horizons. @@ -58,7 +58,7 @@ This section walks you through creating a Neovim plugin. It features an example To help keep plugins organized and more maintainable, this guide uses the [vim-plug](https://github.com/junegunn/vim-plug) plugin manager. Several other plugin managers exist including some specifically built for Neovim. -Refer to our guide [How to Install Neovim Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug/#install-neovim-plugins) for detailed information on vim-plug. However, if you already have cURL installed, you can install vim-plug with the following command: +Refer to our guide [How to Install Neovim Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug#install-neovim-plugins) for detailed information on vim-plug. However, if you already have cURL installed, you can install vim-plug with the following command: curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim diff --git a/docs/guides/tools-reference/tools/writing-a-vim-plugin/index.md b/docs/guides/tools-reference/tools/writing-a-vim-plugin/index.md index 208bfe6c9ff..0d234cdb702 100644 --- a/docs/guides/tools-reference/tools/writing-a-vim-plugin/index.md +++ b/docs/guides/tools-reference/tools/writing-a-vim-plugin/index.md @@ -35,12 +35,12 @@ In this tutorial, you learn how to write a Vim plugin of your own. The guide wal sudo dnf upgrade {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How Vim Plugins Work -Vim is a highly-customizable text editor. By default, Vim comes with a configuration file — usually `~/.vimrc` — that gives you a vast array of options for controlling Vim's behavior and look and feel. You can learn more about configuring your Vim instance in our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/). +Vim is a highly-customizable text editor. By default, Vim comes with a configuration file — usually `~/.vimrc` — that gives you a vast array of options for controlling Vim's behavior and look and feel. You can learn more about configuring your Vim instance in our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization). Using plugins, Vim becomes even more adaptable. The editor has a wide and dedicated community of users. Many of these users have contributed exceptional tools that add new functionality or adapt existing functionality within Vim. @@ -55,7 +55,7 @@ This section walks you through creating a Vim plugin. The example plugin display To help keep plugins organized and more maintainable, this guide uses the [vim-plug](https://github.com/junegunn/vim-plug) plugin manager. Several other plugin managers exist though, so feel free to choose an option that works best for you. -You can get details on how to install vim-plug in our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/#install-the-vim-plug-plug-in-manager). However, if you already have cURL installed, you can install vim-plug with the following command: +You can get details on how to install vim-plug in our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization#install-the-vim-plug-plug-in-manager). However, if you already have cURL installed, you can install vim-plug with the following command: sudo curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim diff --git a/docs/guides/uptime/analytics/google-analytics-for-websites/index.md b/docs/guides/uptime/analytics/google-analytics-for-websites/index.md index 7e87cf82d86..fc271a1f555 100644 --- a/docs/guides/uptime/analytics/google-analytics-for-websites/index.md +++ b/docs/guides/uptime/analytics/google-analytics-for-websites/index.md @@ -10,7 +10,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Analytics Help](https://support.google.com/analytics/?hl=en#topic=3544906)' - '[Google Analytics Developers](https://developers.google.com/analytics/)' - - '[Google Analytics for WordPress](/cloud/guides/google-analytics-on-wordpress/)' + - '[Google Analytics for WordPress](/cloud/guides/google-analytics-on-wordpress)' tags: ["statistics","analytics"] aliases: [] --- @@ -20,9 +20,9 @@ Google Analytics offers detailed statistics related to visitor traffic and sales Although Google Analytics provides a way to add the tracking code to your webpages, if you are not using PHP includes, Server Side Includes, or another form of layout template, the process can be tedious and inefficient. This guide provides two alternatives to inserting the Google Analytics tracking code to your website, depending on your website's set-up. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. -This guide also assumes you have configured your Apache server as described in our [LAMP](/cloud/guides/web-servers/lamp/) guides with your publicly accessible directory located at something similar to `/var/www/example.com/public_html`. Replace all instances of `example.com` with your own domain information. +This guide also assumes you have configured your Apache server as described in our [LAMP](/cloud/guides/web-servers/lamp) guides with your publicly accessible directory located at something similar to `/var/www/example.com/public_html`. Replace all instances of `example.com` with your own domain information. {{< /note >}} ## Signing Up for Google Analytics diff --git a/docs/guides/uptime/analytics/google-analytics-on-wordpress/index.md b/docs/guides/uptime/analytics/google-analytics-on-wordpress/index.md index fdade89f2f7..1162113ec6a 100644 --- a/docs/guides/uptime/analytics/google-analytics-on-wordpress/index.md +++ b/docs/guides/uptime/analytics/google-analytics-on-wordpress/index.md @@ -11,16 +11,16 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Analytics Help](https://support.google.com/analytics/?hl=en#topic=3544906)' - '[Google Analytics Developers](https://developers.google.com/analytics/)' - - '[Google Analytics for Websites](/cloud/guides/google-analytics-for-websites/)' + - '[Google Analytics for Websites](/cloud/guides/google-analytics-for-websites)' aliases: [] --- Google Analytics offers detailed statistics related to visitor traffic and sales for your website, allowing you to better know your audience. It can be beneficial to any website owner interested in growing their visitor base. -This guide provides three ways to add Google Analytics to WordPress: By directly adding the analytics code to your theme and two plugin options. Prior to using this guide, you should have completed our [Manage Web Content with WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) guide and have a fully configured WordPress website set up. +This guide provides three ways to add Google Analytics to WordPress: By directly adding the analytics code to your theme and two plugin options. Prior to using this guide, you should have completed our [Manage Web Content with WordPress](/cloud/guides/how-to-install-and-configure-wordpress) guide and have a fully configured WordPress website set up. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Sign Up for Google Analytics diff --git a/docs/guides/uptime/analytics/install-countly-analytics/index.md b/docs/guides/uptime/analytics/install-countly-analytics/index.md index 71fb3ef8aab..4d813a0a986 100644 --- a/docs/guides/uptime/analytics/install-countly-analytics/index.md +++ b/docs/guides/uptime/analytics/install-countly-analytics/index.md @@ -32,7 +32,7 @@ This tutorial shows you how to start using Countly for your analytics needs. Cou sudo dnf upgrade ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Countly Analytics Community Edition @@ -219,7 +219,7 @@ To have Countly start collecting analytics, you need to embed one of its client Countly has numerous client SDKs available to fit your needs, from web and mobile apps, to the desktop, server, and beyond. You can see Countly's [full list of client SDKs](https://support.count.ly/hc/en-us/articles/360037236571-Downloading-and-Installing-SDKs) for more information on how to download and operate each. -To get you started and to demonstrate, the rest of this section walks you through an example using Countly's web application SDK. It covers how you can make the client available for your web application and even includes example code to embed it. If you don't have a web application ready, follow our guide [Deploy a Static Site using Hugo and Object Storage](/cloud/guides/host-static-site-object-storage/). +To get you started and to demonstrate, the rest of this section walks you through an example using Countly's web application SDK. It covers how you can make the client available for your web application and even includes example code to embed it. If you don't have a web application ready, follow our guide [Deploy a Static Site using Hugo and Object Storage](/cloud/guides/host-static-site-object-storage). 1. Ensure your web application's client-side code includes or has access to the Countly web SDK file. This can be done multiple ways: diff --git a/docs/guides/uptime/analytics/open-web-analytics-install-and-launch-on-your-server/index.md b/docs/guides/uptime/analytics/open-web-analytics-install-and-launch-on-your-server/index.md index 50f66054418..832bbe5b7ad 100644 --- a/docs/guides/uptime/analytics/open-web-analytics-install-and-launch-on-your-server/index.md +++ b/docs/guides/uptime/analytics/open-web-analytics-install-and-launch-on-your-server/index.md @@ -26,7 +26,7 @@ Open Web Analytics (OWA) is an open-source alternative to commercial web analyti {{< note respectIndent=false >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. Your server must be configured with a fully qualified domain name (FQDN) and not just an IP address. If needed, you can use the address provided in the **Networking** tab next to your public IP address. {{< /note >}} diff --git a/docs/guides/uptime/analytics/piwik-on-centos-5/index.md b/docs/guides/uptime/analytics/piwik-on-centos-5/index.md index c412d140c16..a4ff21c998e 100644 --- a/docs/guides/uptime/analytics/piwik-on-centos-5/index.md +++ b/docs/guides/uptime/analytics/piwik-on-centos-5/index.md @@ -20,9 +20,9 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program." An alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership and control of the data collected from your visitors. -For the purpose of this guide, we assume that you have a running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +For the purpose of this guide, we assume that you have a running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). -Beyond the basics, Piwik requires a functioning LAMP stack, which you can configure by following the [CentOS 5 LAMP guide](/cloud/guides/lamp-server-on-centos-5/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. +Beyond the basics, Piwik requires a functioning LAMP stack, which you can configure by following the [CentOS 5 LAMP guide](/cloud/guides/lamp-server-on-centos-5). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. ## Prerequisites @@ -54,7 +54,7 @@ You'll need to restart Apache after installing php-gd and modifying the PHP sett This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll append the following virtual host to our `vhost.conf` file, located at `/etc/httpd/conf.d/vhost.conf`: @@ -115,7 +115,7 @@ After installation, follow the first recommendation by adding `charset = utf8` t When Piwik's installation process is complete, you will receive a JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache) or [authentication based access control](/cloud/guides/apache-access-control). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-debian-5-lenny/index.md b/docs/guides/uptime/analytics/piwik-on-debian-5-lenny/index.md index eccdac34694..0e32556e0d6 100644 --- a/docs/guides/uptime/analytics/piwik-on-debian-5-lenny/index.md +++ b/docs/guides/uptime/analytics/piwik-on-debian-5-lenny/index.md @@ -20,9 +20,9 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program." As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of control of the data collected from your visitors. -For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). -Beyond the basics, Piwik requires a functioning LAMP stack, which is outlined in our [Debian 5 (Lenny) LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. +Beyond the basics, Piwik requires a functioning LAMP stack, which is outlined in our [Debian 5 (Lenny) LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. ## Prerequisites @@ -55,7 +55,7 @@ You'll need to restart Apache after installing php5-gd and modifying the PHP set This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.com`: @@ -105,7 +105,7 @@ Before running Piwik's installation script, we need to change the permissions of Visit your new Piwik instance in your browser. In our example, this is located at `http://stats.example.org/`. Follow the instructions provided by the Piwik installation process. It will prompt you for the name of your MySQL database as well as access credentials for this database. This information was created when you installed the LAMP stack. Alternatively, feel free to create a new database and user specifically for Piwik. -When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). +When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache) or [authentication based access control](/cloud/guides/apache-access-control). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-fedora-13/index.md b/docs/guides/uptime/analytics/piwik-on-fedora-13/index.md index fbfff795c92..7ef89f1f26c 100644 --- a/docs/guides/uptime/analytics/piwik-on-fedora-13/index.md +++ b/docs/guides/uptime/analytics/piwik-on-fedora-13/index.md @@ -20,9 +20,9 @@ deprecated: true Piwik is a downloadable, open source (GPL licensed) web analytics software program. As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership and control of the data collected from your visitors. -For the purpose of this guide, we assume that you have a running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +For the purpose of this guide, we assume that you have a running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). -Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Fedora 13 LAMP guide](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. +Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Fedora 13 LAMP guide](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. ## Prerequisites @@ -54,7 +54,7 @@ You'll need to restart Apache after installing php-gd and modifying the PHP sett This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll append the following virtual host to our `vhost.conf` file, located at `/etc/httpd/conf.d/vhost.conf`: @@ -114,7 +114,7 @@ After installation, follow the first recommendation by adding `charset = utf8` t When Piwik's installation process is complete, you will receive a JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache) or [authentication based access control](/cloud/guides/apache-access-control). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-ubuntu-10-04-lucid/index.md b/docs/guides/uptime/analytics/piwik-on-ubuntu-10-04-lucid/index.md index 15f913f7837..a61033564bf 100644 --- a/docs/guides/uptime/analytics/piwik-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/uptime/analytics/piwik-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program". As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of and control over the data collected from your visitors. -Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 10.04 LAMP guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/). Make sure you follow the steps for installing PHP and PHP-MySQL support. +Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 10.04 LAMP guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid). Make sure you follow the steps for installing PHP and PHP-MySQL support. ## Prerequisites @@ -37,7 +37,7 @@ Piwik requires a few additional dependencies beyond LAMP fundamentals. Most impo This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an [A Record](/cloud/guides/dns-overview/#a-and-aaaa), for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an [A Record](/cloud/guides/dns-overview#a-and-aaaa), for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.org`: @@ -87,7 +87,7 @@ Visit your new Piwik instance in your browser. In our example, this is located a When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache) or [authentication based access control](/cloud/guides/apache-access-control). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-ubuntu-10-10-maverick/index.md b/docs/guides/uptime/analytics/piwik-on-ubuntu-10-10-maverick/index.md index d98b86239f9..eeb78cdc7de 100644 --- a/docs/guides/uptime/analytics/piwik-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/uptime/analytics/piwik-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program." As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of and control over the data collected from your visitors. -Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 10.10 LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/). Make sure you follow the steps for installing PHP and PHP-MySQL support. +Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 10.10 LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04). Make sure you follow the steps for installing PHP and PHP-MySQL support. ## Prerequisites @@ -37,7 +37,7 @@ Piwik requires a few additional dependencies beyond LAMP fundamentals. Most impo This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.org`: @@ -87,7 +87,7 @@ Visit your new Piwik instance in your browser. In our example, this is located a When Piwik's installation process is complete, you will receive a JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache) or [authentication based access control](/cloud/guides/apache-access-control). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/uptime/analytics/piwik-on-ubuntu-12-04-precise-pangolin/index.md index 5c7e8c2e718..1b3aa2e20fb 100644 --- a/docs/guides/uptime/analytics/piwik-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/uptime/analytics/piwik-on-ubuntu-12-04-precise-pangolin/index.md @@ -20,7 +20,7 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program". As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of and control over the data collected from your visitors. -Piwik requires a functioning LAMP stack. You can install the LAMP software with one of the [LAMP guides](/cloud/guides/web-servers/lamp/). Make sure you follow the steps for installing PHP and PHP-MySQL support. +Piwik requires a functioning LAMP stack. You can install the LAMP software with one of the [LAMP guides](/cloud/guides/web-servers/lamp). Make sure you follow the steps for installing PHP and PHP-MySQL support. ## Prerequisites @@ -37,7 +37,7 @@ Piwik requires a few additional dependencies beyond LAMP fundamentals. Most impo This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.org`: @@ -87,6 +87,6 @@ Visit your new Piwik instance in your browser. In our example, this is located a When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache) or [authentication based access control](/cloud/guides/apache-access-control). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-ubuntu-9-04-jaunty/index.md b/docs/guides/uptime/analytics/piwik-on-ubuntu-9-04-jaunty/index.md index c4cd48e0df5..8870998a17b 100644 --- a/docs/guides/uptime/analytics/piwik-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/uptime/analytics/piwik-on-ubuntu-9-04-jaunty/index.md @@ -20,9 +20,9 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program." As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of and control over the data collected from your visitors. -For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). -Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 9.04 LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-04-jaunty/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. +Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 9.04 LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-04-jaunty). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. ## Prerequisites @@ -55,7 +55,7 @@ You'll need to restart Apache after installing php5-gd and modifying the PHP set This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.com`: @@ -105,7 +105,7 @@ Visit your new Piwik instance in your browser. In our example, this is located a When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache) or [authentication based access control](/cloud/guides/apache-access-control). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-ubuntu-9-10-karmic/index.md b/docs/guides/uptime/analytics/piwik-on-ubuntu-9-10-karmic/index.md index 8afe98889fb..0b9a305f9a2 100644 --- a/docs/guides/uptime/analytics/piwik-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/uptime/analytics/piwik-on-ubuntu-9-10-karmic/index.md @@ -20,9 +20,9 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program." As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of and control over the data collected from your visitors. -For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). -Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 9.10 LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. +Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 9.10 LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. ## Prerequisites @@ -55,7 +55,7 @@ You'll need to restart Apache after installing php5-gd and modifying the PHP set This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.com`: @@ -105,7 +105,7 @@ Visit your new Piwik instance in your browser. In our example, this is located a When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache) or [authentication based access control](/cloud/guides/apache-access-control). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/plausible/index.md b/docs/guides/uptime/analytics/plausible/index.md index 32fc83f8496..3e5160d4004 100644 --- a/docs/guides/uptime/analytics/plausible/index.md +++ b/docs/guides/uptime/analytics/plausible/index.md @@ -17,17 +17,17 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' 1. You need to generate an [API Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens). -1. [Deploy a Docker Quick Deploy App](/cloud/marketplace-docs/guides/docker/). This includes creating your limited sudo user, your SSH public key, the previously generated API token, the domain you'd like to use and an email address, the preferred image, region, plan, and root password. There are additional options for opening ports to allow email, however this is only needed if you'll be allowing others to register for this Plausible instance. Once ready click on *Create Linode*. The process will take about 5-10 minutes to complete. +1. [Deploy a Docker Quick Deploy App](/cloud/marketplace-docs/guides/docker). This includes creating your limited sudo user, your SSH public key, the previously generated API token, the domain you'd like to use and an email address, the preferred image, region, plan, and root password. There are additional options for opening ports to allow email, however this is only needed if you'll be allowing others to register for this Plausible instance. Once ready click on *Create Linode*. The process will take about 5-10 minutes to complete. 1. You need a domain name configured in the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager). Create A/AAAA records pointing to the server hosting Docker. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Cloning the Plausible Repository -1. After you created your Compute Instance, you can [login via SSH](/cloud/guides/connect-to-server-over-ssh/) via your local terminal. Once you login, update and upgrade your server. +1. After you created your Compute Instance, you can [login via SSH](/cloud/guides/connect-to-server-over-ssh) via your local terminal. Once you login, update and upgrade your server. ```command sudo apt update && sudo apt upgrade -y diff --git a/docs/guides/uptime/analytics/posthog-on-linode-kubernetes-engine-install/index.md b/docs/guides/uptime/analytics/posthog-on-linode-kubernetes-engine-install/index.md index 5a696db1246..cee4beb9924 100644 --- a/docs/guides/uptime/analytics/posthog-on-linode-kubernetes-engine-install/index.md +++ b/docs/guides/uptime/analytics/posthog-on-linode-kubernetes-engine-install/index.md @@ -60,7 +60,7 @@ Even though Google Analytics is the industry standard, there are many advantages ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install PostHog on the Linode Kubernetes Engine @@ -75,7 +75,7 @@ To install PostHog on an LKE cluster, the system must satisfy the following requ - The cluster must have enough resources to run PostHog. A minimum of four virtual CPUs and 8GB of memory is recommended. - The `kubectl` client must be installed. `kubectl` allows users to install applications on a cluster, view and manage Kubernetes resources, and access log files. `kubectl` can be installed using a package manager or directly downloaded using the `curl` command. More information about `kubectl` is also available in the [Linode Kubernetes Engine Documentation](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) or on the [Kubernetes installation page](https://kubernetes.io/docs/tasks/tools/#install-kubectl-on-linux). - PostHog works best in conjunction with a registered domain name. This name is used to set up PostHog and access the dashboard. For instructions on how to register a domain name and configure the associated DNS records, see the [Linode guide to DNS Configuration](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). -- To install PostHog, first install [Helm v3](https://helm.sh/), which can be used to download, install, and upgrade applications on a cluster. Applications are installed using a Helm chart, which describes the essential resources using a common format. See the [Linode guide to Helm](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/) for more information about Helm. +- To install PostHog, first install [Helm v3](https://helm.sh/), which can be used to download, install, and upgrade applications on a cluster. Applications are installed using a Helm chart, which describes the essential resources using a common format. See the [Linode guide to Helm](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3) for more information about Helm. To install Helm, follow the steps below: diff --git a/docs/guides/uptime/analytics/webalizer-on-centos-5/index.md b/docs/guides/uptime/analytics/webalizer-on-centos-5/index.md index 0a8b834ce9e..18ca2092301 100644 --- a/docs/guides/uptime/analytics/webalizer-on-centos-5/index.md +++ b/docs/guides/uptime/analytics/webalizer-on-centos-5/index.md @@ -22,7 +22,7 @@ deprecated: true Webalizer is an industry standard statistics generation tool. It is useful to analyze traffic to your web server while still remaining lightweight enough not to hinder performance. Webalizer can even identify your user base using GeoIP services. -We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We'll also be installing the [Apache 2 web server](/cloud/guides/apache-2-web-server-on-centos-5/) with very minimal configuration. If you already have Apache installed and configured, feel free to skip these steps. If this is your first time installing Apache on this Linode, make sure to read the installation guide for additional guidance. +We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We'll also be installing the [Apache 2 web server](/cloud/guides/apache-2-web-server-on-centos-5) with very minimal configuration. If you already have Apache installed and configured, feel free to skip these steps. If this is your first time installing Apache on this Linode, make sure to read the installation guide for additional guidance. ## Set the Hostname @@ -59,7 +59,7 @@ At this point we're able to install the required packages for Webalizer. Run the ## Configuring Webalizer for Virtual Hosts -This section assumes that you've already configured at least one virtual host. If you do not have virtual hosting configured, please refer to the guide for [installing Apache](/cloud/guides/apache-2-web-server-on-centos-5/) to further clarify this process and create at least one virtual host. Then, webalizer can generate distinct statistic sets for multiple virtual hosts, using the `webalizer` command line with arguments to process statistics for different virtual host log files. The syntax resembles the following: +This section assumes that you've already configured at least one virtual host. If you do not have virtual hosting configured, please refer to the guide for [installing Apache](/cloud/guides/apache-2-web-server-on-centos-5) to further clarify this process and create at least one virtual host. Then, webalizer can generate distinct statistic sets for multiple virtual hosts, using the `webalizer` command line with arguments to process statistics for different virtual host log files. The syntax resembles the following: webalizer -n hostname -o /path/to/webalizer/output /path/to/logfile.log @@ -97,7 +97,7 @@ With `webalizer` configured, you must create the `webalizer/` directories in eac ### Securing Webalizer Output Directories -Once the `webalizer` script has been tested, we recommend that you place some sort of security on the Webalizer output directories to prevent unauthorized access. Consider using [rule based authentication](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/) to limit access to these files. +Once the `webalizer` script has been tested, we recommend that you place some sort of security on the Webalizer output directories to prevent unauthorized access. Consider using [rule based authentication](/cloud/guides/rulebased-access-control-for-apache) or [authentication based access control](/cloud/guides/apache-access-control) to limit access to these files. ### Testing the Webalizer Script @@ -124,4 +124,4 @@ Congratulations, you have successfully installed Webalizer! You can leave future ## Other Considerations -Even with a low traffic site, Apache logs can become large. If your logs are routinely large, processing those logs can be time-consuming. You should consider [log rotation](/cloud/guides/use-logrotate-to-manage-log-files/) to prevent potential performance issues. +Even with a low traffic site, Apache logs can become large. If your logs are routinely large, processing those logs can be time-consuming. You should consider [log rotation](/cloud/guides/use-logrotate-to-manage-log-files) to prevent potential performance issues. diff --git a/docs/guides/uptime/analytics/webalizer-on-debian-5-lenny/index.md b/docs/guides/uptime/analytics/webalizer-on-debian-5-lenny/index.md index 491808ada9a..6b40de04cc1 100644 --- a/docs/guides/uptime/analytics/webalizer-on-debian-5-lenny/index.md +++ b/docs/guides/uptime/analytics/webalizer-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true Webalizer is an industry standard statistics generation tool. It is useful to analyze traffic to your web server while still remaining lightweight enough not to hinder performance. Webalizer can even identify your user base using GeoIP services. -We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We'll also be installing the [Apache 2 web server](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) with very minimal configuration. If you already have Apache installed and configured, feel free to skip these steps. If this is your first time installing Apache on this Linode, make sure to read the installation guide for additional guidance. +We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We'll also be installing the [Apache 2 web server](/cloud/guides/apache-2-web-server-on-debian-5-lenny) with very minimal configuration. If you already have Apache installed and configured, feel free to skip these steps. If this is your first time installing Apache on this Linode, make sure to read the installation guide for additional guidance. ## Set the Hostname @@ -62,7 +62,7 @@ By default, Webalizer will create configuration files for the Apache 2 default s ## Configuring Webalizer for Virtual Hosts -This section assumes that you've already configured at least one virtual host. If you do not have virtual hosting configured, please refer to the guide for [installing Apache](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) to further clarify this process and create at least one virtual host. Then, webalizer can generate distinct statistic sets for multiple virtual hosts, using the `webalizer` command line with arguments to process statistics for different virtual host log files. The syntax resembles the following: +This section assumes that you've already configured at least one virtual host. If you do not have virtual hosting configured, please refer to the guide for [installing Apache](/cloud/guides/apache-2-web-server-on-debian-5-lenny) to further clarify this process and create at least one virtual host. Then, webalizer can generate distinct statistic sets for multiple virtual hosts, using the `webalizer` command line with arguments to process statistics for different virtual host log files. The syntax resembles the following: webalizer -n hostname -o /path/to/webalizer/output /path/to/logfile.log @@ -93,7 +93,7 @@ Now that we have created the configuration files, we must create the Webalizer d ### Securing Webalizer Output Directories -Once the `webalizer` script has been tested, we recommend that you place some sort of security on the Webalizer output directories to prevent unauthorized access. Consider using [rule based authentication](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/) to limit access to these files. +Once the `webalizer` script has been tested, we recommend that you place some sort of security on the Webalizer output directories to prevent unauthorized access. Consider using [rule based authentication](/cloud/guides/rulebased-access-control-for-apache) or [authentication based access control](/cloud/guides/apache-access-control) to limit access to these files. ### Testing the Webalizer Script diff --git a/docs/guides/uptime/analytics/zipkin-server-configuration-using-docker-and-mysql/index.md b/docs/guides/uptime/analytics/zipkin-server-configuration-using-docker-and-mysql/index.md index 4a8004136cf..20d6af6c548 100644 --- a/docs/guides/uptime/analytics/zipkin-server-configuration-using-docker-and-mysql/index.md +++ b/docs/guides/uptime/analytics/zipkin-server-configuration-using-docker-and-mysql/index.md @@ -24,7 +24,7 @@ We can configure Zipkin by [deploying it in a Docker container](http://zipkin.io 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. This guide will use the hostname 'zipkinhost'. Also, do **not** follow the Configure a Firewall section yet. This guide includes firewall rules specifically for a Zipkin server. -3. Assuming you know how to instrument a Zipkin client machine or have walked through our [Set Up a Zipkin Server with Sample Website Tracking](/cloud/guides/set-up-a-zipkin-server/) guide. +3. Assuming you know how to instrument a Zipkin client machine or have walked through our [Set Up a Zipkin Server with Sample Website Tracking](/cloud/guides/set-up-a-zipkin-server) guide. 4. You will need an analyst system (laptop or workstation) with a web browser. This system will be used to view the traces/spans in the Zipkin server through the Zipkin provided webservice. diff --git a/docs/guides/uptime/best-practices/reboot-survival-guide/index.md b/docs/guides/uptime/best-practices/reboot-survival-guide/index.md index 7f2111d43ce..e3323503550 100644 --- a/docs/guides/uptime/best-practices/reboot-survival-guide/index.md +++ b/docs/guides/uptime/best-practices/reboot-survival-guide/index.md @@ -38,7 +38,7 @@ All critical data should be backed up, and if possible in more than one location ### Backing up Databases -Proper backup knowledge for a database is important. Steps for properly backing up your MySQL or MariaDB database can be found [here](/cloud/guides/mysqldump-backups/). +Proper backup knowledge for a database is important. Steps for properly backing up your MySQL or MariaDB database can be found [here](/cloud/guides/mysqldump-backups). ### Backing up Important Files @@ -191,6 +191,6 @@ You can deploy your services to an additional Linode to enable high availability {{< /note >}} - [Linode NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer) - - [Using Nginx for Proxy Services and Software Load Balancing](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) - - [MySQL Master-Master Replication](/cloud/guides/configure-master-master-mysql-database-replication/) - - [MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) + - [Using Nginx for Proxy Services and Software Load Balancing](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) + - [MySQL Master-Master Replication](/cloud/guides/configure-master-master-mysql-database-replication) + - [MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu) diff --git a/docs/guides/uptime/loadbalancing/application-http-vs-network-tcp-load-balancers/index.md b/docs/guides/uptime/loadbalancing/application-http-vs-network-tcp-load-balancers/index.md index 4aceeccc5d8..f8cada9b130 100644 --- a/docs/guides/uptime/loadbalancing/application-http-vs-network-tcp-load-balancers/index.md +++ b/docs/guides/uptime/loadbalancing/application-http-vs-network-tcp-load-balancers/index.md @@ -11,9 +11,9 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' Load balancing is the process of distributing client requests across multiple servers. Originally, load balancers were dedicated hardware appliances connected to physical servers in data centers. Today, software products such as [Akamai NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer) perform the same role with cloud-based servers. -Whether hardware or software, the concept is the same. Load balancers act as a reverse proxy for client requests, parceling out requests across servers to avoid resource exhaustion. Load balancers take many forms and offer [many features](/cloud/guides/load-balancing-fundamentals/). However, they all route client requests to back-end servers using either application-layer (HTTP/S) or transport-layer (TCP) criteria. Distributing the load in this way can help ensure the best performance, availability, scalability, and security. With Akamai NodeBalancers, it’s simple to take advantage of the features available at either layer. +Whether hardware or software, the concept is the same. Load balancers act as a reverse proxy for client requests, parceling out requests across servers to avoid resource exhaustion. Load balancers take many forms and offer [many features](/cloud/guides/load-balancing-fundamentals). However, they all route client requests to back-end servers using either application-layer (HTTP/S) or transport-layer (TCP) criteria. Distributing the load in this way can help ensure the best performance, availability, scalability, and security. With Akamai NodeBalancers, it’s simple to take advantage of the features available at either layer. -Transmission Control Protocol (TCP) resides at the transport layer (L4) in the [seven-layer OSI model](/cloud/guides/introduction-to-osi-networking-model/). Meanwhile, Hypertext Transport Protocol (HTTP) and secure HTTP (HTTPS) reside at the higher application layer (L7). Both TCP and HTTP have their place when it comes to load balancing. +Transmission Control Protocol (TCP) resides at the transport layer (L4) in the [seven-layer OSI model](/cloud/guides/introduction-to-osi-networking-model). Meanwhile, Hypertext Transport Protocol (HTTP) and secure HTTP (HTTPS) reside at the higher application layer (L7). Both TCP and HTTP have their place when it comes to load balancing. If your application is a website or uses a web-accessible front end, it can be preferable to use application-layer (HTTP) load balancing. Using an HTTP load balancer allows you to view the contents of a client's HTTP request *before* you determine which back-end machine it is routed to. This enables you to make use of application-layer data in HTTP headers. Depending on the features of the load balancer, it may be able to read these headers to dynamically route the traffic (such as routing requests for `example.com/app` to a different set of back-ends than `example.com/blog`). diff --git a/docs/guides/uptime/loadbalancing/configure-failover-for-haproxy-on-akamai/index.md b/docs/guides/uptime/loadbalancing/configure-failover-for-haproxy-on-akamai/index.md index 53b80e4a495..02deb36f863 100644 --- a/docs/guides/uptime/loadbalancing/configure-failover-for-haproxy-on-akamai/index.md +++ b/docs/guides/uptime/loadbalancing/configure-failover-for-haproxy-on-akamai/index.md @@ -17,7 +17,7 @@ This guide uses the free and open source (*FOSS*) version of HAProxy to create a ## Before You Begin -1. Follow the steps in [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/) to create the example HAProxy instance and WordPress backend servers. +1. Follow the steps in [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks) to create the example HAProxy instance and WordPress backend servers. 1. Deploy a second HAProxy instance in the same data center, configured identically to the first HAProxy server. @@ -28,7 +28,7 @@ This guide uses the free and open source (*FOSS*) version of HAProxy to create a 1. Link the second HAProxy instance to the new IP address on the first instance by following the *Configuring IP Sharing* section of [Managing IP Addresses on a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#configuring-ip-sharing). {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Configure the Shared IP Address diff --git a/docs/guides/uptime/loadbalancing/configure-health-checks-nodebalancers-remove-nonworking-backends/index.md b/docs/guides/uptime/loadbalancing/configure-health-checks-nodebalancers-remove-nonworking-backends/index.md index 5c0a8f2ee03..de7d2949e3a 100644 --- a/docs/guides/uptime/loadbalancing/configure-health-checks-nodebalancers-remove-nonworking-backends/index.md +++ b/docs/guides/uptime/loadbalancing/configure-health-checks-nodebalancers-remove-nonworking-backends/index.md @@ -47,7 +47,7 @@ Use the following settings to provision each of the three back-end server instan - **Details** : Name each instance `srv1`, `srv2`, and `srv3`, respectively, under **Linode Label**. - **Add-ons**: A **Private IP** is mandatory for each instance. NodeBalancers only distribute client requests to back-end servers over a region's private network. -1. Once your servers are up and running, log in to each using [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish), and install the NGINX web server: +1. Once your servers are up and running, log in to each using [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish), and install the NGINX web server: ```command sudo apt install nginx diff --git a/docs/guides/uptime/loadbalancing/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/index.md b/docs/guides/uptime/loadbalancing/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/index.md index 029176fe779..63c71f0ef8e 100644 --- a/docs/guides/uptime/loadbalancing/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/index.md +++ b/docs/guides/uptime/loadbalancing/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/index.md @@ -28,7 +28,7 @@ This guide demonstrates how to install HAProxy onto three Linux distributions: U 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. This guide uses WordPress backend instances to demonstrate how HAProxy controls network traffic flows at both the TCP/Network (Layer 4) and HTTP/Application (Layer 7) levels. Follow the steps in our [Deploy WordPress through the Linode Marketplace](/cloud/marketplace-docs/guides/wordpress/) guide to create three backend WordPress test instances. Fill out all required fields under **WordPress Setup**, and use default values along with the following options: +1. This guide uses WordPress backend instances to demonstrate how HAProxy controls network traffic flows at both the TCP/Network (Layer 4) and HTTP/Application (Layer 7) levels. Follow the steps in our [Deploy WordPress through the Linode Marketplace](/cloud/marketplace-docs/guides/wordpress) guide to create three backend WordPress test instances. Fill out all required fields under **WordPress Setup**, and use default values along with the following options: - **The stack you are looking to deploy Wordpress on**: Choose either **LAMP** or **LEMP**. - **Website title**: For each instance, enter `backend1`, `backend2`, and `backend3`, respectively. @@ -40,7 +40,7 @@ This guide demonstrates how to install HAProxy onto three Linux distributions: U Each server is generated with an `index.html` home page that indicates the given title of the website hosted on the instance (`backend1`, `backend2`, or `backend3`). Open a web browser and navigate to each server's IP address to verify that the example test servers are functioning. Take note of the IP addresses of each backend instance, as they are used later. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install HAProxy diff --git a/docs/guides/uptime/loadbalancing/how-to-configure-haproxy-http-load-balancing-and-health-checks/index.md b/docs/guides/uptime/loadbalancing/how-to-configure-haproxy-http-load-balancing-and-health-checks/index.md index 8d4c7af2021..54d8730b119 100644 --- a/docs/guides/uptime/loadbalancing/how-to-configure-haproxy-http-load-balancing-and-health-checks/index.md +++ b/docs/guides/uptime/loadbalancing/how-to-configure-haproxy-http-load-balancing-and-health-checks/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' [HAProxy](http://www.haproxy.org) is an intermediary gateway application that manages traffic between frontend clients and backend server resources. HAProxy can be configured to load balance traffic between a set of backend servers, and it can be configured to route HTTP requests according to the URL path of the request. -This guide is the second part in a series on HAProxy. The first guide, [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/), provided steps to build a minimally configured network of Nanodes: +This guide is the second part in a series on HAProxy. The first guide, [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks), provided steps to build a minimally configured network of Nanodes: - An HAProxy node was set up as a TCP load balancer - Three Akamai Quick Deploy App WordPress servers served as the backends @@ -21,10 +21,10 @@ This second guide presents another configuration for this server cluster that de ## Before You Begin -Follow the [Before You Begin](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/#before-you-begin) and [Install HAProxy](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/#install-haproxy) sections of the [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/) guide. +Follow the [Before You Begin](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks#before-you-begin) and [Install HAProxy](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks#install-haproxy) sections of the [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## HTTP Path-based Routing @@ -117,7 +117,7 @@ To demonstrate how path-based routing works in practice, follow these steps for ## HTTP Health Checks -In [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/), the HAProxy gateway was configured to test TCP and Layer 4 connectivity, marking servers as down when errors accumulate over time. HTTP health checks work similarly, but use standard HTTP response codes to mark servers as "down" based on their performance over a specified interval. +In [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks), the HAProxy gateway was configured to test TCP and Layer 4 connectivity, marking servers as down when errors accumulate over time. HTTP health checks work similarly, but use standard HTTP response codes to mark servers as "down" based on their performance over a specified interval. Like TCP health checks, HTTP health checks continue to test a server marked as "down" to see if it begins to respond. If it starts responding correctly, the server is added back to the pool of active servers. diff --git a/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md b/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md index ec03b6fc0d2..d890079dba0 100644 --- a/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md +++ b/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md @@ -35,7 +35,7 @@ This guide will describe the installation and configuration of HAProxy for load- 3. This guide uses private IP addresses in the example configurations. To set up private IPs and enable internal networking between Linodes, follow the steps in our [Linux Static IP Configuration](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance) guide. {{< note >}} -This guide is written for a non-root user. Commands requiring administrative privileges are prefixed with `sudo`. Refer to our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide for more information on how to use `sudo`. +This guide is written for a non-root user. Commands requiring administrative privileges are prefixed with `sudo`. Refer to our [Users and Groups](/cloud/guides/linux-users-and-groups) guide for more information on how to use `sudo`. {{< /note >}} ## Installation diff --git a/docs/guides/uptime/loadbalancing/load-balancing-fundamentals/index.md b/docs/guides/uptime/loadbalancing/load-balancing-fundamentals/index.md index 9cd504ad93e..fe015b00908 100644 --- a/docs/guides/uptime/loadbalancing/load-balancing-fundamentals/index.md +++ b/docs/guides/uptime/loadbalancing/load-balancing-fundamentals/index.md @@ -61,7 +61,7 @@ Static algorithms always make the same decisions based on the same inputs. Dynam A round robin algorithm rotates among all available servers when parceling out client requests. For example, Request 1 goes to Server 1, Request 2 goes to Server 2, and so on up to Server N. At that point, the algorithm sends the next request to Server 1. -- **Pros**: Easiest algorithm to [implement and manage](/cloud/guides/setting-up-round-robin-dns/). A good choice when client requests and responses are highly self-similar. Each request resembles every other in terms of size and response time. Also good when processing capacity is equal across all servers. +- **Pros**: Easiest algorithm to [implement and manage](/cloud/guides/setting-up-round-robin-dns). A good choice when client requests and responses are highly self-similar. Each request resembles every other in terms of size and response time. Also good when processing capacity is equal across all servers. - **Cons**: May worsen existing congestion by sending requests to an already overloaded server. Performance may degrade over time because clients invariably request objects of different sizes, leading to uneven server loading. Also ill-suited when servers differ in terms of processing capability. @@ -102,7 +102,7 @@ HTTP/HTTPS load balancers may compute a hash of a URL and then cache the hashed - **Cons**: Not appropriate for email, most types of instant messaging, and other applications or services that do not run over HTTP. May require decryption and re-encryption of traffic secured with Transport Layer Security (TLS, which now represents the vast majority of web requests) before it can read HTTP requests. TLS decryption/encryption requires additional processing capability. {{< note >}} -For more information on TCP and HTTP/HTTPS load balancers, see our [Application (HTTP) vs Network (TCP) Load Balancers](/cloud/guides/application-http-vs-network-tcp-load-balancers/) guide. +For more information on TCP and HTTP/HTTPS load balancers, see our [Application (HTTP) vs Network (TCP) Load Balancers](/cloud/guides/application-http-vs-network-tcp-load-balancers) guide. {{< /note >}} ### Dynamic Load Balancing Algorithms diff --git a/docs/guides/uptime/loadbalancing/use-nginx-as-a-front-end-proxy-and-software-load-balancer/index.md b/docs/guides/uptime/loadbalancing/use-nginx-as-a-front-end-proxy-and-software-load-balancer/index.md index 9c02e0505a8..017217cebca 100644 --- a/docs/guides/uptime/loadbalancing/use-nginx-as-a-front-end-proxy-and-software-load-balancer/index.md +++ b/docs/guides/uptime/loadbalancing/use-nginx-as-a-front-end-proxy-and-software-load-balancer/index.md @@ -13,7 +13,7 @@ aliases: [] external_resources: - '[NGINX Proxy Module](http://wiki.nginx.org/NginxHttpProxyModule)' - '[HTTP Upstream Module](http://wiki.nginx.org/NginxHttpUpstreamModule)' - - '[NGINX Configuration](/cloud/guides/how-to-configure-nginx/)' + - '[NGINX Configuration](/cloud/guides/how-to-configure-nginx)' dedicated_cpu_link: true --- @@ -21,19 +21,19 @@ The NGINX web server can act as a very capable software load balancer, in additi ![Use NGINX as a Front-end Proxy and Software Load Balancer](use_nginx_as_a_frontend_proxy_and_software_load_balancer.png "Use Nginx as a Front-end Proxy and Software Load Balancer") -Using a proxy is helpful when the demands of serving a single website outgrow the capabilities of a single machine. Additionally, there are some web frameworks, like [Seaside](/cloud/guides/deploy-smalltalk-applications-with-seaside/) and Ruby On Rails's Mongrel server, that deploy applications on framework-specific web servers. While these single-purpose servers provide powerful application services, they are not suitable for hosting entire applications. In these cases, using NGINX as a front-end proxy to pass only the essential requests to the application server is a viable means of unifying dynamic content with static content and providing a stable production environment. +Using a proxy is helpful when the demands of serving a single website outgrow the capabilities of a single machine. Additionally, there are some web frameworks, like [Seaside](/cloud/guides/deploy-smalltalk-applications-with-seaside) and Ruby On Rails's Mongrel server, that deploy applications on framework-specific web servers. While these single-purpose servers provide powerful application services, they are not suitable for hosting entire applications. In these cases, using NGINX as a front-end proxy to pass only the essential requests to the application server is a viable means of unifying dynamic content with static content and providing a stable production environment. -This document provides an overview of using NGINX as a front-end proxy server for other HTTP servers, and as a software load balancer to distribute traffic across a cluster of machines providing HTTP resources. For an introductory guide to configuring NGINX, please see our [Basic NGINX Configuration](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) guide. If you want a simple NGINX deployment with content that uses PHP or Perl scripts, consider following one of our [Installing NGINX](/cloud/guides/web-servers/nginx/) guides. +This document provides an overview of using NGINX as a front-end proxy server for other HTTP servers, and as a software load balancer to distribute traffic across a cluster of machines providing HTTP resources. For an introductory guide to configuring NGINX, please see our [Basic NGINX Configuration](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) guide. If you want a simple NGINX deployment with content that uses PHP or Perl scripts, consider following one of our [Installing NGINX](/cloud/guides/web-servers/nginx) guides. ## Before You Begin Ensure that you have completed the following: - Follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -- Install the [NGINX server](/cloud/guides/web-servers/nginx/). -- Familiarize yourself with [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/). +- Install the [NGINX server](/cloud/guides/web-servers/nginx). +- Familiarize yourself with [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx). -If you're new to Linux server administration, you may be interested in our [introduction to Linux basics](/cloud/guides/introduction-to-linux-concepts/) guide, [Beginner's Guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [Administration Basics](/cloud/guides/linux-system-administration-basics/) guide. +If you're new to Linux server administration, you may be interested in our [introduction to Linux basics](/cloud/guides/introduction-to-linux-concepts) guide, [Beginner's Guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [Administration Basics](/cloud/guides/linux-system-administration-basics) guide. ## Front-End Proxy Services with NGINX: How It Works diff --git a/docs/guides/uptime/logs/how-to-use-fluentd-for-data-logging/index.md b/docs/guides/uptime/logs/how-to-use-fluentd-for-data-logging/index.md index fa58f58525c..b716f1ba0b5 100644 --- a/docs/guides/uptime/logs/how-to-use-fluentd-for-data-logging/index.md +++ b/docs/guides/uptime/logs/how-to-use-fluentd-for-data-logging/index.md @@ -58,7 +58,7 @@ The output plug-ins, prefixed with `out_`, have three different flushing and buf 1. Fluentd input and output are synchronized to a time source, and Fluentd recommends setting up a Network Time Protocol daemon prior to software installation. In cloud environments with many separated data sources, a single source of NTP synchronization is recommended. The NTP time becomes the basis for data stamping through the parsing stages that Fluentd performs. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} The commands, file contents, and other instructions provided throughout this guide may include placeholders. These are typically domain names, IP addresses, usernames, passwords, and other values that are unique to you. The table below identifies these placeholders and explains what to replace them with: diff --git a/docs/guides/uptime/logs/use-logrotate-to-manage-log-files/index.md b/docs/guides/uptime/logs/use-logrotate-to-manage-log-files/index.md index 27213dde30d..05413a47658 100644 --- a/docs/guides/uptime/logs/use-logrotate-to-manage-log-files/index.md +++ b/docs/guides/uptime/logs/use-logrotate-to-manage-log-files/index.md @@ -28,7 +28,7 @@ Beyond the system-wide log rotation configuration, you can also configure `logro ### Run logrotate as a cronjob -Run `logrotate` as a [cronjob](/cloud/guides/schedule-tasks-with-cron/) to ensures that logs will be rotated as regularly as configured. Logs will only be rotated when `logrotate` runs, regardless of configuration. For example, if you configure `logrotate` to rotate logs every day, but `logrotate` only runs every week, the logs will only be rotated every week. +Run `logrotate` as a [cronjob](/cloud/guides/schedule-tasks-with-cron) to ensures that logs will be rotated as regularly as configured. Logs will only be rotated when `logrotate` runs, regardless of configuration. For example, if you configure `logrotate` to rotate logs every day, but `logrotate` only runs every week, the logs will only be rotated every week. For most daemon processes, logs should be rotated by the root user. In most cases, `logrotate` is invoked from a script in the `/etc/cron.daily/` directory. If one does not exist, create a script that resembles the following in the `/etc/cron.daily/` folder: @@ -78,7 +78,7 @@ mail {{< /file >}} -Your system will need a functioning [Mail Transfer Agent](/cloud/guides/email/) to be able to send email. +Your system will need a functioning [Mail Transfer Agent](/cloud/guides/email) to be able to send email. {{% content "email-warning-shortguide" %}} diff --git a/docs/guides/uptime/monitoring/adagios-web-interface-for-nagios/index.md b/docs/guides/uptime/monitoring/adagios-web-interface-for-nagios/index.md index 04d2f6b8260..60d8ea9a734 100644 --- a/docs/guides/uptime/monitoring/adagios-web-interface-for-nagios/index.md +++ b/docs/guides/uptime/monitoring/adagios-web-interface-for-nagios/index.md @@ -27,7 +27,7 @@ In this tutorial, learn how to get started with Adagios on a CentOS Stream 8 or 1. Your Compute Instance needs to be on the Linode 8 GB Shared CPU plan, at minimum, as these instructions require a large amount of disk space. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Getting Started with Nagios @@ -40,7 +40,7 @@ Before diving into Adagios, you should have a base familiarity with Nagios, the ### How to Install Nagios -Before getting started with Adagios, Nagios must be installed and configured on your system. To install Nagios, follow our [How to Install Nagios on CentOS 8](/cloud/guides/install-nagios-on-centos-8/) guide. +Before getting started with Adagios, Nagios must be installed and configured on your system. To install Nagios, follow our [How to Install Nagios on CentOS 8](/cloud/guides/install-nagios-on-centos-8) guide. Alternatively, refer to the official [installation documentation](https://support.nagios.com/kb/article/nagios-core-installing-nagios-core-from-source-96.html) for Nagios Core for details on installing Nagios on other operating systems. diff --git a/docs/guides/uptime/monitoring/deploy-munin-to-monitor-servers-on-ubuntu-12-04/index.md b/docs/guides/uptime/monitoring/deploy-munin-to-monitor-servers-on-ubuntu-12-04/index.md index 310ba90504a..d3a2d943b46 100644 --- a/docs/guides/uptime/monitoring/deploy-munin-to-monitor-servers-on-ubuntu-12-04/index.md +++ b/docs/guides/uptime/monitoring/deploy-munin-to-monitor-servers-on-ubuntu-12-04/index.md @@ -27,7 +27,7 @@ The Linode Manager provides some basic monitoring of system resource utilization Munin is a system and network monitoring tool that uses RRDTool to generate useful visualizations of resource usage. The primary goal of the Munin project is to provide an easy-to-use tool that is simple to install and configure and provides information in an accessible web-based interface. Munin also makes it possible to monitor multiple "nodes" with a single installation. -Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you'll need to install a web server, such as [Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/), in order to use the web interface. +Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, you'll need to install a web server, such as [Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid), in order to use the web interface. ## Install Munin @@ -93,7 +93,7 @@ The above line tells the munin-node that the master Munin server is located at I You can use Munin with the web server of your choice, simply point your web server to provide access to resources created by Munin. By default, these resources are located at `/var/cache/munin/www`. -If you are using the [Apache HTTP Server](/cloud/guides/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: +If you are using the [Apache HTTP Server](/cloud/guides/web-servers/apache) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: {{< file "/etc/apache2/sites-available/stats.example.org" >}} @@ -121,4 +121,4 @@ Now, restart the server so that the changes to your configuration file can take You should now be able to see your site's statistics by appending `/munin` to the end of your IP address (e.g. `12.34.56.78/munin`.) If you don't see any statistics at first, be sure to wait for Munin to update; Munin refreshes every 5 minutes. -In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control/) to require a password before permitting access. You may want to examine Munin's example Apache configuration file at `/etc/munin/apache.conf`. In addition to protecting the `stats.` virtual host, also ensure that the Munin controls are protected on the default virtual host (e.g. by visiting `http://12.34.56.78/munin/` where `12.34.56.78` is the IP address of your server.) +In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule-based access control](/cloud/guides/rulebased-access-control-for-apache) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control) to require a password before permitting access. You may want to examine Munin's example Apache configuration file at `/etc/munin/apache.conf`. In addition to protecting the `stats.` virtual host, also ensure that the Munin controls are protected on the default virtual host (e.g. by visiting `http://12.34.56.78/munin/` where `12.34.56.78` is the IP address of your server.) diff --git a/docs/guides/uptime/monitoring/how-to-install-and-configure-graylog2-on-debian-9/index.md b/docs/guides/uptime/monitoring/how-to-install-and-configure-graylog2-on-debian-9/index.md index f515bf4f453..bb99fecf9d0 100644 --- a/docs/guides/uptime/monitoring/how-to-install-and-configure-graylog2-on-debian-9/index.md +++ b/docs/guides/uptime/monitoring/how-to-install-and-configure-graylog2-on-debian-9/index.md @@ -27,7 +27,7 @@ Graylog uses Elasticsearch for searching and storing the log messages, and Mongo This guide shows you how to install and configure Graylog2 with Elasticsearch and MongoDB on a Debian 9 server. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/uptime/monitoring/how-to-install-prometheus-and-grafana-on-ubuntu/index.md b/docs/guides/uptime/monitoring/how-to-install-prometheus-and-grafana-on-ubuntu/index.md index 8b1237cc3c0..23731a8d479 100644 --- a/docs/guides/uptime/monitoring/how-to-install-prometheus-and-grafana-on-ubuntu/index.md +++ b/docs/guides/uptime/monitoring/how-to-install-prometheus-and-grafana-on-ubuntu/index.md @@ -72,7 +72,7 @@ Installing a complete Prometheus and Grafana-based system is a multi-step proces 1. In most cases, Prometheus and Grafana are used to monitor external servers. To duplicate the configuration in this guide, create and set up a second Linode Compute Instance to use as a client. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install and Configure Prometheus, Grafana, and Node Exporter diff --git a/docs/guides/uptime/monitoring/how-to-use-monitorix-for-system-monitoring/index.md b/docs/guides/uptime/monitoring/how-to-use-monitorix-for-system-monitoring/index.md index f38186ff7a4..7fb026fa590 100644 --- a/docs/guides/uptime/monitoring/how-to-use-monitorix-for-system-monitoring/index.md +++ b/docs/guides/uptime/monitoring/how-to-use-monitorix-for-system-monitoring/index.md @@ -12,9 +12,9 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: UseMonitorix_sysmon.png --- -[Monitorix](https://www.monitorix.org/) is a free, open-source system monitoring tool that keeps track of several Linux services and system resources. This Linux system monitoring tool is composed of two programs. The first, monitorix, is a system data logging daemon written in [Perl](/cloud/guides/development/perl/). The second, its web interface, uses the CGI script, `monitorix.cgi`. +[Monitorix](https://www.monitorix.org/) is a free, open-source system monitoring tool that keeps track of several Linux services and system resources. This Linux system monitoring tool is composed of two programs. The first, monitorix, is a system data logging daemon written in [Perl](/cloud/guides/development/perl). The second, its web interface, uses the CGI script, `monitorix.cgi`. -Besides tracking Linux server elements such as overall system load, file system activity, and global kernel usage, Monitorix also tracks hardware data such as sub-system temperatures, battery status, and UPS statistics. It also monitors popular third-party Linux programs such as mail servers; [libvirt](https://libvirt.org/)-based virtual machines; and [MySQL](https://www.mysql.com/), [Nginx](/cloud/guides/web-servers/nginx/), and [MongoDB](/cloud/guides/databases/mongodb/) databases. +Besides tracking Linux server elements such as overall system load, file system activity, and global kernel usage, Monitorix also tracks hardware data such as sub-system temperatures, battery status, and UPS statistics. It also monitors popular third-party Linux programs such as mail servers; [libvirt](https://libvirt.org/)-based virtual machines; and [MySQL](https://www.mysql.com/), [Nginx](/cloud/guides/web-servers/nginx), and [MongoDB](/cloud/guides/databases/mongodb) databases. Monitorix was originally designed for the [Red Hat Enterprise Linux](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux) operating system family. Now, licensed under [GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html), it works on all major Linux server distributions. Beginning with version 3.0, Monitorix comes with its own web server, which is useful for remote Linux server monitoring. With its simple graphical interface, it's also good for interactive server monitoring. @@ -68,7 +68,7 @@ Debian and Ubuntu Linux systems contain an additional configuration file, `/etc/ sudo service monitorix restart {{< note >}} -By default, Monitorix uses its built-in web server. However, it can be set to work with the [Apache](/cloud/guides/web-servers/apache/), [Lighttpd](/cloud/guides/web-servers/lighttpd/), or Nginx web servers. +By default, Monitorix uses its built-in web server. However, it can be set to work with the [Apache](/cloud/guides/web-servers/apache), [Lighttpd](/cloud/guides/web-servers/lighttpd), or Nginx web servers. {{< /note >}} ## Getting started with Monitorix @@ -109,7 +109,7 @@ If you are running Monitorix on your computer, instead, navigate to `http://loca - The Monitorix daemon stores its log files by default to `/var/log/monitorix`. The data within these logs are typically displayed by the built-in web server. Monitorix's default web address is `http://localhost:8080/monitorix`. -- For authentication, Monitorix uses [HTTP basic access authentication](/cloud/guides/apache-access-control/#the-caveats-of-http-authentication). User passwords are set using the [htpasswd.pl script](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/). +- For authentication, Monitorix uses [HTTP basic access authentication](/cloud/guides/apache-access-control#the-caveats-of-http-authentication). User passwords are set using the [htpasswd.pl script](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/). - The Monitorix web interface can also [monitor multiple Linux servers](https://www.monitorix.org/documentation.html#58). diff --git a/docs/guides/uptime/monitoring/how-to-use-zabbix/index.md b/docs/guides/uptime/monitoring/how-to-use-zabbix/index.md index 5ad16f51115..87779055380 100644 --- a/docs/guides/uptime/monitoring/how-to-use-zabbix/index.md +++ b/docs/guides/uptime/monitoring/how-to-use-zabbix/index.md @@ -49,10 +49,10 @@ Some of the main highlights and advantages of Zabbix are as follows. See the [li 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. The Zabbix server software must already be installed on a Linode. Consult the documentation on [Deploying Zabbix Using the Linode Marketplace](/cloud/marketplace-docs/guides/zabbix/) for more information. +1. The Zabbix server software must already be installed on a Linode. Consult the documentation on [Deploying Zabbix Using the Linode Marketplace](/cloud/marketplace-docs/guides/zabbix) for more information. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Configure Zabbix @@ -61,7 +61,7 @@ To use Zabbix to monitor a Linux host, the host must be running the official Zab ### How to Install the Zabbix Server -Although Zabbix can be installed from the source code or packages, it is quicker and easier to use the Linode Marketplace. For information on how to install Zabbix using this method, see the [Zabbix Quick Deploy App documentation](/cloud/marketplace-docs/guides/zabbix/). Currently, the Quick Deploy App only supports Zabbix installations on CentOS. For package installation guidelines for other Linux distributions, see the [Zabbix installation instructions](https://www.zabbix.com/documentation/6.0/en/manual/installation/install_from_packages). +Although Zabbix can be installed from the source code or packages, it is quicker and easier to use the Linode Marketplace. For information on how to install Zabbix using this method, see the [Zabbix Quick Deploy App documentation](/cloud/marketplace-docs/guides/zabbix). Currently, the Quick Deploy App only supports Zabbix installations on CentOS. For package installation guidelines for other Linux distributions, see the [Zabbix installation instructions](https://www.zabbix.com/documentation/6.0/en/manual/installation/install_from_packages). ### How to Install the Zabbix Client diff --git a/docs/guides/uptime/monitoring/install-icinga2-monitoring-on-debian-9/index.md b/docs/guides/uptime/monitoring/install-icinga2-monitoring-on-debian-9/index.md index 2b2e423c886..3a75de361b2 100644 --- a/docs/guides/uptime/monitoring/install-icinga2-monitoring-on-debian-9/index.md +++ b/docs/guides/uptime/monitoring/install-icinga2-monitoring-on-debian-9/index.md @@ -33,9 +33,9 @@ This guide shows how to install and configure the latest version of Icinga 2 web 2. Many of the commands in this guide require root privileges. Complete the sections of our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to create a standard user account, harden SSH access and remove unnecessary network services. Use `sudo` wherever necessary. -3. Configure a [LAMP Stack](/cloud/guides/lamp-on-debian-8-jessie/). +3. Configure a [LAMP Stack](/cloud/guides/lamp-on-debian-8-jessie). -4. [Configure a mail server](/cloud/guides/email/) in order to have Icinga send email alerts. +4. [Configure a mail server](/cloud/guides/email) in order to have Icinga send email alerts. 5. Update your system: diff --git a/docs/guides/uptime/monitoring/install-nagios-4-on-ubuntu-debian-8/index.md b/docs/guides/uptime/monitoring/install-nagios-4-on-ubuntu-debian-8/index.md index 16f126aed48..9024418bac7 100644 --- a/docs/guides/uptime/monitoring/install-nagios-4-on-ubuntu-debian-8/index.md +++ b/docs/guides/uptime/monitoring/install-nagios-4-on-ubuntu-debian-8/index.md @@ -28,13 +28,13 @@ A monitoring tool is a key application in a production server. Nagios is a popul 1. In order to run Nagios on your Linode, follow the configuration steps for Ubuntu or Debian 8 from our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). -2. Install and configure a LAMP stack (Linux, Apache, MySQL and PHP stack). Follow the [LAMP on Ubuntu 14.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) or [LAMP on Debian 8](/cloud/guides/lamp-on-debian-8-jessie/) guide for instructions. +2. Install and configure a LAMP stack (Linux, Apache, MySQL and PHP stack). Follow the [LAMP on Ubuntu 14.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) or [LAMP on Debian 8](/cloud/guides/lamp-on-debian-8-jessie) guide for instructions. 3. Install updates: sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Nagios diff --git a/docs/guides/uptime/monitoring/install-nagios-on-centos-8/index.md b/docs/guides/uptime/monitoring/install-nagios-on-centos-8/index.md index 3d826250877..14765030409 100644 --- a/docs/guides/uptime/monitoring/install-nagios-on-centos-8/index.md +++ b/docs/guides/uptime/monitoring/install-nagios-on-centos-8/index.md @@ -28,7 +28,7 @@ Learn how to get started with Nagios on CentOS, AlmaLinux, and Rocky Linux in th 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Nagios @@ -41,7 +41,7 @@ While the steps in this tutorial focus on CentOS Stream 8, they should also work ### Preparing the System -In addition to the steps in the [Before You Begin](/cloud/guides/install-nagios-on-centos-8/#before-you-begin) section above, Nagios has a few more installation prerequisites. +In addition to the steps in the [Before You Begin](/cloud/guides/install-nagios-on-centos-8#before-you-begin) section above, Nagios has a few more installation prerequisites. 1. First, set SELinux to permissive mode. This limits SELinux to issuing warnings rather than rules enforcement. @@ -53,7 +53,7 @@ In addition to the steps in the [Before You Begin](/cloud/guides/install-nagios- sudo setenforce 0 ``` - Learn more about SELinux in our guides [Getting Started with SELinux on CentOS 8](/cloud/guides/a-beginners-guide-to-selinux-on-centos-8/) and [Changing SELinux Modes](/cloud/guides/how-to-change-selinux-modes/). + Learn more about SELinux in our guides [Getting Started with SELinux on CentOS 8](/cloud/guides/a-beginners-guide-to-selinux-on-centos-8) and [Changing SELinux Modes](/cloud/guides/how-to-change-selinux-modes). 1. Typically, CentOS and similar RHEL-based systems use Firewalld for managing firewall rules. Use the following commands to open the server's HTTP and HTTPS ports and then reload Firewalld: @@ -63,7 +63,7 @@ In addition to the steps in the [Before You Begin](/cloud/guides/install-nagios- sudo firewall-cmd --reload ``` - See more on using Firewalld in our guide [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/). + See more on using Firewalld in our guide [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos). 1. Install the prerequisite packages for the Nagios installation: @@ -77,7 +77,7 @@ In addition to the steps in the [Before You Begin](/cloud/guides/install-nagios- ### Setting Up the LAMP Stack -Nagios uses a LAMP stack for its base application and to serve its monitoring interface. Learn more about LAMP stacks, as well as how to set them up, in our guide [Installing a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/). +Nagios uses a LAMP stack for its base application and to serve its monitoring interface. Learn more about LAMP stacks, as well as how to set them up, in our guide [Installing a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8). However, Nagios only needs to install two parts of the LAMP stack: the Apache Web Server and PHP. The following steps just set up these necessary parts. diff --git a/docs/guides/uptime/monitoring/install-nagios-on-debian-10-and-ubuntu-2004/index.md b/docs/guides/uptime/monitoring/install-nagios-on-debian-10-and-ubuntu-2004/index.md index 755f62f00ca..b84d4492069 100644 --- a/docs/guides/uptime/monitoring/install-nagios-on-debian-10-and-ubuntu-2004/index.md +++ b/docs/guides/uptime/monitoring/install-nagios-on-debian-10-and-ubuntu-2004/index.md @@ -32,10 +32,10 @@ Nagios's official installation guide shows how to compile Nagios from source cod 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install and configure a LAMP (Linux, Apache, MySQL, and PHP) stack. Follow the [Install a LAMP Stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) or the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide for instructions. +1. Install and configure a LAMP (Linux, Apache, MySQL, and PHP) stack. Follow the [Install a LAMP Stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) or the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) guide for instructions. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Create a Nagios User and User Group diff --git a/docs/guides/uptime/monitoring/linux-system-monitoring-fundamentals/index.md b/docs/guides/uptime/monitoring/linux-system-monitoring-fundamentals/index.md index 7cda38f4ac0..dad194f6c05 100644 --- a/docs/guides/uptime/monitoring/linux-system-monitoring-fundamentals/index.md +++ b/docs/guides/uptime/monitoring/linux-system-monitoring-fundamentals/index.md @@ -41,7 +41,7 @@ A server's system load – a term you hear often in these discussions – usuall ## Getting started with Linux system monitoring tools -Dozens of Linux server system monitoring commands are built into the operating system. They include very simple commands like [top](/cloud/guides/top-htop-iotop/), which by default displays Linux processes in CPU activity order. These tools also can be highly complex, such as sar, which collects, reports, and saves a wide variety of system activity information. +Dozens of Linux server system monitoring commands are built into the operating system. They include very simple commands like [top](/cloud/guides/top-htop-iotop), which by default displays Linux processes in CPU activity order. These tools also can be highly complex, such as sar, which collects, reports, and saves a wide variety of system activity information. There are, of course, many higher-level system monitoring programs for all distributions that permit you to monitor any Linux server. These include [Glance](https://nicolargo.github.io/glances/), a Python-based cross-platform system monitoring tool; [htop](https://htop.dev/), another cross-platform system monitor, which uses [ncurses](http://www.gnu.org/software/ncurses/) for its display; and [Netdata](https://www.netdata.cloud/), a distributed server system monitoring program. However, as useful as these can be, they all rely on lower-level programs. diff --git a/docs/guides/uptime/monitoring/logwatch-monitor-system-logs/index.md b/docs/guides/uptime/monitoring/logwatch-monitor-system-logs/index.md index 16ddc8de8b4..de74eaf3671 100644 --- a/docs/guides/uptime/monitoring/logwatch-monitor-system-logs/index.md +++ b/docs/guides/uptime/monitoring/logwatch-monitor-system-logs/index.md @@ -17,7 +17,7 @@ image: monitor-system-logs-logwatch.jpg By default, Logwatch uses Sendmail to send digests. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root**. If logged in as a superuser, it is recommended that you `su` into root. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as **root**. If logged in as a superuser, it is recommended that you `su` into root. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Logwatch and Sendmail @@ -199,4 +199,4 @@ Logwatch often works best when configured to run daily and send or save a report {{< /file >}} - For more information on adjusting your crontab scheduling, reference our guide on [Scheduling Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/). + For more information on adjusting your crontab scheduling, reference our guide on [Scheduling Tasks with Cron](/cloud/guides/schedule-tasks-with-cron). diff --git a/docs/guides/uptime/monitoring/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai/index.md b/docs/guides/uptime/monitoring/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai/index.md index 3f38dec8031..3dab4ddab18 100644 --- a/docs/guides/uptime/monitoring/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai/index.md +++ b/docs/guides/uptime/monitoring/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai/index.md @@ -68,7 +68,7 @@ If you prefer an automatic deployment rather than the manual installation steps 1. Follow our [Set Up and Secure a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update each system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Prometheus as a Service diff --git a/docs/guides/uptime/monitoring/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai/index.md b/docs/guides/uptime/monitoring/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai/index.md index 023bf37473e..f371e14fd38 100644 --- a/docs/guides/uptime/monitoring/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai/index.md +++ b/docs/guides/uptime/monitoring/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai/index.md @@ -68,7 +68,7 @@ If you prefer an automatic deployment rather than the manual installation steps 1. Follow our [Set Up and Secure a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update each system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Prometheus as a Service diff --git a/docs/guides/uptime/monitoring/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai/index.md b/docs/guides/uptime/monitoring/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai/index.md index 98c8f7beada..7d3551298dc 100644 --- a/docs/guides/uptime/monitoring/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai/index.md +++ b/docs/guides/uptime/monitoring/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai/index.md @@ -67,7 +67,7 @@ If you prefer an automatic deployment rather than the manual installation steps 1. Follow our [Set Up and Secure a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update each system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Prometheus as a Service diff --git a/docs/guides/uptime/monitoring/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004/index.md b/docs/guides/uptime/monitoring/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004/index.md index ad490c43dca..5d8e224ffd2 100644 --- a/docs/guides/uptime/monitoring/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004/index.md +++ b/docs/guides/uptime/monitoring/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004/index.md @@ -26,12 +26,12 @@ However, you can get even more out of Nagios by setting it up to deliver alerts 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install and configure Nagios. Follow the steps in the [Install Nagios on Debian 10 and Ubuntu 20.04](/cloud/guides/install-nagios-on-debian-10-and-ubuntu-2004/) guide. Alternatively, the official [Nagios Installation Guide](https://support.nagios.com/kb/article/nagios-core-installing-nagios-core-from-source-96.html) provides steps for installing Nagios from source code on a wide range of Linux distributions. +1. Install and configure Nagios. Follow the steps in the [Install Nagios on Debian 10 and Ubuntu 20.04](/cloud/guides/install-nagios-on-debian-10-and-ubuntu-2004) guide. Alternatively, the official [Nagios Installation Guide](https://support.nagios.com/kb/article/nagios-core-installing-nagios-core-from-source-96.html) provides steps for installing Nagios from source code on a wide range of Linux distributions. 1. Replace `example.com` throughout this guide with your machine's domain name, and replace `fqdn.example.com` with your machine's fully qualified domain name (FQDN). {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Set Up Nagios Email Alerts @@ -75,7 +75,7 @@ This guide also provides instructions for configuring local emails, which are no - `+` for the local inbox extension character - Select **all** for the Internet protocols - - Alternatively, you can follow the [Configure Postfix to Send Email Using External SMTP Servers](/cloud/guides/postfix-smtp-debian7/) or the [Configure Postfix to Send Mail Using Gmail and Google Apps on Debian or Ubuntu](/cloud/guides/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/) guide. Doing so sets up Postfix to send emails via an external SMTP provider or a Gmail account, respectively. + - Alternatively, you can follow the [Configure Postfix to Send Email Using External SMTP Servers](/cloud/guides/postfix-smtp-debian7) or the [Configure Postfix to Send Mail Using Gmail and Google Apps on Debian or Ubuntu](/cloud/guides/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu) guide. Doing so sets up Postfix to send emails via an external SMTP provider or a Gmail account, respectively. 1. Test the email configuration with the following command below; replace `example-user` with the username of a local user that you can log in as. @@ -173,4 +173,4 @@ This guide uses [NagIRCBot](https://manpages.ubuntu.com/manpages/trusty/man1/nag 1. Connect to the IRC channel, and verify that you are receiving status updates at the expected interval. -1. By default, NagIRCBot must be re-initiated using the command described above after each system reboot. Refer to the [Use systemd to Start a Linux Service at Boot](/cloud/guides/start-service-at-boot/) or the [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide for instructions on how to schedule tasks to run automatically. +1. By default, NagIRCBot must be re-initiated using the command described above after each system reboot. Refer to the [Use systemd to Start a Linux Service at Boot](/cloud/guides/start-service-at-boot) or the [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron) guide for instructions on how to schedule tasks to run automatically. diff --git a/docs/guides/uptime/monitoring/monitor-remote-hosts-with-icinga/index.md b/docs/guides/uptime/monitoring/monitor-remote-hosts-with-icinga/index.md index 14ea5b53fb7..cf755fdef9d 100644 --- a/docs/guides/uptime/monitoring/monitor-remote-hosts-with-icinga/index.md +++ b/docs/guides/uptime/monitoring/monitor-remote-hosts-with-icinga/index.md @@ -19,7 +19,7 @@ aliases: [] ## What is Icinga 2? -This guide is a continuation of our guide on [Icinga 2](/cloud/guides/install-icinga2-monitoring-on-debian-9/). +This guide is a continuation of our guide on [Icinga 2](/cloud/guides/install-icinga2-monitoring-on-debian-9). Icinga, is an open source network monitoring application that can be used to monitor critical services and systems on your Linode. Icinga 2 can monitor hosts on a network or it can verify network external protocols, such as the state of an HTTP server, mail server, file-sharing service, or others. ## Before You Begin diff --git a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-debian-5-lenny/index.md b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-debian-5-lenny/index.md index c389906209c..c9241c6140d 100644 --- a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-debian-5-lenny/index.md +++ b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true Nagios is an open source monitoring tool that monitors services within a server cluster. In addition to monitoring services such as SMTP/POP3 and HTTP, Nagios can also be used to check the health of the server itself. -Before continuing with this guide, you will need to make sure that you have set your hostname by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will also need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) in order to use Nagios. +Before continuing with this guide, you will need to make sure that you have set your hostname by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will also need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11) in order to use Nagios. ## Prepare for Nagios Installation @@ -122,7 +122,7 @@ Any errors will be shown in red. If everything is okay, you may issue the follow You may now access the web based administration and reporting tools by visiting `http://example.com/nagios/`, where `example.com` refers to your Linode's default virtual host. You may also access this interface by visiting `http://12.34.56.78/nagios/` where `12.34.56.78` is the IP address of your Linode. You will need to authenticate with the nagiosadmin user you created earlier. -**Please note:** The above example does not use SSL and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate/). +**Please note:** The above example does not use SSL and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate). ## Configure Nagios Alerts diff --git a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-gentoo-linux/index.md b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-gentoo-linux/index.md index a9dafcaa492..a1ccd7b3784 100644 --- a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-gentoo-linux/index.md +++ b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-gentoo-linux/index.md @@ -20,7 +20,7 @@ deprecated: true Nagios is a monitoring tool that makes it possible to monitor services on a single server or a pool of servers. It provides the capability to monitor a broad range of network services including SMTP and POP3 (email), HTTP (web), ICMP (ping), and SSH. In addition to simple uptime monitoring, Nagios also allows administrators to create their own plugins to monitor additional services or devices. -Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will need to have a functioning [LAMP stack](/cloud/guides/web-servers/lamp/) in order to use Nagios. +Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will need to have a functioning [LAMP stack](/cloud/guides/web-servers/lamp) in order to use Nagios. ## Prepare for Nagios Installation @@ -95,7 +95,7 @@ Any errors will be shown in red. If everything is okay, you may issue the follow You may now access the web based administration and reporting tools by visiting `http://example.com/nagios/`, where `example.com` refers to your Linode's default virtual host. You may also access this interface by visiting `http://12.34.56.78/nagios/` where `12.34.56.78` is the IP address of your Linode. You will need to authenticate with the nagiosadmin user you created earlier. -**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate/). +**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate). ## Configure Nagios Alerts diff --git a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-04-lucid/index.md b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-04-lucid/index.md index 979d4e1dbfa..e786884dd4a 100644 --- a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true Nagios is a monitoring tool that makes it possible to monitor services on a single server or a pool of servers. It provides the capability to monitor a broad range of network services including SMTP and POP3 (email), HTTP (web), ICMP (ping), and SSH. In addition to simple uptime monitoring, Nagios also allows administrators to create their own plugins to monitor additional services or devices. -Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) in order to use Nagios. +Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) in order to use Nagios. ## Prepare for Nagios Installation @@ -134,7 +134,7 @@ Any errors will be shown in red. If everything is okay, you may issue the follow You may now access the web based administration and reporting tools by visiting `http://example.com/nagios/`, where `example.com` refers to your Linode's default virtual host. You may also access this interface by visiting `http://12.34.56.78/nagios/` where `12.34.56.78` is the IP address of your Linode. You will need to authenticate with the nagiosadmin user you created earlier. -**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate/). +**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate). ## Configure Nagios Alerts diff --git a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-10-maverick/index.md b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-10-maverick/index.md index 692dfadb625..a131fef3846 100644 --- a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true Nagios is a monitoring tool that makes it possible to monitor services on a single server or a pool of servers. It provides the capability to monitor a broad range of network services including SMTP and POP3 (email), HTTP (web), ICMP (ping), and SSH. In addition to simple uptime monitoring, Nagios also allows administrators to create their own plugins to monitor additional services or devices. -Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) in order to use Nagios. +Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) in order to use Nagios. ## Prepare for Nagios Installation @@ -134,7 +134,7 @@ Any errors will be shown in red. If everything is okay, you may issue the follow You may now access the web based administration and reporting tools by visiting `http://example.com/nagios/`, where `example.com` refers to your Linode's default virtual host. You may also access this interface by visiting `http://12.34.56.78/nagios/` where `12.34.56.78` is the IP address of your Linode. You will need to authenticate with the nagiosadmin user you created earlier. -**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate/). +**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate). ## Configure Nagios Alerts diff --git a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-12-04/index.md b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-12-04/index.md index 3859109a174..d1ef344d636 100644 --- a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-12-04/index.md +++ b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-12-04/index.md @@ -27,7 +27,7 @@ Nagios is a monitoring tool that allows you to monitor services on a single serv ## Install Nagios -Before installing Nagios, make sure your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You also need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) set up on your Linode. +Before installing Nagios, make sure your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You also need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) set up on your Linode. Now you're ready to install Nagios. Here's how: @@ -51,7 +51,7 @@ If you do not already have an email server installed on your Linode, Postfix wil You can now access the Nagios web interface for administration and reporting by visiting `http://example.com/nagios3/`, where `example.com` refers to your Linode's default virtual host. You may also access this interface by visiting `http://12.34.56.78/nagios3/`, where `12.34.56.78` is the IP address of your Linode. You will need to authenticate with the `nagiosadmin` user you created earlier. {{< note >}} -The above example does not use SSL, and your password will be sent unencrypted. If you want to use encryption, you will need to generate (or purchase) and install an SSL certificate. Steps for generating and using your own certificate can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate/). +The above example does not use SSL, and your password will be sent unencrypted. If you want to use encryption, you will need to generate (or purchase) and install an SSL certificate. Steps for generating and using your own certificate can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate). {{< /note >}} ## Configure Notifications @@ -84,7 +84,7 @@ define contact{ {{< note respectIndent=false >}} -To send email alerts to more than one user, duplicate the `define contact` section for as many users as you want. Or, to configure notifications to a [group](/cloud/guides/linux-users-and-groups/), edit the `define contactgroup` section. +To send email alerts to more than one user, duplicate the `define contact` section for as many users as you want. Or, to configure notifications to a [group](/cloud/guides/linux-users-and-groups), edit the `define contactgroup` section. {{< /note >}} 3. Save the changes to the configuration file by pressing `Control + x` and then pressing `y`. diff --git a/docs/guides/uptime/monitoring/monitoring-resource-utilization-with-cacti-on-debian-5-lenny/index.md b/docs/guides/uptime/monitoring/monitoring-resource-utilization-with-cacti-on-debian-5-lenny/index.md index 2c4c692e4cf..ccedb718f7b 100644 --- a/docs/guides/uptime/monitoring/monitoring-resource-utilization-with-cacti-on-debian-5-lenny/index.md +++ b/docs/guides/uptime/monitoring/monitoring-resource-utilization-with-cacti-on-debian-5-lenny/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -The Linode Manager provides some basic monitoring of system resource utilization, which includes information regarding Network, CPU, and Input/Output usage over the last 24 hours and 30 days. While this basic information is helpful for monitoring your system, there are cases where more fine-grained information is useful. The simple monitoring tool [Munin](/cloud/guides/monitoring-servers-with-munin-on-debian-6-squeeze/) is capable of monitoring needs of a small group of machines. In some cases, Munin may not be flexible enough for some advanced monitoring needs. +The Linode Manager provides some basic monitoring of system resource utilization, which includes information regarding Network, CPU, and Input/Output usage over the last 24 hours and 30 days. While this basic information is helpful for monitoring your system, there are cases where more fine-grained information is useful. The simple monitoring tool [Munin](/cloud/guides/monitoring-servers-with-munin-on-debian-6-squeeze) is capable of monitoring needs of a small group of machines. In some cases, Munin may not be flexible enough for some advanced monitoring needs. For these kinds of deployments we encourage you to consider a tool like Cacti, which is a flexible front end for the RRDtool application. Cacti simply provides a framework and a mechanism to poll a number of sources for data regarding your systems, which can then be graphed and presented in a clear web based interface. Whereas packages like Munin provide monitoring for a specific set of metrics on systems which support the Munin plug in, Cacti provides increased freedom to monitor larger systems and more complex deployment by way of its plug in framework and web-based interface. -Before installing Cacti we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing Cacti we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing Prerequisites @@ -44,9 +44,9 @@ Before installing Cacti we must install a few basic dependencies that are critic apt-get install snmpd snmp mysql-server apache2 libapache2-mod-php5 \ php5-mysql php5-cli php5-snmp -You will need to create a password for the `root` user of your MySQL database during the installation. After the installation completes, be sure to run `mysql_secure_installation` to disable some of MySQL's less secure components. Also consider reading our [MySQL installation guide](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/) for configuration recommendations. +You will need to create a password for the `root` user of your MySQL database during the installation. After the installation completes, be sure to run `mysql_secure_installation` to disable some of MySQL's less secure components. Also consider reading our [MySQL installation guide](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny) for configuration recommendations. -The above command will additionally install the Apache web server. Consider our documentation of [installing the Apache HTTP Server](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) for more information regarding this server. Additionally Cacti can function with alternate web server configurations, including [Apache with PHP running as a CGI process](/cloud/guides/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/) and with [nginx](/cloud/guides/web-servers/nginx/) running PHP as a FastCGI process. +The above command will additionally install the Apache web server. Consider our documentation of [installing the Apache HTTP Server](/cloud/guides/apache-2-web-server-on-debian-5-lenny) for more information regarding this server. Additionally Cacti can function with alternate web server configurations, including [Apache with PHP running as a CGI process](/cloud/guides/run-php-applications-under-cgi-with-apache-on-debian-5-lenny) and with [nginx](/cloud/guides/web-servers/nginx) running PHP as a FastCGI process. ### Configuring SNMPD @@ -126,6 +126,6 @@ You may wish to consult the following resources for additional information on th - [Cacti Website](http://www.cacti.net/index.php) - [Cacti Users Plugin Community](http://cactiusers.org/index.php) - [Linux Security Basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) -- [Configure a Basic Firewall in Debian 5 (Lenny)](/cloud/guides/configure-a-firewall-with-arno-iptables-in-debian-5-lenny/) +- [Configure a Basic Firewall in Debian 5 (Lenny)](/cloud/guides/configure-a-firewall-with-arno-iptables-in-debian-5-lenny) diff --git a/docs/guides/uptime/monitoring/monitoring-servers-with-monit/index.md b/docs/guides/uptime/monitoring/monitoring-servers-with-monit/index.md index 3f9fd32914d..af7b771491d 100644 --- a/docs/guides/uptime/monitoring/monitoring-servers-with-monit/index.md +++ b/docs/guides/uptime/monitoring/monitoring-servers-with-monit/index.md @@ -30,7 +30,7 @@ With Monit you get: * Availability from main package repositories. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing Monit @@ -115,7 +115,7 @@ Other processes may take some time to complete their own startup. Including the ### Alerting -Monit can optionally alert you by email when it triggers on an event. It can use a Mail Transfer Agent (MTA) on the local host if you have one configured, or an outside mail server that will accept incoming SMTP traffic from your host. See [Linux System Administration Basics - Sending Email From Your Server](/cloud/guides/linux-system-administration-basics/#send-email-from-your-server) for help with configuring this. +Monit can optionally alert you by email when it triggers on an event. It can use a Mail Transfer Agent (MTA) on the local host if you have one configured, or an outside mail server that will accept incoming SMTP traffic from your host. See [Linux System Administration Basics - Sending Email From Your Server](/cloud/guides/linux-system-administration-basics#send-email-from-your-server) for help with configuring this. Specify what server you will send mail through on this line: diff --git a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-debian-6-squeeze/index.md b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-debian-6-squeeze/index.md index 34d94f119f5..3738dccbf6e 100644 --- a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-debian-6-squeeze/index.md +++ b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-debian-6-squeeze/index.md @@ -22,7 +22,7 @@ The Linode Manager provides some basic monitoring of system resource utilization Munin is a system and network monitoring tool that uses RRDTool to generate useful visualizations of resource usage. The primary goal of the Munin project is to provide an easy to use tool that is simple to install and configure and provides information in an accessible web based interface. Munin also makes it possible to monitor multiple "nodes" with a single installation. -Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you'll need to install a web server such as [Apache](/cloud/guides/apache-2-web-server-on-debian-6-squeeze/) in order to use the web interface. +Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, you'll need to install a web server such as [Apache](/cloud/guides/apache-2-web-server-on-debian-6-squeeze) in order to use the web interface. ## Installing Munin @@ -103,7 +103,7 @@ The above line tells the munin-node that the master Munin server is located at I You can use Munin with the web server of your choice, simply point your web server to provide access to resources created by Munin. By default, these resources are located at `/var/cache/munin/www/`. -If you are using the [Apache HTTP Server](/cloud/guides/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: +If you are using the [Apache HTTP Server](/cloud/guides/web-servers/apache) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: {{< file "/etc/apache2/sites-available/stats.example.org" >}} @@ -129,7 +129,7 @@ Now restart the server so that the changes to your configuration file can take e /etc/init.d/apache2 restart -In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/cloud/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control/) to require a password before permitting access. +In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/cloud/guides/rulebased-access-control-for-apache) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control) to require a password before permitting access. ## More Information diff --git a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-10-04-lucid/index.md b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-10-04-lucid/index.md index 2172c23a4c6..698d129a4b5 100644 --- a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-10-04-lucid/index.md @@ -22,7 +22,7 @@ The Linode Manager provides some basic monitoring of system resource utilization Munin is a system and network monitoring tool that uses RRDTool to generate useful visualizations of resource usage. The primary goal of the Munin project is to provide an easy to use tool that is simple to install and configure and provides information in an accessible web based interface. Munin also makes it possible to monitor multiple "nodes" with a single installation. -Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you'll need to install a web server such as [Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) in order to use the web interface. +Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, you'll need to install a web server such as [Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid) in order to use the web interface. ## Installing Munin @@ -141,7 +141,7 @@ The above line tells the munin-node that the master Munin server is located at I You can use Munin with the web server of your choice, simply point your web server to provide access to resources created by Munin. By default, these resources are located at `/var/cache/munin/www`. -If you are using the [Apache HTTP Server](/cloud/guides/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: +If you are using the [Apache HTTP Server](/cloud/guides/web-servers/apache) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: {{< file "/etc/apache2/sites-available/stats.example.org" apache >}} @@ -169,7 +169,7 @@ Now restart the server so that the changes to your configuration file can take e You should now be able to see your site's statistics by appending `/munin` to the end of your IP address (e.g. `12.34.56.78/munin`.) If you don't see any statistics at first, be sure to wait for Munin to update; Munin refreshes every 5 minutes. -In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/cloud/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control/) to require a password before permitting access. You may want to examine Munin's example Apache configuration file at `/etc/munin/apache.conf`. In addition to protecting the `stats.` virtual host, also ensure that the munin controls are also protected on the default virtual host (e.g. by visiting `http://12.34.56.78/munin/` where `12.34.56.78` is the IP address of your server.) +In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/cloud/guides/rulebased-access-control-for-apache) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control) to require a password before permitting access. You may want to examine Munin's example Apache configuration file at `/etc/munin/apache.conf`. In addition to protecting the `stats.` virtual host, also ensure that the munin controls are also protected on the default virtual host (e.g. by visiting `http://12.34.56.78/munin/` where `12.34.56.78` is the IP address of your server.) ## More Information diff --git a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-11-04-natty/index.md b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-11-04-natty/index.md index bbc868a9054..85fabecf049 100644 --- a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-11-04-natty/index.md @@ -22,7 +22,7 @@ The Linode Manager provides some basic monitoring of system resource utilization Munin is a system and network monitoring tool that uses RRDTool to generate useful visualizations of resource usage. The primary goal of the Munin project is to provide an easy to use tool that is simple to install and configure and provides information in an accessible web based interface. Munin also makes it possible to monitor multiple "nodes" with a single installation. -Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you'll need to install a web server such as [Apache](/cloud/guides/web-servers/apache/) in order to use the web interface. +Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, you'll need to install a web server such as [Apache](/cloud/guides/web-servers/apache) in order to use the web interface. ## Installing Munin @@ -103,7 +103,7 @@ The above line tells the munin-node that the master Munin server is located at I You can use Munin with the web server of your choice, simply point your web server to provide access to resources created by Munin. By default, these resources are located at `/var/cache/munin/www`. -If you are using the [Apache HTTP Server](/cloud/guides/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: +If you are using the [Apache HTTP Server](/cloud/guides/web-servers/apache) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: {{< file "/etc/apache2/sites-available/stats.example.org" >}} @@ -130,7 +130,7 @@ Now restart the server so that the changes to your configuration file can take e /etc/init.d/apache2 restart /etc/init.d/apache2 reload -In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/cloud/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control/) to require a password before permitting access. +In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/cloud/guides/rulebased-access-control-for-apache) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control) to require a password before permitting access. ## More Information diff --git a/docs/guides/uptime/monitoring/monitoring-servers-with-zabbix/index.md b/docs/guides/uptime/monitoring/monitoring-servers-with-zabbix/index.md index f16825d1a43..3f21d92cd74 100644 --- a/docs/guides/uptime/monitoring/monitoring-servers-with-zabbix/index.md +++ b/docs/guides/uptime/monitoring/monitoring-servers-with-zabbix/index.md @@ -76,7 +76,7 @@ You have successfully added the `zabbix` user. You'll first want to install MySQL on your Linode and create a MySQL user for Zabbix. Here's how: -1. If you haven't already, install and configure MySQL on your Linode. See the [MySQL reference manuals](/cloud/guides/databases/mysql/) for more information. +1. If you haven't already, install and configure MySQL on your Linode. See the [MySQL reference manuals](/cloud/guides/databases/mysql) for more information. 2. Log in to MySQL by entering the following command: mysql -uroot -p @@ -112,7 +112,7 @@ Zabbix requires Apache and PHP to be installed. Here's how to install them: sudo apt-get install libmysqlclient-dev libcurl3-gnutls libcurl3-gnutls-dev -4. Verify that you have configured a name-based virtual host for Apache. This is required for the Zabbix web interface. For instructions, see [Configuring Name-based Virtual Hosts](/cloud/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server). +4. Verify that you have configured a name-based virtual host for Apache. This is required for the Zabbix web interface. For instructions, see [Configuring Name-based Virtual Hosts](/cloud/guides/hosting-a-website-ubuntu-18-04#configure-name-based-virtual-hosts-in-apache-web-server). The required applications, modules, and libraries have been installed on your Linode. diff --git a/docs/guides/uptime/monitoring/monitoring-software/index.md b/docs/guides/uptime/monitoring/monitoring-software/index.md index 58020f80201..98792a29407 100644 --- a/docs/guides/uptime/monitoring/monitoring-software/index.md +++ b/docs/guides/uptime/monitoring/monitoring-software/index.md @@ -88,7 +88,7 @@ Here are six open source system monitoring tools, two enterprise-grade commercia **[Nagios](https://www.nagios.com/)** is among the most venerable and widely used system monitoring applications. It’s a highly extensible monitoring and alerting system that can email or text you as soon as a system or service goes offline. -Nagios has two versions. Nagios Core is the open source version, while Nagios XI offers a proprietary interface and commercial support (which is also free for up to seven nodes). Akamai Cloud offers [instructions for monitoring Debian and Ubuntu systems using Nagios](/cloud/guides/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004/). +Nagios has two versions. Nagios Core is the open source version, while Nagios XI offers a proprietary interface and commercial support (which is also free for up to seven nodes). Akamai Cloud offers [instructions for monitoring Debian and Ubuntu systems using Nagios](/cloud/guides/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004). Both Nagios versions have flexible options for monitoring and alerting. Both versions also support a vast collection of "plugins" that extend monitoring capabilities and the types of monitored components. diff --git a/docs/guides/uptime/monitoring/ossec-ids-debian-7/index.md b/docs/guides/uptime/monitoring/ossec-ids-debian-7/index.md index a078c3f6307..09ac2b50936 100644 --- a/docs/guides/uptime/monitoring/ossec-ids-debian-7/index.md +++ b/docs/guides/uptime/monitoring/ossec-ids-debian-7/index.md @@ -22,7 +22,7 @@ When installed and configured, OSSEC will provide a real-time view of what's tak This guide covers how to install and configure OSSEC on a single Linode running Debian 7 in such a manner that if a file is modified, added or deleted, OSSEC will notify you by email in real-time. OSSEC can also provide notifications for other activities. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites diff --git a/docs/guides/uptime/monitoring/use-cacti-to-monitor-resource-utilization-on-ubuntu-12-04/index.md b/docs/guides/uptime/monitoring/use-cacti-to-monitor-resource-utilization-on-ubuntu-12-04/index.md index e805deeb36d..b0cdeebcf3b 100644 --- a/docs/guides/uptime/monitoring/use-cacti-to-monitor-resource-utilization-on-ubuntu-12-04/index.md +++ b/docs/guides/uptime/monitoring/use-cacti-to-monitor-resource-utilization-on-ubuntu-12-04/index.md @@ -12,7 +12,7 @@ aliases: [] external_resources: - '[Cacti Website](http://www.cacti.net/index.php)' - '[Cacti Users Plugin Community](http://cactiusers.org/index.php)' - - '[Linux Security Basics](/cloud/guides/security/basics/)' + - '[Linux Security Basics](/cloud/guides/security/basics)' relations: platform: key: install-cacti-monitoring @@ -25,7 +25,7 @@ The Linode Manager provides some basic monitoring of system resource utilization For these kinds of deployments we encourage you to consider a tool like Cacti, which is a flexible front end for the RRDtool application. Cacti simply provides a framework and a mechanism to poll a number of sources for data regarding your systems, which can then be graphed and presented in a clear web-based interface. Whereas packages like Munin provide monitoring for a specific set of metrics on systems which support the Munin plug in, Cacti provides increased freedom to monitor larger systems and more complex deployment by way of its plug-in framework. -Before installing Cacti we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing Cacti we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Prerequisites @@ -65,7 +65,7 @@ If you had to enable new repositories, issue the following command to update you You will need to create a password for the `root` user of your MySQL database during the installation. After the installation completes, be sure to run `mysql_secure_installation` to disable some of MySQL's less for configuration recommendations. -The above command will additionally install the Apache web server. Consider our documentation on [installing the Apache HTTP server](/cloud/guides/apache-web-server-ubuntu-12-04/) for more information regarding this server. Additionally Cacti can function with alternate web server configurations, including [Apache with PHP running as a CGI process](/cloud/guides/run-php-cgi-apache-ubuntu-12-04/) and with [nginx](/cloud/guides/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin/) running PHP as a FastCGI process. +The above command will additionally install the Apache web server. Consider our documentation on [installing the Apache HTTP server](/cloud/guides/apache-web-server-ubuntu-12-04) for more information regarding this server. Additionally Cacti can function with alternate web server configurations, including [Apache with PHP running as a CGI process](/cloud/guides/run-php-cgi-apache-ubuntu-12-04) and with [nginx](/cloud/guides/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin) running PHP as a FastCGI process. ### Install Cacti @@ -91,7 +91,7 @@ This section is optional and for those looking to use Cacti to monitor additiona apt-get install snmp snmpd -Since snmpd binds to localhost by default, we'll need to edit the `/etc/snmp/snmpd.conf`  file to allow snmpd to serve requests on other interfaces. Please note that  allowing snmpd to run on a public IP address will have security implications,  such as allowing anyone with your IP address to access the snmp daemon running  on your Linode. If you choose to allow snmp to listen on all interfaces, we  strongly recommend [implementing firewall rules](/cloud/guides/security/firewalls/) that  restrict access to only specific ip addresses that you control. +Since snmpd binds to localhost by default, we'll need to edit the `/etc/snmp/snmpd.conf`  file to allow snmpd to serve requests on other interfaces. Please note that  allowing snmpd to run on a public IP address will have security implications,  such as allowing anyone with your IP address to access the snmp daemon running  on your Linode. If you choose to allow snmp to listen on all interfaces, we  strongly recommend [implementing firewall rules](/cloud/guides/security/firewalls) that  restrict access to only specific ip addresses that you control. Open the file and find the section labeled `Agent Behaviour`. Comment out the line that specifies `127.0.0.1` as the agent address by placing a `#`  in front of it. Uncomment the other line that defines the `agentAddress` as all  interfaces. The `Agent Behavior` section should now resemble the following: diff --git a/docs/guides/uptime/monitoring/use-vmstat-to-monitor-system-performance/index.md b/docs/guides/uptime/monitoring/use-vmstat-to-monitor-system-performance/index.md index e5a370d2a27..b67dcf2c8fc 100644 --- a/docs/guides/uptime/monitoring/use-vmstat-to-monitor-system-performance/index.md +++ b/docs/guides/uptime/monitoring/use-vmstat-to-monitor-system-performance/index.md @@ -200,7 +200,7 @@ These values are often `0`. ### Memory -The information displayed in the `memory` section provides the same data about [memory usage](/cloud/guides/linux-system-administration-basics/#check-current-memory-usage) as the command `free -m`. +The information displayed in the `memory` section provides the same data about [memory usage](/cloud/guides/linux-system-administration-basics#check-current-memory-usage) as the command `free -m`. The `swapd` or "swapped" column reports how much memory has been swapped out to a swap file or disk. The `free` column reports the amount of unallocated memory. The `buff` or "buffers" column reports the amount of allocated memory in use. The `cache` column reports the amount of allocated memory that could be swapped to disk or unallocated if the resources are needed for another task. diff --git a/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-basics/index.md b/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-basics/index.md index 64cb0eb78bc..1ca2c659e25 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-basics/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-basics/index.md @@ -10,9 +10,9 @@ keywords: ["configuration", "apache", "web server", "virtual hosting", "http"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Apache Installation](/cloud/guides/web-servers/apache/)' - - '[LAMP stack guides](/cloud/guides/web-servers/lamp/)' - - '[Troubleshooting Common Issues with Apache](/cloud/guides/troubleshooting-common-apache-issues/)' + - '[Apache Installation](/cloud/guides/web-servers/apache)' + - '[LAMP stack guides](/cloud/guides/web-servers/lamp)' + - '[Troubleshooting Common Issues with Apache](/cloud/guides/troubleshooting-common-apache-issues)' - '[Linode User Community](http://linode.com/community/)' - '[Apache Virtual Host Documentation](http://httpd.apache.org/docs/2.2/vhosts/)' - '[Virtual Host Directives](http://httpd.apache.org/docs/2.2/mod/core.html#virtualhost)' @@ -27,7 +27,7 @@ The Apache HTTP web server is in many respects the *de facto* standard for gener The extraordinary degree of flexibility provided by Apache does not come without some cost; this mostly takes the form of a configuration structure that is sometimes confusing and often complicated. For this reason we've created this document and a number of other guides that seek to address this complexity and explore some more advanced and *optional* functionality of the Apache HTTP Sever. -If you're interested in just getting a running web server and installing Apache for the first time, we recommend using the appropriate "[installing Apache guide](/cloud/guides/web-servers/apache/)" for your distribution of Linux. If you need a more full-featured LAMP stack, consider trying the appropriate [LAMP guide](/cloud/guides/web-servers/lamp/) for your distribution. This guide assumes that you have a running and up to date Linux system, have successfully installed Apache, and have logged into a shell session with root access. +If you're interested in just getting a running web server and installing Apache for the first time, we recommend using the appropriate "[installing Apache guide](/cloud/guides/web-servers/apache)" for your distribution of Linux. If you need a more full-featured LAMP stack, consider trying the appropriate [LAMP guide](/cloud/guides/web-servers/lamp) for your distribution. This guide assumes that you have a running and up to date Linux system, have successfully installed Apache, and have logged into a shell session with root access. ## Apache Basics diff --git a/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-structure/index.md b/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-structure/index.md index 8f43c5c7ad9..0f8f2545a1b 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-structure/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-structure/index.md @@ -10,19 +10,19 @@ keywords: ["apache", "httpd", "configuration"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Apache Installation](/cloud/guides/web-servers/apache/)' - - '[LAMP Stack Guides](/cloud/guides/web-servers/lamp/)' - - '[Troubleshooting Apache](/cloud/guides/troubleshooting-common-apache-issues/)' + - '[Apache Installation](/cloud/guides/web-servers/apache)' + - '[LAMP Stack Guides](/cloud/guides/web-servers/lamp)' + - '[Troubleshooting Apache](/cloud/guides/troubleshooting-common-apache-issues)' tags: ["web server","apache"] --- -Throughout our [Apache section](/cloud/guides/web-servers/apache/) and [LAMP stack tutorials](/cloud/guides/web-servers/lamp/), a very simple configuration based on `` is offered. This configuration is useful for hosting several websites on a single server. However, this approach does not provide granular control over resource usage within each site. +Throughout our [Apache section](/cloud/guides/web-servers/apache) and [LAMP stack tutorials](/cloud/guides/web-servers/lamp), a very simple configuration based on `` is offered. This configuration is useful for hosting several websites on a single server. However, this approach does not provide granular control over resource usage within each site. ![Apache configuration structure](apache-configuration-structure-headerimg.jpg "Apache configuration structure") The `` block provides administrators with the ability to modify the behavior of the web server on a per-host or per-domain basis; any options specified in the `` block apply to the entire domain. However, they don't provide the ability to specify options on a per-directory basis. Thankfully, Apache provides additional possibilities for specific configuration. -This document addresses a number of ways to configure the behavior of your web server on a very narrow per-directory and even per-file level. For more information about specific options, consult our other [Apache configuration guides](/cloud/guides/web-servers/apache/) or the official [Apache documentation](http://httpd.apache.org/docs/). +This document addresses a number of ways to configure the behavior of your web server on a very narrow per-directory and even per-file level. For more information about specific options, consult our other [Apache configuration guides](/cloud/guides/web-servers/apache) or the official [Apache documentation](http://httpd.apache.org/docs/). ## Directory and Options diff --git a/docs/guides/web-servers/apache-tips-and-tricks/configure-modsecurity-on-apache/index.md b/docs/guides/web-servers/apache-tips-and-tricks/configure-modsecurity-on-apache/index.md index 1fa0a440fd6..1e248e6fa6e 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/configure-modsecurity-on-apache/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/configure-modsecurity-on-apache/index.md @@ -27,7 +27,7 @@ Although ModSecurity comes with a default configuration, this guide will use OWA ## Install ModSecurity -Before you install ModSecurity, you will need to have Apache installed on your Linode. This guide will use a LAMP stack; for installation instructions, see the [LAMP Guides](/cloud/guides/web-servers/lamp/). +Before you install ModSecurity, you will need to have Apache installed on your Linode. This guide will use a LAMP stack; for installation instructions, see the [LAMP Guides](/cloud/guides/web-servers/lamp). ### Ubuntu or Debian diff --git a/docs/guides/web-servers/apache-tips-and-tricks/managing-resources-with-apache-modalias/index.md b/docs/guides/web-servers/apache-tips-and-tricks/managing-resources-with-apache-modalias/index.md index 00740fd1aed..361694c2660 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/managing-resources-with-apache-modalias/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/managing-resources-with-apache-modalias/index.md @@ -10,11 +10,11 @@ keywords: ["resources", "http", "files", "management", "mod_alias", "Alias", "ap license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Apache Installation](/cloud/guides/web-servers/apache/)' - - '[LAMP Stack Guides](/cloud/guides/web-servers/lamp/)' - - '[Guide for Redirecting URLs](/cloud/guides/redirect-urls-with-the-apache-web-server/)' - - '[Guide for URL Rewriting with Apache](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/)' - - '[Troubleshooting Apache](/cloud/guides/troubleshooting-common-apache-issues/)' + - '[Apache Installation](/cloud/guides/web-servers/apache)' + - '[LAMP Stack Guides](/cloud/guides/web-servers/lamp)' + - '[Guide for Redirecting URLs](/cloud/guides/redirect-urls-with-the-apache-web-server)' + - '[Guide for URL Rewriting with Apache](/cloud/guides/rewrite-urls-with-modrewrite-and-apache)' + - '[Troubleshooting Apache](/cloud/guides/troubleshooting-common-apache-issues)' - '[Linode User Community](http://linode.com/community/)' tags: ["web server","apache"] deprecated: true @@ -22,7 +22,7 @@ deprecated: true In many cases, all of the resources served by an Apache host are located in that host's `DocumentRoot`. The `DocumentRoot` is a directory specified in the `` configuration block. This directory is intended to represent the various files, directories, and resources that users access over HTTP on the file system. However, it is common for administrators to provide HTTP access to a resource on the file system which is *not* located in the `DocumentRoot`. While Apache will follow symbolic links in some situations, this can be difficult to maintain. As a result Apache makes it possible to specify an `Alias` that connects a location in the request to an alternate location. -This document explains how to use the `Alias` directive to manage resources on the file system while still providing access via HTTP. Furthermore, this guide assumes you have a working installation of Apache and have access to modify configuration files. If you have not installed Apache, you might want to consider one of our [Apache installation guides](/cloud/guides/web-servers/apache/) or [LAMP stack installation guides](/cloud/guides/web-servers/lamp/). If you want a more thorough introduction to Apache configuration, consider our [Apache configuration basics](/cloud/guides/apache-configuration-basics/) and [Apache configuration structure](/cloud/guides/apache-configuration-structure/) documents. +This document explains how to use the `Alias` directive to manage resources on the file system while still providing access via HTTP. Furthermore, this guide assumes you have a working installation of Apache and have access to modify configuration files. If you have not installed Apache, you might want to consider one of our [Apache installation guides](/cloud/guides/web-servers/apache) or [LAMP stack installation guides](/cloud/guides/web-servers/lamp). If you want a more thorough introduction to Apache configuration, consider our [Apache configuration basics](/cloud/guides/apache-configuration-basics) and [Apache configuration structure](/cloud/guides/apache-configuration-structure) documents. ## Creating Aliases diff --git a/docs/guides/web-servers/apache-tips-and-tricks/modevasive-on-apache/index.md b/docs/guides/web-servers/apache-tips-and-tricks/modevasive-on-apache/index.md index 7e434226875..5d464816ceb 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/modevasive-on-apache/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/modevasive-on-apache/index.md @@ -22,7 +22,7 @@ mod_evasive is a module for Apache that provides evasive action in the event of ![mod_evasive on Apache](mod_evasive.png "mod_evasive on Apache") -This guide assumes you already have your LAMP server configured. Guides for setting up a LAMP stack can be found in our [LAMP guides](/cloud/guides/web-servers/lamp/) section. +This guide assumes you already have your LAMP server configured. Guides for setting up a LAMP stack can be found in our [LAMP guides](/cloud/guides/web-servers/lamp) section. ## How does mod_evasive work? @@ -256,4 +256,4 @@ In the output above, the part that says `Blacklisting address 127.0.0.1: possibl ## How to Load Test mod_evasive -Refer to our guide on [Load Testing with Siege](/cloud/guides/load-testing-with-siege/) to test your site's performance. Before you attempt to DDoS yourself, be aware that you risk banning your own IP. Linode does not recommend testing any server that isn't your own. +Refer to our guide on [Load Testing with Siege](/cloud/guides/load-testing-with-siege) to test your site's performance. Before you attempt to DDoS yourself, be aware that you risk banning your own IP. Linode does not recommend testing any server that isn't your own. diff --git a/docs/guides/web-servers/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/index.md b/docs/guides/web-servers/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/index.md index f44117e8c7b..a26354688a4 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/index.md @@ -10,10 +10,10 @@ keywords: ["apache", "redirect", "mod_alias", "URLs", "REST"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Installing Apache](/cloud/guides/web-servers/apache/)' - - '[LAMP stack guides](/cloud/guides/web-servers/lamp/)' + - '[Installing Apache](/cloud/guides/web-servers/apache)' + - '[LAMP stack guides](/cloud/guides/web-servers/lamp)' - '[Apache Redirect Guide](https://httpd.apache.org/docs/current/mod/mod_alias.html#redirect)' - - '[Rewrite URLs with mod_rewrite and Apache](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/)' + - '[Rewrite URLs with mod_rewrite and Apache](/cloud/guides/rewrite-urls-with-modrewrite-and-apache)' tags: ["web server","apache"] image: redirect-urls-with-the-apache-web-server.png --- @@ -22,7 +22,7 @@ In this guide, you'll learn how to redirect URLs with Apache. Redirecting a URL ## Before You Begin -1. This guide assumes you have followed our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, and that you have already configured your Apache installation. If you haven't, refer to our [Apache guides](/cloud/guides/web-servers/apache/) or [LAMP stack guides](/cloud/guides/web-servers/lamp/). +1. This guide assumes you have followed our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, and that you have already configured your Apache installation. If you haven't, refer to our [Apache guides](/cloud/guides/web-servers/apache) or [LAMP stack guides](/cloud/guides/web-servers/lamp). 2. In this guide, you will modify the Apache configuration files, so be sure you have the proper permissions to do so. @@ -101,7 +101,7 @@ This matches any request for a file with a `.jpg` extension and replaces it with ## Beyond URL Redirection -In addition to redirecting users, Apache also allows you to [rewrite URLs](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/) with `mod_rewrite`. While the features are similar, the main difference is that rewriting a URL involves the server returning a different request than the one provided by the client, whereas a redirect simply returns a status code, and the "correct" result is then requested by the client. +In addition to redirecting users, Apache also allows you to [rewrite URLs](/cloud/guides/rewrite-urls-with-modrewrite-and-apache) with `mod_rewrite`. While the features are similar, the main difference is that rewriting a URL involves the server returning a different request than the one provided by the client, whereas a redirect simply returns a status code, and the "correct" result is then requested by the client. On a more practical level, rewriting a request does not change the contents of the browser's address bar, and can be useful in hiding URLs with sensitive or vulnerable data. diff --git a/docs/guides/web-servers/apache-tips-and-tricks/rewrite-urls-with-modrewrite-and-apache/index.md b/docs/guides/web-servers/apache-tips-and-tricks/rewrite-urls-with-modrewrite-and-apache/index.md index a879e735bcc..e79e8f4e03b 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/rewrite-urls-with-modrewrite-and-apache/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/rewrite-urls-with-modrewrite-and-apache/index.md @@ -10,10 +10,10 @@ keywords: ["mod_rewrite", "REST", "URLs", "redirect", "apache", "httpd"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Installing Apache](/cloud/guides/web-servers/apache/)' - - '[LAMP stack guides](/cloud/guides/web-servers/lamp/)' + - '[Installing Apache](/cloud/guides/web-servers/apache)' + - '[LAMP stack guides](/cloud/guides/web-servers/lamp)' - '[Apache Rewrite Guide](https://httpd.apache.org/docs/current/mod/mod_rewrite.html)' - - '[Redirect URLs with the Apache Web Server](/cloud/guides/redirect-urls-with-the-apache-web-server/)' + - '[Redirect URLs with the Apache Web Server](/cloud/guides/redirect-urls-with-the-apache-web-server)' tags: ["web server","apache"] --- @@ -23,7 +23,7 @@ In this guide, you'll learn how to rewrite URLs with mod_rewrite and Apache. Rew ## Before You Begin -1. This guide assumes you have followed our [[Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, and that you have already configured your Apache installation. If you haven't, refer to our [Apache guides](/cloud/guides/web-servers/apache/) or [LAMP stack guides](/cloud/guides/web-servers/lamp/). +1. This guide assumes you have followed our [[Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, and that you have already configured your Apache installation. If you haven't, refer to our [Apache guides](/cloud/guides/web-servers/apache) or [LAMP stack guides](/cloud/guides/web-servers/lamp). 2. In this guide, we'll be modifying Apache configuration files, so be sure you have the proper permissions to do so. @@ -80,7 +80,7 @@ This is useful when the locations of files on the file system do not correspond ## Rewrite URLs Under Specific Conditions -With the `RewriteCond` parameter, you can set conditions under which a `RewriteRule` will be used. Let's take the following example from the default rewrite rules for the [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) application: +With the `RewriteCond` parameter, you can set conditions under which a `RewriteRule` will be used. Let's take the following example from the default rewrite rules for the [WordPress](/cloud/guides/how-to-install-and-configure-wordpress) application: {{< file "Apache Configuration Option for WordPress" apache >}} RewriteEngine On diff --git a/docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/index.md b/docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/index.md index 1c9e28bb5aa..130c81ef104 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/index.md @@ -10,19 +10,19 @@ keywords: ["apache", "access control", "security", "http", "web server"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[LAMP Stack Guides](/cloud/guides/web-servers/lamp/)' - - '[Apache Configuration and Administration](/cloud/guides/web-servers/apache/)' - - '[Apache Configuration Basics](/cloud/guides/apache-configuration-basics/)' - - '[Apache Configuration Structure](/cloud/guides/apache-configuration-structure/)' - - '[Auth-based Access Control](/cloud/guides/apache-access-control/)' - - '[Apache Troubleshooting](/cloud/guides/troubleshooting-common-apache-issues/)' + - '[LAMP Stack Guides](/cloud/guides/web-servers/lamp)' + - '[Apache Configuration and Administration](/cloud/guides/web-servers/apache)' + - '[Apache Configuration Basics](/cloud/guides/apache-configuration-basics)' + - '[Apache Configuration Structure](/cloud/guides/apache-configuration-structure)' + - '[Auth-based Access Control](/cloud/guides/apache-access-control)' + - '[Apache Troubleshooting](/cloud/guides/troubleshooting-common-apache-issues)' - '[Apache Documentation](http://httpd.apache.org/docs/2.2/sections.html)' - '[Apache Access Control](http://httpd.apache.org/docs/2.0/mod/mod_access.html#allow)' tags: ["web server","apache"] --- ![Rule-based Access Control for Apache](RBAC_Apache.jpg) -Apache provides a number of tools that allow administrators to control access to specific resources provided by servers. You may already be familiar with [authentication based access controls](/cloud/guides/apache-configuration-structure/), which requires that visitors authenticate to the server before gaining access to resources. +Apache provides a number of tools that allow administrators to control access to specific resources provided by servers. You may already be familiar with [authentication based access controls](/cloud/guides/apache-configuration-structure), which requires that visitors authenticate to the server before gaining access to resources. Apache's rule-based access control allows you to specify which visitors have access to which resources on a very granular level. You can create rules which block a given range of IPs from your web server, or from accessing a particular resource, or even simply from accessing a particular virtual host. @@ -31,11 +31,11 @@ The most basic use of rule-based access control is to place firm limits on what Additional uses for these access rules include blocking particular IP ranges that have been responsible for malicious traffic and limiting access to a given resource or set of resources to "internal users," among a number of other possibilities. -We assume that you have a working installation of Apache and have access to modify configuration files. If you have not installed Apache, you might want to follow one of our [Apache installation guides](/cloud/guides/web-servers/apache/) or [LAMP stack installation guides](/cloud/guides/web-servers/lamp/). If you want a more thorough introduction to Apache configuration, please reference our [Apache HTTP server configuration basics](/cloud/guides/apache-configuration-basics/) and [Apache configuration structure](/cloud/guides/apache-configuration-structure/) guides. +We assume that you have a working installation of Apache and have access to modify configuration files. If you have not installed Apache, you might want to follow one of our [Apache installation guides](/cloud/guides/web-servers/apache) or [LAMP stack installation guides](/cloud/guides/web-servers/lamp). If you want a more thorough introduction to Apache configuration, please reference our [Apache HTTP server configuration basics](/cloud/guides/apache-configuration-basics) and [Apache configuration structure](/cloud/guides/apache-configuration-structure) guides. ## Examples of Rule Based Access Control -You may wish to consult our [Apache configuration structure](/cloud/guides/apache-configuration-structure/) guide to see a number of examples of these directives in practice. +You may wish to consult our [Apache configuration structure](/cloud/guides/apache-configuration-structure) guide to see a number of examples of these directives in practice. Here is an example of a basic rule: diff --git a/docs/guides/web-servers/apache-tips-and-tricks/tuning-your-apache-server/index.md b/docs/guides/web-servers/apache-tips-and-tricks/tuning-your-apache-server/index.md index f1e3e872b71..6d02df6157d 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/tuning-your-apache-server/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/tuning-your-apache-server/index.md @@ -23,10 +23,10 @@ Your Apache configuration settings have a major effect on your Linode's performa ## Tools {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} -There are a variety of tools that can assist in determining if you need to alter resource settings, including the [*top* command](/cloud/guides/top-htop-iotop/) and the load-testing program [Siege](/cloud/guides/load-testing-with-siege/). Linode's own [Longview](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-longview) service can also help with server monitoring. A good place to start is to familiarize yourself with the RAM and CPU usage of your server. +There are a variety of tools that can assist in determining if you need to alter resource settings, including the [*top* command](/cloud/guides/top-htop-iotop) and the load-testing program [Siege](/cloud/guides/load-testing-with-siege). Linode's own [Longview](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-longview) service can also help with server monitoring. A good place to start is to familiarize yourself with the RAM and CPU usage of your server. Discover usage statistics with the following variations of the `ps` command. The `ps` command is used to generate a report of the running processes on your Linode: @@ -88,7 +88,7 @@ Enabling `ExtendedStatus` consumes additional system resources. ### Apache2Buddy -The Apache2Buddy script, similar to [MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner/), reviews your Apache setup, and makes suggestions based on your Apache process memory and overall RAM. Although it is a fairly basic program, that focuses on the `MaxClients` directive, Apache2Buddy is useful. You can run the script with the following command: +The Apache2Buddy script, similar to [MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner), reviews your Apache setup, and makes suggestions based on your Apache process memory and overall RAM. Although it is a fairly basic program, that focuses on the `MaxClients` directive, Apache2Buddy is useful. You can run the script with the following command: curl -sL https://raw.githubusercontent.com/richardforth/apache2buddy/master/apache2buddy.pl | sudo perl @@ -173,7 +173,7 @@ To get information on memory usage: free -m -To receive a more detailed view of the resources Apache is using, use the [`top` command](/cloud/guides/top-htop-iotop/). +To receive a more detailed view of the resources Apache is using, use the [`top` command](/cloud/guides/top-htop-iotop). ### MaxConnectionsPerChild @@ -187,6 +187,6 @@ When using the `worker` and `event` modules, `ServerLimit` and `ThreadLimit` det ### KeepAlive -[KeepAlive](https://httpd.apache.org/docs/2.4/mod/core.html#keepalive) allows connecting clients to use a single TCP connection to make multiple requests, instead of opening a new one for each request. This decreases page load times and lowers CPU use for your web server, at the expense of an increase in your server's RAM use. A KeepAlive connection will be counted as a single "request" for the [MaxConnectionsPerChild](/cloud/guides/tuning-your-apache-server/#maxconnectionsperchild). +[KeepAlive](https://httpd.apache.org/docs/2.4/mod/core.html#keepalive) allows connecting clients to use a single TCP connection to make multiple requests, instead of opening a new one for each request. This decreases page load times and lowers CPU use for your web server, at the expense of an increase in your server's RAM use. A KeepAlive connection will be counted as a single "request" for the [MaxConnectionsPerChild](/cloud/guides/tuning-your-apache-server#maxconnectionsperchild). In the past, this setting was often disabled to conserve RAM use, but server resources have become less expensive, and the option is now enabled by default in Apache 2.4. Enabling KeepAlive can significantly benefit your site's user experience, so be wary of disabling it without testing the effects of doing so. KeepAlive can be enabled or disabled in your web server configuration, or within a Virtual Host block. \ No newline at end of file diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-centos-5/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-centos-5/index.md index 9a5b31438bc..6319fa3ffbf 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-centos-5/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-centos-5/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on CentOS 5. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for CentOS](/cloud/guides/lamp-server-on-centos-5/). +This tutorial explains how to install and configure the Apache web server on CentOS 5. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for CentOS](/cloud/guides/lamp-server-on-centos-5). ## Set the Hostname @@ -164,7 +164,7 @@ In accordance with best practices, we do not recommend modifying the default con cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd-conf.backup-1 -Generally, as specified above and in our [LAMP guide for CentOS 5.2](/cloud/guides/lamp-server-on-centos-5/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. +Generally, as specified above and in our [LAMP guide for CentOS 5.2](/cloud/guides/lamp-server-on-centos-5) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. ## Install Apache Modules @@ -251,4 +251,4 @@ There are many other possibilities for using mod\_rewrite to allow users to see You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.0 Documentation](http://httpd.apache.org/docs/2.0/) -- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/) +- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-debian-5-lenny/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-debian-5-lenny/index.md index 246e81d9930..12a7bf7dc53 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-debian-5-lenny/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Debian 5 (Lenny). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Debian 5](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/). +This tutorial explains how to install and configure the Apache web server on Debian 5 (Lenny). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Debian 5](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11). ## Set the Hostname @@ -186,7 +186,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in our [LAMP guide for Debian 5 (Lenny)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP guide for Debian 5 (Lenny)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice, the vast majority of configuration options will probably be located in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. @@ -217,4 +217,4 @@ In this example, `webeditor` is the name of the user of the specific site in que You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/) +- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-debian-6-squeeze/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-debian-6-squeeze/index.md index 6ba583b8b8c..ec12cafadc5 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-debian-6-squeeze/index.md @@ -20,7 +20,7 @@ deprecated: true This tutorial explains how to install and configure the Apache web server on Debian 6 (Squeeze). -Note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Debian 6](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/). +Note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Debian 6](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11). ## Before You Begin @@ -212,7 +212,7 @@ Later files take precedence over earlier ones. Within a directory, files are rea Apache will follow symbolic links to read configuration files, so it's possible to put files in other locations as well. -Generally, as specified in our [LAMP Guide for Debian 6 (Squeeze)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) and elsewhere, you should create configuration files for your virtual hosts in the `/etc/apache2/sites-available/` directory, then use the `a2ensite` tool to symbolically link to files in the `sites-enabled/` directory. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP Guide for Debian 6 (Squeeze)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11) and elsewhere, you should create configuration files for your virtual hosts in the `/etc/apache2/sites-available/` directory, then use the `a2ensite` tool to symbolically link to files in the `sites-enabled/` directory. This allows for a clear and specific per-site configuration. We recommend that you *not* modify these files: @@ -222,7 +222,7 @@ We recommend that you *not* modify these files: In practice, the vast majority of your configuration options should go in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. -For more help with conflicting directives, see our [Apache Troubleshooting](/cloud/guides/troubleshooting-common-apache-issues/#troubleshoot-conflicting-directives) article. +For more help with conflicting directives, see our [Apache Troubleshooting](/cloud/guides/troubleshooting-common-apache-issues#troubleshoot-conflicting-directives) article. ## Multi-Processing Module @@ -260,4 +260,4 @@ For more complex setups, however, we recommend that you consider using an altern You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/) +- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-12/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-12/index.md index 0d83e81113e..388cb29ac5b 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-12/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-12/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Fedora 12. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 12](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). +This tutorial explains how to install and configure the Apache web server on Fedora 12. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 12](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux). ## Install Apache HTTP Server @@ -147,7 +147,7 @@ In accordance with best practices, we do not recommend modifying the default con cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd-conf.backup-1 -Generally, as specified above and in our [LAMP guide for Fedora 12](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. +Generally, as specified above and in our [LAMP guide for Fedora 12](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. ## Install Apache Modules @@ -235,4 +235,4 @@ You may wish to consult the following resources for additional information on th - [Apache HTTP Server Version 2.0 Documentation](http://httpd.apache.org/docs/2.0/) - [URL Rewriting on HTML Source](http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html) -- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/) +- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-13/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-13/index.md index 750de9a394d..67187ca9d7f 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-13/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-13/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Fedora 13. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 13](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). +This tutorial explains how to install and configure the Apache web server on Fedora 13. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 13](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux). ## Install Apache HTTP Server @@ -147,7 +147,7 @@ In accordance with best practices, we do not recommend modifying the default con cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd-conf.backup-1 -Generally, as specified above and in our [LAMP guide for Fedora 13](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. +Generally, as specified above and in our [LAMP guide for Fedora 13](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. ## Install Apache Modules @@ -233,6 +233,6 @@ There are many other possibilities for using mod\_rewrite to allow users to see You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/) +- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks) - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) - [URL Rewriting on HTML Source](http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-14/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-14/index.md index 5916cced6cd..112f30b7777 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-14/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-14/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Fedora 14. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 14](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). +This tutorial explains how to install and configure the Apache web server on Fedora 14. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 14](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux). ## Set the Hostname @@ -144,7 +144,7 @@ In accordance with best practices, we do not recommend modifying the default con cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd-conf.backup-1 -Generally, as specified above and in our [LAMP guide for Fedora 14](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. +Generally, as specified above and in our [LAMP guide for Fedora 14](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. ## Install Apache Modules @@ -230,6 +230,6 @@ There are many other possibilities for using mod\_rewrite to allow users to see You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/) +- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks) - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) - [URL Rewriting on HTML Source](http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-04-lts-lucid/index.md index cf8d35034aa..9ad3d2559ee 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-04-lts-lucid/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Ubuntu 10.04 (Lucid). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 10.04](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/). +This tutorial explains how to install and configure the Apache web server on Ubuntu 10.04 (Lucid). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 10.04](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid). ## Set the Hostname @@ -186,7 +186,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in our [LAMP guide for Ubuntu 10.04 LTS (Lucid)](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP guide for Ubuntu 10.04 LTS (Lucid)](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice, the vast majority of configuration options will probably be located in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. @@ -217,4 +217,4 @@ In this example, `webeditor` is the name of the user of the specific site in que You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/) +- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-10-maverick/index.md index ff8056ef69a..180702d5f04 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-10-maverick/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Ubuntu 10.10 (Maverick). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 10.10](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/). +This tutorial explains how to install and configure the Apache web server on Ubuntu 10.10 (Maverick). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 10.10](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04). ## Set the Hostname @@ -186,7 +186,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice, the vast majority of configuration options will probably be located in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. @@ -217,4 +217,4 @@ In this example, `webeditor` is the name of the user of the specific site in que You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/) +- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-8-04-lts-hardy/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-8-04-lts-hardy/index.md index 906335aef2a..f14fbeee466 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-8-04-lts-hardy/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-8-04-lts-hardy/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Ubuntu 8.04 (Hardy). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 8.04](/cloud/guides/lamp-server-on-ubuntu-8-04-lts-hardy/). +This tutorial explains how to install and configure the Apache web server on Ubuntu 8.04 (Hardy). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 8.04](/cloud/guides/lamp-server-on-ubuntu-8-04-lts-hardy). ## Basic System Configuration @@ -208,7 +208,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in our [LAMP guide for Ubuntu 8.04 LTS (Hardy)](/cloud/guides/lamp-server-on-ubuntu-8-04-lts-hardy/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP guide for Ubuntu 8.04 LTS (Hardy)](/cloud/guides/lamp-server-on-ubuntu-8-04-lts-hardy) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice, the vast majority of configuration options will probably be located in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. @@ -239,4 +239,4 @@ In this example, `webeditor` is the name of the user of the specific site in que You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/) +- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-04-jaunty/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-04-jaunty/index.md index ef07e647aa7..e8060ce16e8 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-04-jaunty/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Ubuntu 9.04 (Jaunty). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 9.04](/cloud/guides/lamp-server-on-ubuntu-9-04-jaunty/). +This tutorial explains how to install and configure the Apache web server on Ubuntu 9.04 (Jaunty). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 9.04](/cloud/guides/lamp-server-on-ubuntu-9-04-jaunty). ## Install Apache 2 @@ -161,7 +161,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in our [LAMP Guide for Debian Lenny](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP Guide for Debian Lenny](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice the vast majority of configuration options will probably be located in site-specific virtual host configuration files. @@ -245,4 +245,4 @@ You may wish to consult the following resources for additional information on th - [Apache HTTP Server Version 2.0 Documentation](http://httpd.apache.org/docs/2.0/) - [URL Rewriting on HTML Source](http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html) -- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/) +- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-10-karmic/index.md index 12470f1ae45..2a3e3718ba9 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-10-karmic/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Ubuntu 9.10 (Karmic). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 9.10](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/). +This tutorial explains how to install and configure the Apache web server on Ubuntu 9.10 (Karmic). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 9.10](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic). ## Basic System Configuration @@ -208,7 +208,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in our [LAMP guide for Ubuntu 9.10 (Karmic)](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP guide for Ubuntu 9.10 (Karmic)](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice, the vast majority of configuration options will probably be located in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. @@ -239,4 +239,4 @@ In this example, `webeditor` is the name of the user of the specific site in que You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/) +- [Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks) diff --git a/docs/guides/web-servers/apache/apache-access-control/index.md b/docs/guides/web-servers/apache/apache-access-control/index.md index b630c4f472c..5e5dd9dcac1 100644 --- a/docs/guides/web-servers/apache/apache-access-control/index.md +++ b/docs/guides/web-servers/apache/apache-access-control/index.md @@ -11,8 +11,8 @@ tags: ["http","web server","apache","security"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Installation of the Apache web server](/cloud/guides/web-servers/apache/)' - - '[LAMP stack guides](/cloud/guides/web-servers/lamp/)' + - '[Installation of the Apache web server](/cloud/guides/web-servers/apache)' + - '[LAMP stack guides](/cloud/guides/web-servers/lamp)' - '[Authentication and Access Control](http://httpd.apache.org/docs/2.2/howto/auth.html)' - '[Basic Authentication Module](http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html)' --- @@ -35,9 +35,9 @@ This guide provides an overview of both credential-based and rule-based access c The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN) if you have one assigned. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. -This guide uses the same example file paths as our [Apache on Debian 8](/cloud/guides/apache-web-server-debian-8/) guide. Be sure to adjust for your distribution. +This guide uses the same example file paths as our [Apache on Debian 8](/cloud/guides/apache-web-server-debian-8) guide. Be sure to adjust for your distribution. {{< /note >}} ## Apache Access Control diff --git a/docs/guides/web-servers/apache/apache-and-mod-wsgi-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/apache/apache-and-mod-wsgi-on-ubuntu-10-10-maverick/index.md index d521478041c..591300319b4 100644 --- a/docs/guides/web-servers/apache/apache-and-mod-wsgi-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/apache/apache-and-mod-wsgi-on-ubuntu-10-10-maverick/index.md @@ -72,7 +72,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) must be installed in order for the following application to run successfully. {{< file "/srv/www/example.com/application/application.wsgi" python >}} import web @@ -157,8 +157,8 @@ You will need to restart the web server every time the `application.wsgi` file c You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python) -- [Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/) -- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin) +- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) - [Flask Framework](http://flask.pocoo.org/) - [Werkzug](http://werkzeug.pocoo.org/) - [Django](http://www.djangoproject.com/) diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-5-lenny/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-5-lenny/index.md index 1d5d7261e49..0455e3f0ff3 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-5-lenny/index.md @@ -22,7 +22,7 @@ The WSGI specification provides a standard and efficient method for dynamic web ## Set the Hostname -Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/cloud/guides/apache-2-web-server-on-debian-5-lenny/). Issue the following commands to make sure it is set properly: +Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/cloud/guides/apache-2-web-server-on-debian-5-lenny). Issue the following commands to make sure it is set properly: hostname hostname -f @@ -72,7 +72,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) must be installed in order for the following application to run successfully. {{< file "/srv/www/example.com/application/application.wsgi" python >}} import web @@ -157,8 +157,8 @@ You will need to restart the web server every time the `application.wsgi` file c You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python) -- [Deploy Django Applications with mod\_wsgi](/cloud/guides/django-apache-and-modwsgi-on-centos-5/) -- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Django Applications with mod\_wsgi](/cloud/guides/django-apache-and-modwsgi-on-centos-5) +- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) - [Flask Framework](http://flask.pocoo.org/) - [Werkzug](http://werkzeug.pocoo.org/) - [Django](http://www.djangoproject.com/) diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-6-squeeze/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-6-squeeze/index.md index 107728ed566..48936975771 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-6-squeeze/index.md @@ -72,7 +72,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) must be installed in order for the following application to run successfully. {{< file "/srv/www/example.com/application/application.wsgi" python >}} import web @@ -157,8 +157,8 @@ You will need to restart the web server every time the `application.wsgi` file c You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python) -- [Deploy Django Applications with mod\_wsgi](/cloud/guides/django-apache-and-modwsgi-on-centos-5/) -- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Django Applications with mod\_wsgi](/cloud/guides/django-apache-and-modwsgi-on-centos-5) +- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) - [Flask Framework](http://flask.pocoo.org/) - [Werkzug](http://werkzeug.pocoo.org/) - [Django](http://www.djangoproject.com/) diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-fedora-14/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-fedora-14/index.md index 2cc83e5816a..ed9d1f95eca 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-fedora-14/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-fedora-14/index.md @@ -22,7 +22,7 @@ The WSGI specification provides a standard and efficient method for dynamic web ## Set the Hostname -Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/cloud/guides/apache-and-modwsgi-on-fedora-14/). Issue the following commands to make sure it is set properly: +Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/cloud/guides/apache-and-modwsgi-on-fedora-14). Issue the following commands to make sure it is set properly: hostname hostname -f @@ -71,7 +71,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) must be installed in order for the following application to run successfully. {{< file "/srv/www/example.com/application/application.wsgi" python >}} import web @@ -157,8 +157,8 @@ You will need to restart the web server every time the `application.wsgi` file c You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python) -- [Deploy Django Applications with mod\_wsgi](/cloud/guides/django-apache-and-modwsgi-on-fedora-14/) -- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Django Applications with mod\_wsgi](/cloud/guides/django-apache-and-modwsgi-on-fedora-14) +- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) - [Flask Framework](http://flask.pocoo.org/) - [Werkzug](http://werkzeug.pocoo.org/) - [Django](http://www.djangoproject.com/) diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md index 7736150cfdd..3c39be137c9 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md @@ -72,7 +72,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) must be installed in order for the following application to run successfully. {{< file "/srv/www/example.com/application/application.wsgi" python >}} import web @@ -157,8 +157,8 @@ You will need to restart the web server every time the `application.wsgi` file c You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python) -- [Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/) -- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin) +- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) - [Flask Framework](http://flask.pocoo.org/) - [Werkzug](http://werkzeug.pocoo.org/) - [Django](http://www.djangoproject.com/) diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/index.md index 995b75128aa..228c28fd381 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/index.md @@ -12,8 +12,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python)' - - '[Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/)' - - '[Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/)' + - '[Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin)' + - '[Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin)' - '[Flask Framework](http://flask.pocoo.org/)' - '[Werkzug](http://werkzeug.pocoo.org/)' - '[Django](http://www.djangoproject.com/)' @@ -32,14 +32,14 @@ The WSGI specification provides a standard and efficient method for dynamic web 1. Ensure that you have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides, and the Linode's [hostname is set](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). -2. We recommend that you are already familiar with [Apache](/cloud/guides/apache-web-server-ubuntu-12-04/) before beginning this guide. +2. We recommend that you are already familiar with [Apache](/cloud/guides/apache-web-server-ubuntu-12-04) before beginning this guide. 3. Update your system: sudo apt-get update sudo apt-get upgrade {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Dependencies @@ -83,7 +83,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -In this example the Web.py *application* is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +In this example the Web.py *application* is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) must be installed in order for the following application to run successfully. {{< file "/var/www/example.com/application/application.wsgi" python >}} import web diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-14-04-precise-pangolin/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-14-04-precise-pangolin/index.md index 007729b8aeb..ac585fc4fe5 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-14-04-precise-pangolin/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-14-04-precise-pangolin/index.md @@ -11,8 +11,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[A Basic "Hello World" Django Application](https://dfpp.readthedocs.io/en/latest/chapter_01.html)' - - '[Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/)' - - '[Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/)' + - '[Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin)' + - '[Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin)' - '[Flask Framework](http://flask.pocoo.org/)' - '[Werkzug](http://werkzeug.pocoo.org/)' - '[Django](http://www.djangoproject.com/)' @@ -32,14 +32,14 @@ The WSGI specification provides a standard and efficient method for dynamic web 1. Ensure that you have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides, and the Linode's [hostname is set](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). -2. We recommend that you are already familiar with [Apache](/cloud/guides/apache-web-server-on-ubuntu-14-04/) before beginning this guide. +2. We recommend that you are already familiar with [Apache](/cloud/guides/apache-web-server-on-ubuntu-14-04) before beginning this guide. 3. Update your system: sudo apt-get update sudo apt-get upgrade {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Dependencies @@ -83,7 +83,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -In this example the Web.py *application* is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +In this example the Web.py *application* is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin) must be installed in order for the following application to run successfully. {{< file "/var/www/html/example.com/application/application.wsgi" python >}} import web diff --git a/docs/guides/web-servers/apache/apache-web-server-debian-7/index.md b/docs/guides/web-servers/apache/apache-web-server-debian-7/index.md index 8fc520c4480..ceeb8c6ede4 100644 --- a/docs/guides/web-servers/apache/apache-web-server-debian-7/index.md +++ b/docs/guides/web-servers/apache/apache-web-server-debian-7/index.md @@ -12,8 +12,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/)' - - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/)' - - '[Tuning Your Apache Sever](/cloud/guides/tuning-your-apache-server/)' + - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks)' + - '[Tuning Your Apache Sever](/cloud/guides/tuning-your-apache-server)' relations: platform: key: install-apache-server @@ -26,10 +26,10 @@ deprecated: true The *Apache HTTP Web Sever* (Apache) is an open source web application for deploying web servers. This tutorial explains how to install and configure the Apache web server on Debian 7 (Wheezy). -Note that if you're looking to install a full LAMP (Linux, Apache, MySQL and PHP) stack, you may want to consider using our [LAMP guide for Debian 7](/cloud/guides/lamp-server-on-debian-7-wheezy/). +Note that if you're looking to install a full LAMP (Linux, Apache, MySQL and PHP) stack, you may want to consider using our [LAMP guide for Debian 7](/cloud/guides/lamp-server-on-debian-7-wheezy). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/web-servers/apache/apache-web-server-debian-8/index.md b/docs/guides/web-servers/apache/apache-web-server-debian-8/index.md index feb95192bf9..0dfebb382b2 100644 --- a/docs/guides/web-servers/apache/apache-web-server-debian-8/index.md +++ b/docs/guides/web-servers/apache/apache-web-server-debian-8/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Apache HTTP Server Version 2.4 Documentation](http://httpd.apache.org/docs/2.4/)' - - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/)' + - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks)' relations: platform: key: install-apache-server @@ -25,10 +25,10 @@ deprecated: true The *Apache HTTP Web Sever* (Apache) is an open source web application for deploying web servers. This guide explains how to install and configure an Apache web server on Debian 8. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Debian 8](/cloud/guides/lamp-on-debian-8-jessie/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Debian 8](/cloud/guides/lamp-on-debian-8-jessie) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/web-servers/apache/apache-web-server-on-centos-6/index.md b/docs/guides/web-servers/apache/apache-web-server-on-centos-6/index.md index 4127f812693..2d878a7bdcd 100644 --- a/docs/guides/web-servers/apache/apache-web-server-on-centos-6/index.md +++ b/docs/guides/web-servers/apache/apache-web-server-on-centos-6/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/)' - - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/)' + - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks)' relations: platform: key: install-apache-server @@ -25,10 +25,10 @@ deprecated: true The *Apache HTTP Server* (Apache) is an open-source web server application. This guide explains how to install and configure an Apache web server on CentOS 6. -If instead you would like to install a full LAMP (Linux, Apache, MySQL, and PHP) stack, please see the [LAMP on CentOS 6](/cloud/guides/lamp-on-centos-6/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL, and PHP) stack, please see the [LAMP on CentOS 6](/cloud/guides/lamp-on-centos-6) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/web-servers/apache/apache-web-server-on-ubuntu-14-04/index.md b/docs/guides/web-servers/apache/apache-web-server-on-ubuntu-14-04/index.md index c61fb12ae0e..56195d6ec5b 100644 --- a/docs/guides/web-servers/apache/apache-web-server-on-ubuntu-14-04/index.md +++ b/docs/guides/web-servers/apache/apache-web-server-on-ubuntu-14-04/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Apache HTTP Server Version 2.4 Documentation](http://httpd.apache.org/docs/2.4/)' - - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/)' + - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks)' relations: platform: key: install-apache-server @@ -25,10 +25,10 @@ deprecated: true The *Apache HTTP Web Sever* (Apache) is an open source web application for deploying web servers. This guide explains how to install and configure an Apache web server on Ubuntu 14.04 LTS. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Ubuntu 14.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Ubuntu 14.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/web-servers/apache/apache-web-server-ubuntu-12-04/index.md b/docs/guides/web-servers/apache/apache-web-server-ubuntu-12-04/index.md index 5d96722deb6..2691b7d0541 100644 --- a/docs/guides/web-servers/apache/apache-web-server-ubuntu-12-04/index.md +++ b/docs/guides/web-servers/apache/apache-web-server-ubuntu-12-04/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/)' - - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/)' + - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks)' relations: platform: key: install-apache-server @@ -23,10 +23,10 @@ deprecated: true The *Apache HTTP Web Server* (Apache) is an open source web application for running web servers. This guide explains how to install and configure an Apache web server on Ubuntu 12.04 LTS. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Ubuntu 12.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Ubuntu 12.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/web-servers/apache/host-your-own-rss-reader-with-tiny-tiny-rss-on-centos-7/index.md b/docs/guides/web-servers/apache/host-your-own-rss-reader-with-tiny-tiny-rss-on-centos-7/index.md index 00c05babe83..1e383eb5e80 100644 --- a/docs/guides/web-servers/apache/host-your-own-rss-reader-with-tiny-tiny-rss-on-centos-7/index.md +++ b/docs/guides/web-servers/apache/host-your-own-rss-reader-with-tiny-tiny-rss-on-centos-7/index.md @@ -23,7 +23,7 @@ This guide will walk through the steps necessary to install and configure Tiny T 1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for setting your Linode's hostname and timezone. -2. Follow the steps in the [LAMP on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/) guide. +2. Follow the steps in the [LAMP on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7) guide. 3. Make sure your system is up to date: diff --git a/docs/guides/web-servers/apache/how-to-configure-http-2-on-apache/index.md b/docs/guides/web-servers/apache/how-to-configure-http-2-on-apache/index.md index bbd9cc6aca6..9a5cf8d13fb 100644 --- a/docs/guides/web-servers/apache/how-to-configure-http-2-on-apache/index.md +++ b/docs/guides/web-servers/apache/how-to-configure-http-2-on-apache/index.md @@ -17,7 +17,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' HTTP/2 is supported by the majority of the most popular websites and is considered the current standard. It dramatically improves speed and latency due to optimizations in how data is transmitted. However, most of the changes are internal, and users do not have to make any adjustments. HTTP/2 still uses the same fields, format, and status codes, and serves the same function as the original HTTP service. It continues to use [*Transmission Control Protocol*](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) (TCP) for the transport layer and supports all contemporary browsers, web servers, and proxies. A negotiation mechanism helps the client and server elect whether to use HTTP/2 or fall back to HTTP/1.1. Most clients require data encryption whenever HTTP/2 is used. This means HTTPS is the de facto standard in HTTP/2. -For more comprehensive information and a collection of resources about HTTP/2, see our [An Introduction to HTTP/2](/cloud/guides/introducing-http-2/) guide. +For more comprehensive information and a collection of resources about HTTP/2, see our [An Introduction to HTTP/2](/cloud/guides/introducing-http-2) guide. ## Before You Begin @@ -28,7 +28,7 @@ For more comprehensive information and a collection of resources about HTTP/2, s 1. Ensure you possess a Fully Qualified Domain Name (FQDN) for the website. The DNS records for the site must point to the Linode server. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## A Summary of the HTTP/2 on Apache Configuration Process @@ -42,7 +42,7 @@ The following high-level steps are involved in configuring HTTP/2 on [*Apache*]( ### Install Apache -Run the `apache2 -v` command to determine whether Apache is installed. If it is already present, the command indicates what version is running. In this case, skip this section and proceed to the [Install the Necessary PHP Components](#install-the-necessary-php-components) step. If the command displays an error, Apache is not yet installed. For more information about Apache, see Linode's [Apache Configuration Basics](/cloud/guides/apache-configuration-basics/) guide. +Run the `apache2 -v` command to determine whether Apache is installed. If it is already present, the command indicates what version is running. In this case, skip this section and proceed to the [Install the Necessary PHP Components](#install-the-necessary-php-components) step. If the command displays an error, Apache is not yet installed. For more information about Apache, see Linode's [Apache Configuration Basics](/cloud/guides/apache-configuration-basics) guide. {{< note >}} HTTP/2 support requires Apache version 2.4.17 or higher. @@ -135,7 +135,7 @@ Earlier versions of Apache have a different file and directory structure. The ma ... {{< /file >}} {{< note respectIndent=false >}} -HTTP/2 support is typically configured on a system-wide basis. If you only want to enable HTTP/2 for one site, add the `h2 h2c` protocols to the virtual server entry for the site instead. For more information about Apache, see Linode's [Apache Configuration Basics](/cloud/guides/apache-configuration-basics/) guide. +HTTP/2 support is typically configured on a system-wide basis. If you only want to enable HTTP/2 for one site, add the `h2 h2c` protocols to the virtual server entry for the site instead. For more information about Apache, see Linode's [Apache Configuration Basics](/cloud/guides/apache-configuration-basics) guide. {{< /note >}} ### Enable HTTPS Support diff --git a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-centos-8/index.md b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-centos-8/index.md index a86e0d796c8..a0710fe9946 100644 --- a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-centos-8/index.md +++ b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-centos-8/index.md @@ -22,11 +22,11 @@ aliases: [] This guide will show you how to install `mod_fcgid` and `PHP-FPM` on CentOS 8. It will also provide a basic configuration that uses socket based connections, instead of TCP. These steps will enable you to run PHP through `mod_fcgid`. Running PHP through `mod_fcgid` helps to reduce the amount of system resources used by forcing the web server to act as a proxy and only pass files ending with the *.php* file extension to PHP-FPM. Additionally, using PHP-FPM allows each virtual host to be configured to run PHP code as individual users. -This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/) guide. +This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics) guide. ## Before You Begin -1. Complete the steps in the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. +1. Complete the steps in the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. {{< note respectIndent=false >}} This guide's examples will use PHP version 7.2. By default, PHP 7.2 is available for installation from the default CentOS 8 repositories. When running commands related to PHP, ensure you replace any version numbers with your own system's PHP version. diff --git a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-debian-10/index.md b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-debian-10/index.md index 267b7dc2d27..0b8d60e8ea6 100644 --- a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-debian-10/index.md +++ b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-debian-10/index.md @@ -22,11 +22,11 @@ aliases: [] This guide will show you how to install `mod_fcgid` and `PHP-FPM` on Debian 10. It will also provide a basic configuration that uses socket based connections, instead of TCP. These steps will enable you to run PHP through `mod_fcgid`. Running PHP through `mod_fcgid` helps to reduce the amount of system resources used by forcing the web server to act as a proxy and only pass files ending with the *.php* file extension to PHP-FPM. Additionally, using PHP-FPM allows each virtual host to be configured to run PHP code as individual users. -This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/) guide. +This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics) guide. ## Before You Begin -1. Complete the steps in the [How to Install a LAMP Stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. +1. Complete the steps in the [How to Install a LAMP Stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. {{< note respectIndent=false >}} This guide's examples will use PHP version 7.3. When running commands related to PHP, ensure you replace any version numbers with your own system's PHP version. diff --git a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-ubuntu-18-04/index.md b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-ubuntu-18-04/index.md index 36836a4a339..61dbed3909d 100644 --- a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-ubuntu-18-04/index.md @@ -22,11 +22,11 @@ aliases: [] This guide will show you how to install `mod_fcgid` and `PHP-FPM` on Ubuntu 18.04. It will also provide a basic configuration that uses socket based connections, instead of TCP. These steps will enable you to run PHP through `mod_fcgid`. Running PHP through `mod_fcgid` helps to reduce the amount of system resources used by forcing the web server to act as a proxy and only pass files ending with the *.php* file extension to PHP-FPM. Additionally, using PHP-FPM allows each virtual host to be configured to run PHP code as individual users. -This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/) guide. +This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics) guide. ## Before You Begin -1. Complete the steps in the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. +1. Complete the steps in the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. {{< note respectIndent=false >}} This guide's examples will use PHP version 7.2. When running commands related to PHP, ensure you replace any version numbers with your own system's PHP version. diff --git a/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2004/index.md b/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2004/index.md index b6d326d6454..192973ac8ba 100644 --- a/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2004/index.md +++ b/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2004/index.md @@ -33,7 +33,7 @@ The Apache HTTP Web Server — usually just called Apache — is one of the most ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing Apache @@ -106,7 +106,7 @@ The Apache service runs on `systemd`, which can be used to manage the Apache ser ### Apache Modules -Apache can be extended and modified with modules. These range from modules that integrate interpreters like PHP and Python, enabling dynamic content, to modules that change Apache's fundamental model for handling connections. (See the next section for more on the latter type of modules, called [Multi-processing Modules](/cloud/guides/how-to-install-apache-ubuntu-2004/#multi-processing-modules)). +Apache can be extended and modified with modules. These range from modules that integrate interpreters like PHP and Python, enabling dynamic content, to modules that change Apache's fundamental model for handling connections. (See the next section for more on the latter type of modules, called [Multi-processing Modules](/cloud/guides/how-to-install-apache-ubuntu-2004#multi-processing-modules)). Apache modules are typically installed via the package manager. After that, you can manage modules through Apache. @@ -258,7 +258,7 @@ This section walks you through setting up your own website using Apache. In doin sudo ufw allow http ``` - Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide for more on how to use UFW for managing your firewall. + Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide for more on how to use UFW for managing your firewall. ### Launching the Website diff --git a/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2404/index.md b/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2404/index.md index 43bfc4f5d50..5463d304872 100644 --- a/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2404/index.md +++ b/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2404/index.md @@ -32,7 +32,7 @@ The Apache HTTP Web Server — usually just called Apache — is one of the most ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing Apache @@ -105,7 +105,7 @@ The Apache service runs on `systemd`, which can be used to manage the Apache ser ### Apache Modules -Apache can be extended and modified with modules. These range from modules that integrate interpreters like PHP and Python, enabling dynamic content, to modules that change Apache's fundamental model for handling connections. (See the next section for more on the latter type of modules, called [Multi-processing Modules](/cloud/guides/how-to-install-apache-ubuntu-2404/#multi-processing-modules)). +Apache can be extended and modified with modules. These range from modules that integrate interpreters like PHP and Python, enabling dynamic content, to modules that change Apache's fundamental model for handling connections. (See the next section for more on the latter type of modules, called [Multi-processing Modules](/cloud/guides/how-to-install-apache-ubuntu-2404#multi-processing-modules)). Apache modules are typically installed via the package manager. After that, you can manage modules through Apache. @@ -258,7 +258,7 @@ This section walks you through setting up your own website using Apache. In doin sudo ufw allow http ``` - Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide for more on how to use UFW for managing your firewall. + Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide for more on how to use UFW for managing your firewall. ### Launching the Website diff --git a/docs/guides/web-servers/apache/how-to-install-apache-web-server-centos-8/index.md b/docs/guides/web-servers/apache/how-to-install-apache-web-server-centos-8/index.md index 38552fcef50..1c6ed26e415 100644 --- a/docs/guides/web-servers/apache/how-to-install-apache-web-server-centos-8/index.md +++ b/docs/guides/web-servers/apache/how-to-install-apache-web-server-centos-8/index.md @@ -11,7 +11,7 @@ tags: ["centos","web server","apache"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Apache HTTP Server Version 2.4 Documentation](http://httpd.apache.org/docs/2.4/)' - - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/)' + - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks)' image: InstallApache_CentOS8.png relations: platform: @@ -23,7 +23,7 @@ aliases: [] The *Apache HTTP Web Server* (Apache) is an open source web application for deploying web servers. This guide explains how to install and configure an Apache web server on CentOS 8. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) guide. ## Before You Begin @@ -61,7 +61,7 @@ If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) ## Multi-Processing Modules -Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In CentOS 8 the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server/#multi-processing-modules) guide. +Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In CentOS 8 the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server#multi-processing-modules) guide. 1. You can check which MPM is currently configured with the following command: diff --git a/docs/guides/web-servers/apache/how-to-install-apache-web-server-debian-10/index.md b/docs/guides/web-servers/apache/how-to-install-apache-web-server-debian-10/index.md index 348850fec0a..6d57ccf0d34 100644 --- a/docs/guides/web-servers/apache/how-to-install-apache-web-server-debian-10/index.md +++ b/docs/guides/web-servers/apache/how-to-install-apache-web-server-debian-10/index.md @@ -12,7 +12,7 @@ tags: ["web server","apache","debian"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Apache HTTP Server Version 2.4 Documentation](http://httpd.apache.org/docs/2.4/)' - - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/)' + - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks)' image: InstallApache_Deb10.png relations: platform: @@ -24,10 +24,10 @@ aliases: [] The *Apache HTTP Web Sever* (Apache) is an open source web application for deploying web servers. This guide explains how to install and configure an Apache web server on Debian 10. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -48,7 +48,7 @@ Install Apache 2.4: ## Multi-Processing Modules -Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In Debian 10 the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server/#multi-processing-modules) guide. +Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In Debian 10 the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server#multi-processing-modules) guide. 1. You can check which MPM is currently configured with the following command: @@ -313,7 +313,7 @@ You can control the server in the following ways. ### Optional: Firewall -Depending on your firewall configuration, you may need to modify your settings to allow access to web ports. A popular firewall for Debian is [UFW](/cloud/guides/configure-firewall-with-ufw/). +Depending on your firewall configuration, you may need to modify your settings to allow access to web ports. A popular firewall for Debian is [UFW](/cloud/guides/configure-firewall-with-ufw). If you had UFW installed before you installed Apache, Apache will have registered with UFW during installation and provides some simple to use configurations. diff --git a/docs/guides/web-servers/apache/how-to-install-apache-web-server-ubuntu-18-04/index.md b/docs/guides/web-servers/apache/how-to-install-apache-web-server-ubuntu-18-04/index.md index 46f00cec79c..797e2e120ef 100644 --- a/docs/guides/web-servers/apache/how-to-install-apache-web-server-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/apache/how-to-install-apache-web-server-ubuntu-18-04/index.md @@ -12,7 +12,7 @@ tags: ["web server","apache","ubuntu"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Apache HTTP Server Version 2.4 Documentation](http://httpd.apache.org/docs/2.4/)' - - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks/)' + - '[Apache Configuration](/cloud/guides/web-servers/apache-tips-and-tricks)' image: InstallApache_Ubuntu1804LTS.png relations: platform: @@ -24,10 +24,10 @@ aliases: [] The *Apache HTTP Web Sever* (Apache) is an open source web application for deploying web servers. This guide explains how to install and configure an Apache web server on Ubuntu 18.04 LTS. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -48,7 +48,7 @@ Install Apache 2.4: ## Multi-Processing Modules -Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In Ubuntu 18.04 LTS the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server/#multi-processing-modules) guide. +Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In Ubuntu 18.04 LTS the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server#multi-processing-modules) guide. 1. You can check which MPM is currently configured with the following command: @@ -322,7 +322,7 @@ You can control the server in the following ways. ### Optional: Firewall -Depending on your firewall configuration, you may need to modify your settings to allow access to web ports. A common firewall for Ubuntu is [UFW](/cloud/guides/configure-firewall-with-ufw/). +Depending on your firewall configuration, you may need to modify your settings to allow access to web ports. A common firewall for Ubuntu is [UFW](/cloud/guides/configure-firewall-with-ufw). If you had UFW installed before you installed Apache, Apache will have registered with UFW during installation and provides some simple to use configurations. diff --git a/docs/guides/web-servers/apache/how-to-set-up-htaccess-on-apache/index.md b/docs/guides/web-servers/apache/how-to-set-up-htaccess-on-apache/index.md index a5c53fa3dfb..7f95035e22d 100644 --- a/docs/guides/web-servers/apache/how-to-set-up-htaccess-on-apache/index.md +++ b/docs/guides/web-servers/apache/how-to-set-up-htaccess-on-apache/index.md @@ -28,7 +28,7 @@ An .htaccess file makes Apache web server configuration changes on a per-directo 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Complete the Apache section in the [Install a Lamp Stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) to install Apache on your Linode. +1. Complete the Apache section in the [Install a Lamp Stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) to install Apache on your Linode. {{< note >}} Throughout this guide, replace each instance of `testuser` with your custom user account. Replace each occurrence of `example.com` with the IP address or Fully Qualified Domain Name (FQDN) of your Linode. @@ -36,7 +36,7 @@ Throughout this guide, replace each instance of `testuser` with your custom user ## Enable the Apache .htaccess File -To enable the .htaccess file, you must update your website's [Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/#virtual-hosts) file to add an `AllowOverride All` directive. +To enable the .htaccess file, you must update your website's [Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04#virtual-hosts) file to add an `AllowOverride All` directive. 1. Use a text editor to open your configuration file: @@ -74,7 +74,7 @@ Apache's [mod_autoindex module](https://httpd.apache.org/docs/2.4/mod/mod_autoin One way to restrict a directory listing is through Apache's .htaccess file. This section shows you how to update an .htaccess file to disable directory listings. {{< note >}} -CMS systems such as [WordPress](/cloud/guides/how-to-install-wordpress-ubuntu-2004/) create .htaccess configurations by default. This guide assumes that no .htaccess file exists. If you have not created an .htaccess file, follow the steps in the [Create the .htaccess File](/cloud/guides/how-to-set-up-htaccess-on-apache/#create-the-htaccess-file) section of this guide. +CMS systems such as [WordPress](/cloud/guides/how-to-install-wordpress-ubuntu-2004) create .htaccess configurations by default. This guide assumes that no .htaccess file exists. If you have not created an .htaccess file, follow the steps in the [Create the .htaccess File](/cloud/guides/how-to-set-up-htaccess-on-apache#create-the-htaccess-file) section of this guide. {{< /note >}} 1. Using your preferred text editor, open your .htaccess file and add the following configuration: diff --git a/docs/guides/web-servers/apache/how-to-use-ipv6-on-apache/index.md b/docs/guides/web-servers/apache/how-to-use-ipv6-on-apache/index.md index 8df6793f30d..e3164999f8a 100644 --- a/docs/guides/web-servers/apache/how-to-use-ipv6-on-apache/index.md +++ b/docs/guides/web-servers/apache/how-to-use-ipv6-on-apache/index.md @@ -47,7 +47,7 @@ Although IPv4 and IPv6 are not directly compatible, several transitional and upg 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Configure IPv6 diff --git a/docs/guides/web-servers/apache/install-and-configure-apache-on-centos-7/index.md b/docs/guides/web-servers/apache/install-and-configure-apache-on-centos-7/index.md index 66203a01e83..cafcf0ff732 100644 --- a/docs/guides/web-servers/apache/install-and-configure-apache-on-centos-7/index.md +++ b/docs/guides/web-servers/apache/install-and-configure-apache-on-centos-7/index.md @@ -25,7 +25,7 @@ relations: This guide explains how to install and configure the Apache web server on CentOS 7. Apache is an [open-source web server](https://httpd.apache.org/ABOUT_APACHE.html) that can be configured to serve a single or multiple websites using the same Linode. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. Replace each instance of `example.com` in this guide with the domain name of the website. {{< /note >}} @@ -149,12 +149,12 @@ Congratulations! You've set up Apache and you're now ready to host websites. If ### Secure the server with SELinux -SELinux is a *mandatory access control* (MAC) system that confines privileged processes and automates security policy creation. To enable it on your Linode, see the [Beginner's Guide to SELinux on CentOS 7](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7/). +SELinux is a *mandatory access control* (MAC) system that confines privileged processes and automates security policy creation. To enable it on your Linode, see the [Beginner's Guide to SELinux on CentOS 7](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7). ### Secure the site with SSL -To add additional security to the site, consider [enabling a *secure sockets layer* (SSL) certificate](/cloud/guides/ssl-apache2-centos/). +To add additional security to the site, consider [enabling a *secure sockets layer* (SSL) certificate](/cloud/guides/ssl-apache2-centos). ### Install and Configure GlusterFS, Galera, and XtraDB for High Availability -Consult the [Host a Website with High Availability](/cloud/guides/host-a-website-with-high-availability/) guide to mitigate downtime through redundancy, monitoring, and failover. +Consult the [Host a Website with High Availability](/cloud/guides/host-a-website-with-high-availability) guide to mitigate downtime through redundancy, monitoring, and failover. diff --git a/docs/guides/web-servers/apache/install-and-use-apache-on-almalinux/index.md b/docs/guides/web-servers/apache/install-and-use-apache-on-almalinux/index.md index f9b7944ffc1..6894e650325 100644 --- a/docs/guides/web-servers/apache/install-and-use-apache-on-almalinux/index.md +++ b/docs/guides/web-servers/apache/install-and-use-apache-on-almalinux/index.md @@ -38,7 +38,7 @@ As a potential replacement for CentOS, AlmaLinux provides many attractive sellin 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install and Enable the Apache Web Server on AlmaLinux @@ -142,7 +142,7 @@ If you do not have an `index.html` file in `/var/www/html` directory, you can cr 1. Navigate to the IP address of the Linode again. You should now see the web page contents for the home page of your domain. -1. **(Optional)** You should ideally create a virtual host for each site on the server. For more information on creating virtual hosts on Apache, consult the Linode guide on [Apache Configuration Basics](/cloud/guides/apache-configuration-basics/). +1. **(Optional)** You should ideally create a virtual host for each site on the server. For more information on creating virtual hosts on Apache, consult the Linode guide on [Apache Configuration Basics](/cloud/guides/apache-configuration-basics). ## Learn More About AlmaLinux diff --git a/docs/guides/web-servers/apache/install-php-8-for-apache-and-nginx-on-ubuntu/index.md b/docs/guides/web-servers/apache/install-php-8-for-apache-and-nginx-on-ubuntu/index.md index d3b78435265..eadb1e56ed2 100644 --- a/docs/guides/web-servers/apache/install-php-8-for-apache-and-nginx-on-ubuntu/index.md +++ b/docs/guides/web-servers/apache/install-php-8-for-apache-and-nginx-on-ubuntu/index.md @@ -66,10 +66,10 @@ PHP has only a few disadvantages. Some of these drawbacks include a lack of libr 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. **Do not** follow the *Configure a Firewall section* yet as this guide includes firewall rules specifically for an OpenVPN server. -1. PHP is usually used in conjunction with a web server. An Apache or NGINX web server should already be installed on the Linode. See the Linode guides for [Apache](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) or [NGINX](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/) for more information. Instructions for both servers are included in this guide. If `ufw` is enabled, ensure it allows web server access. +1. PHP is usually used in conjunction with a web server. An Apache or NGINX web server should already be installed on the Linode. See the Linode guides for [Apache](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04) or [NGINX](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04) for more information. Instructions for both servers are included in this guide. If `ufw` is enabled, ensure it allows web server access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Add the PHP Repository @@ -160,7 +160,7 @@ php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager sudo a2enmod actions fcgid alias proxy_fcgi 1. If you have configured a virtual host for your domain, add an FPM handler to the site's `.conf` file. Otherwise, add the handler to the default `000-default.conf` file. The `.conf` files can be found in the `/etc/apache2/sites-available` directory. Add the line `SetHandler "proxy:unix:/var/run/php/php8.0-fpm.sock|fcgi://localhost"` to the `VirtualHost` block as shown here. {{< note respectIndent=false >}} -For information on how to add a virtual host, see the Linode guide on [How to Install Apache Web Server on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/). +For information on how to add a virtual host, see the Linode guide on [How to Install Apache Web Server on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04). {{< /note >}} {{< file "/etc/apache2/sites-available/000-default.conf" aconf >}} @@ -178,7 +178,7 @@ For information on how to add a virtual host, see the Linode guide on [How to In ## How to Install PHP and PHP-FPM with NGINX -The procedure to install PHP on NGINX is very similar to the procedure for [Apache](/cloud/guides/install-php-8-for-apache-and-nginx-on-ubuntu/#how-to-install-php-and-php-fpm-with-apache). If Apache is installed on the system, the PHP installation process might try to activate it. If this happens, stop Apache with the command `sudo systemctl disable --now apache2`. +The procedure to install PHP on NGINX is very similar to the procedure for [Apache](/cloud/guides/install-php-8-for-apache-and-nginx-on-ubuntu#how-to-install-php-and-php-fpm-with-apache). If Apache is installed on the system, the PHP installation process might try to activate it. If this happens, stop Apache with the command `sudo systemctl disable --now apache2`. 1. Install the `php-fpm` module. @@ -208,7 +208,7 @@ php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager {{< /output >}} 1. Add the following configuration to the virtual host `.conf` file for your domain. If a virtual host has not been configured, add it to the `default` NGINX file instead. These files are located in the `/etc/nginx/sites-available` directory. {{< note respectIndent=false >}} -For more information on configuring a virtual host on NGINX, consult the Linode Guide on [How to Install and Use NGINX on Ubuntu 20.04](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/). +For more information on configuring a virtual host on NGINX, consult the Linode Guide on [How to Install and Use NGINX on Ubuntu 20.04](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04). {{< /note >}} {{< file "/etc/nginx/sites-available/default" aconf >}} diff --git a/docs/guides/web-servers/apache/install-php-fpm-and-apache-on-debian-8/index.md b/docs/guides/web-servers/apache/install-php-fpm-and-apache-on-debian-8/index.md index bcca3f45a28..1132d9b9ddf 100644 --- a/docs/guides/web-servers/apache/install-php-fpm-and-apache-on-debian-8/index.md +++ b/docs/guides/web-servers/apache/install-php-fpm-and-apache-on-debian-8/index.md @@ -36,7 +36,7 @@ PHP-FPM also offers more security, since scripts are not run as the Apache user. sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Apache and PHP-FPM @@ -66,7 +66,7 @@ deb-src http://mirrors.linode.com/debian/ jessie-updates main contrib non-free sudo apt-get install php5-mysql -4. You can now [configure virtual hosting](/cloud/guides/apache-web-server-debian-8/#configure-apache-for-virtual-hosting) in accordance with the needs of your server. Once your site(s) is set up, you can configure Apache to pass PHP scripts to the CGI process. +4. You can now [configure virtual hosting](/cloud/guides/apache-web-server-debian-8#configure-apache-for-virtual-hosting) in accordance with the needs of your server. Once your site(s) is set up, you can configure Apache to pass PHP scripts to the CGI process. ## Configure PHP-FPM @@ -120,7 +120,7 @@ deb-src http://mirrors.linode.com/debian/ jessie-updates main contrib non-free This is a separate and optional configuration scenario from that described above where specific Unix users are created to execute PHP code and to control system resources per site. Instead of the `www-data` user owning all of Apache's processes and sites, the configuration below allows each site to be run by Apache under its own system user (`site1` under `user1`, `site2` under `user2`, etc.). -This is particularly useful when running multiple client sites because you can give each customer write permissions in a respective web directory without affecting the security of the web server as a whole. The example below assumes two websites, each with its own Apache virtual host, and one system user for each website to which you want to assign a PHP pool. For more information see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This is particularly useful when running multiple client sites because you can give each customer write permissions in a respective web directory without affecting the security of the web server as a whole. The example below assumes two websites, each with its own Apache virtual host, and one system user for each website to which you want to assign a PHP pool. For more information see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. 1. Make a copy of `www.conf` for each pool: diff --git a/docs/guides/web-servers/apache/measure-your-websites-recurring-readership-with-bise/index.md b/docs/guides/web-servers/apache/measure-your-websites-recurring-readership-with-bise/index.md index c5c7b224819..10af6b58799 100644 --- a/docs/guides/web-servers/apache/measure-your-websites-recurring-readership-with-bise/index.md +++ b/docs/guides/web-servers/apache/measure-your-websites-recurring-readership-with-bise/index.md @@ -66,13 +66,13 @@ So, if your website's logs indicate that a user at a certain IP address spent a To use Bise, you should have the following: -* A website running on Apache, or another web server configured to write out its access logs in the Common Log Format. Visit the [Apache section](/cloud/guides/web-servers/apache/) for help with installing Apache. +* A website running on Apache, or another web server configured to write out its access logs in the Common Log Format. Visit the [Apache section](/cloud/guides/web-servers/apache) for help with installing Apache. * Access to those logs! Bise needs read-access to those log files in order to work. The [If You Don't Have Read-Access to the Logs](#if-you-don-t-have-read-access-to-the-logs) section will provide suggestions if you don't currently have read access. -* [Cpanminus](/cloud/guides/manage-cpan-modules-with-cpan-minus/), to install Bise's prerequisite libraries. +* [Cpanminus](/cloud/guides/manage-cpan-modules-with-cpan-minus), to install Bise's prerequisite libraries. -* [Cron](/cloud/guides/schedule-tasks-with-cron/), if you plan to run Bise on a regular schedule. Any Linux machine almost certainly has this installed as well. +* [Cron](/cloud/guides/schedule-tasks-with-cron), if you plan to run Bise on a regular schedule. Any Linux machine almost certainly has this installed as well. {{< note respectIndent=false >}} Any other scheduling software that can run command-line scripts for you will also work, but this guide will demonstrate using Bise with Cron, specifically. @@ -90,7 +90,7 @@ At the time of this writing, Bise lacks any kind of one-step installation soluti git clone https://github.com/jmacdotorg/bise.git {{< note respectIndent=false >}} -You can follow the [How to Install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide if `git` is not installed on your system. +You can follow the [How to Install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) guide if `git` is not installed on your system. {{< /note >}} 1. In your terminal, set your current working directory to your new `bise` directory: @@ -115,7 +115,7 @@ Install Bise's prerequisites using `cpanm`: - **If you do not have `cpanm` installed**, then you have two options: - * Install `cpanm`, as described in [this Linode guide](/cloud/guides/manage-cpan-modules-with-cpan-minus/). Then, run the command described above. + * Install `cpanm`, as described in [this Linode guide](/cloud/guides/manage-cpan-modules-with-cpan-minus). Then, run the command described above. * Run this command, which will load and run a temporary copy of `cpanm` and then proceed to install Bise's dependencies: @@ -272,7 +272,7 @@ If you're happy with the behavior of the default rows, you can certainly continu There are four kinds of rows you can define, each of which examines a different part of your access logs. These correspond to the values for the `test_type` parameter: [`path`](#test_type-path), [`path_regex`](#test_type-path_regex), [`referer_regex`](#test_type-referer_regex), and [`agent_regex`](#test_type-agent_regex). {{< note >}} -Three of the row types involve the use of regular expressions. You should probably understand [the basics of this text-processing technology](/cloud/guides/how-to-use-grep-command/#regular-expression-overview) before defining your own row definitions with any of these types. +Three of the row types involve the use of regular expressions. You should probably understand [the basics of this text-processing technology](/cloud/guides/how-to-use-grep-command#regular-expression-overview) before defining your own row definitions with any of these types. Note also that Bise ignores whitespace in regular expressions, allowing you to write more complex regexes with inline comments, as one of the examples below will illustrate. {{< /note >}} @@ -342,7 +342,7 @@ The configuration file lets you set these optional directives as well: ## Running Bise as a cron Task -Once you have Bise creating meaningful reports about your website's readership, consider having your system run it regularly. For example, you could automatically run the report once a week. The [Cron utility](/cloud/guides/schedule-tasks-with-cron/) can be used to schedule this task. +Once you have Bise creating meaningful reports about your website's readership, consider having your system run it regularly. For example, you could automatically run the report once a week. The [Cron utility](/cloud/guides/schedule-tasks-with-cron) can be used to schedule this task. Cron's normal behavior is to mail you anything a scheduled program prints as output or error messages. So, you can use Cron to receive periodic emails about your website's readership levels. diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-debian-5-lenny/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-debian-5-lenny/index.md index 2a8574509e5..680c5fbff72 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode; if you don't, you may wish to review our [Apache on Debian 5 (Lenny) guide](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode; if you don't, you may wish to review our [Apache on Debian 5 (Lenny) guide](/cloud/guides/apache-2-web-server-on-debian-5-lenny) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-12/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-12/index.md index 70e619986fc..4e30f0fa81b 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-12/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-12/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Fedora 12 guide](/cloud/guides/apache-2-web-server-on-fedora-12/) before proceeding. These steps should be performed as root via a shell session. +We assume you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Fedora 12 guide](/cloud/guides/apache-2-web-server-on-fedora-12) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-14/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-14/index.md index 49cb162caaa..6210c9a4903 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-14/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-14/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Fedora 14 guide](/cloud/guides/apache-2-web-server-on-fedora-14/) before proceeding. These steps should be performed as root via a shell session. +We assume you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Fedora 14 guide](/cloud/guides/apache-2-web-server-on-fedora-14) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/index.md index 25cfd11b6a6..ebe4cb5658c 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 10.04 (Lucid) guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 10.04 (Lucid) guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/index.md index 8e5dddc83bb..5d15eefb0a7 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache installation guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-10-maverick/) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache installation guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-10-maverick) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/index.md index efcb898c008..eb908a48364 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 9.10 (Karmic) guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 9.10 (Karmic) guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-centos-5/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-centos-5/index.md index 993e09cc65d..aea37074c75 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-centos-5/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-centos-5/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and process. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/ror/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and process. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/ror). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. -Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache/). +Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache). ## Set the Hostname @@ -45,7 +45,7 @@ Issue the following command to ensure that Apache will start following the next chkconfig httpd on -You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-centos-5/#configure-apache) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-centos-5#configure-apache) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: yum install php-cgi @@ -53,7 +53,7 @@ When this process completes, we can configure Apache to hand PHP scripts to the ## Configure Apache for PHP CGI -The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For CentOS systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: +The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For CentOS systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/index.md index 769786bc733..af73d0e767e 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -In most cases, we recommend using `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache/). This embeds a PHP interpreter in the Web Server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; when the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. +In most cases, we recommend using `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache). This embeds a PHP interpreter in the Web Server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; when the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. -Additionally, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. +Additionally, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/frameworks). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. -Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache/). +Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache). ## Set the Hostname @@ -44,7 +44,7 @@ If you have not already installed the Apache HTTP server, issue the following co apt-get install apache2 -You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-debian-5-lenny/#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-debian-5-lenny#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: apt-get install php5-cgi @@ -56,7 +56,7 @@ In order to set up Apache to use PHP-CGI on Debian systems, you must enable the a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Debian systems this directory is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Debian systems this directory is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -112,7 +112,7 @@ Now, in the `` entries for your sites (the site-specific files in {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups) for more information about creating the necessary users and groups. ## More Information diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-12/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-12/index.md index 2a686da2758..565ea42c31d 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-12/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-12/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and process. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/ror/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and process. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/ror). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. -Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache/). +Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache). ## Installing Apache and PHP @@ -37,7 +37,7 @@ To start Apache for the first time and ensure that it resumes following subseque /etc/init.d/httpd start chkconfig httpd on -You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-fedora-12/#configure-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-fedora-12#configure-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: yum install php-cgi @@ -45,7 +45,7 @@ When this process completes, we can configure Apache to hand PHP scripts to the ## Configure Apache for PHP CGI -The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Fedora systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: +The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Fedora systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-13/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-13/index.md index 7ea8595d3f8..c1bf50a8e3b 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-13/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-13/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and processes. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/ror/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and processes. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/ror). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. -Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache/). +Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache). ## Set the Hostname @@ -46,7 +46,7 @@ To start Apache for the first time and ensure that it resumes following subseque /etc/init.d/httpd start chkconfig httpd on -You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-fedora-13/#configure-apache) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-fedora-13#configure-apache) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: yum install php-cgi @@ -54,7 +54,7 @@ When this process completes, we can configure Apache to hand PHP scripts to the ## Configure Apache for PHP CGI -The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Fedora systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: +The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Fedora systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-04-lts-lucid/index.md index b11a4641b25..b054e0c15de 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-04-lts-lucid/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. -Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. +Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/frameworks). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. -Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache/). +Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache). ## Set the Hostname @@ -71,7 +71,7 @@ If you have not already installed the Apache HTTP server, issue the following co apt-get install apache2 -You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: apt-get install php5-cgi @@ -83,7 +83,7 @@ In order to set up Apache to use PHP-CGI on Ubuntu systems, you must enable the a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -139,7 +139,7 @@ Now, in the `` entries for your sites (the site-specific files in {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups) for more information about creating the necessary users and groups. ## More Information diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-10-maverick/index.md index 69982e66ed3..ea21957a660 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-10-maverick/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. -Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. +Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/frameworks). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. -Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache/). +Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache). ## Set the Hostname @@ -44,7 +44,7 @@ If you have not already installed the Apache HTTP server, issue the following co apt-get install apache2 -You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-10-10-maverick/#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-10-10-maverick#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: apt-get install php5-cgi @@ -56,7 +56,7 @@ In order to set up Apache to use PHP-CGI on Ubuntu systems, you must enable the a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -112,7 +112,7 @@ Now, in the `` entries for your sites (the site-specific files in {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups) for more information about creating the necessary users and groups. ## More Information diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-8-04-hardy/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-8-04-hardy/index.md index bcb59e1dbfe..8cc8c448adc 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-8-04-hardy/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-8-04-hardy/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. -Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. +Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/frameworks). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. -Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache/). +Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache). ## Installing Apache and PHP @@ -35,7 +35,7 @@ If you have not already installed the Apache HTTP server, issue the following co apt-get install apache2 -You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-8-04-lts-hardy/#configure-apache-for-named-based-virtual-hosting) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-8-04-lts-hardy#configure-apache-for-named-based-virtual-hosting) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: apt-get install php5-cgi @@ -47,7 +47,7 @@ In order to set up Apache to use PHP-CGI on Ubuntu systems, you must enable the a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -103,7 +103,7 @@ Now, in the `` entries for your sites (the site-specific files in {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups) for more information about creating the necessary users and groups. ## More Information diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-9-10-karmic/index.md index 24eeda68f70..0f5196bd7b5 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-9-10-karmic/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/guides/web-servers/apache). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. -Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. +Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/guides/development/frameworks). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. -Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache/). +Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/guides/web-servers/apache). ## Enable Universe Repositories @@ -61,7 +61,7 @@ If you have not already installed the Apache HTTP server, issue the following co apt-get install apache2 -You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/#configure-apache-for-named-based-virtual-hosting) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic#configure-apache-for-named-based-virtual-hosting) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: apt-get install php5-cgi @@ -73,7 +73,7 @@ In order to set up Apache to use PHP-CGI on Ubuntu systems, you must enable the a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -129,7 +129,7 @@ Now, in the `` entries for your sites (the site-specific files in {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups) for more information about creating the necessary users and groups. ## More Information diff --git a/docs/guides/web-servers/apache/run-php-cgi-apache-centos-6/index.md b/docs/guides/web-servers/apache/run-php-cgi-apache-centos-6/index.md index 10fe9e4a6c9..66dfe16420d 100644 --- a/docs/guides/web-servers/apache/run-php-cgi-apache-centos-6/index.md +++ b/docs/guides/web-servers/apache/run-php-cgi-apache-centos-6/index.md @@ -23,7 +23,7 @@ deprecated: true In instances where running the `mod_php` module to run PHP scripts on Apache is not sufficient, PHP can be run as a CGI binary. Combined with the `itk` multi-processing module (MPM), PHP scripts can be run as user processes in a per-virtual host setup. This guide will walk users through the process of setting up Apache and PHP CGI. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -49,7 +49,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo chkconfig httpd on - You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-centos-5/#configure-apache) in accordance with the needs of your server. + You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-centos-5#configure-apache) in accordance with the needs of your server. 3. Install the PHP CGI binaries: @@ -60,7 +60,7 @@ This guide is written for a non-root user. Commands that require elevated privil ### Configure Apache for PHP CGI -The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For CentOS systems, this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: +The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For CentOS systems, this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin diff --git a/docs/guides/web-servers/apache/run-php-cgi-apache-debian-7/index.md b/docs/guides/web-servers/apache/run-php-cgi-apache-debian-7/index.md index efd5eabc0ca..ab5b3048298 100644 --- a/docs/guides/web-servers/apache/run-php-cgi-apache-debian-7/index.md +++ b/docs/guides/web-servers/apache/run-php-cgi-apache-debian-7/index.md @@ -24,7 +24,7 @@ deprecated: true In instances where running the `mod_php` module to run PHP scripts on Apache is not sufficient, PHP can be run as a CGI binary. Combined with the `itk` multi-processing module (MPM), PHP scripts can be run as user processes in a per-virtual host setup. This guide will walk users through the process of setting up Apache and PHP CGI. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -48,7 +48,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo apt-get install apache2 -2. You can now [configure virtual hosting](/cloud/guides/apache-web-server-debian-7/#configure-apache-for-virtual-hosting) in accordance with the needs of your server. Next, install the CGI binaries: +2. You can now [configure virtual hosting](/cloud/guides/apache-web-server-debian-7#configure-apache-for-virtual-hosting) in accordance with the needs of your server. Next, install the CGI binaries: sudo apt-get install php5-cgi @@ -60,7 +60,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo a2enmod actions -2. The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Debian systems this directory is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +2. The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Debian systems this directory is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -119,4 +119,4 @@ This may not be ideal if you have multiple users running publicly accessible scr {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups) for more information about creating the necessary users and groups. diff --git a/docs/guides/web-servers/apache/run-php-cgi-apache-ubuntu-12-04/index.md b/docs/guides/web-servers/apache/run-php-cgi-apache-ubuntu-12-04/index.md index 9e68f1f5059..f39751e03d5 100644 --- a/docs/guides/web-servers/apache/run-php-cgi-apache-ubuntu-12-04/index.md +++ b/docs/guides/web-servers/apache/run-php-cgi-apache-ubuntu-12-04/index.md @@ -23,7 +23,7 @@ deprecated: true In instances where running the `mod_php` module to run PHP scripts on Apache is not sufficient, PHP can be run as a CGI binary. Combined with the `itk` multi-processing module (MPM), PHP scripts can be run as user processes in a per-virtual host setup. This guide will walk users through the process of setting up Apache and PHP CGI. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -44,7 +44,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo apt-get install apache2 - You can now [configure virtual hosting](/cloud/guides/apache-web-server-ubuntu-12-04/#configure-virtual-hosting) in accordance with the needs of your server. + You can now [configure virtual hosting](/cloud/guides/apache-web-server-ubuntu-12-04#configure-virtual-hosting) in accordance with the needs of your server. 2. Install the PHP CGI binaries: @@ -58,7 +58,7 @@ In order to set up Apache to use PHP-CGI on Ubuntu systems, you must enable the sudo a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -114,4 +114,4 @@ This may not be ideal if you have multiple users running publicly accessible scr {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups) for more information about creating the necessary users and groups. diff --git a/docs/guides/web-servers/apache/running-fastcgi-php-fpm-on-debian-7-with-apache/index.md b/docs/guides/web-servers/apache/running-fastcgi-php-fpm-on-debian-7-with-apache/index.md index 0fffa14e529..39109b28c58 100644 --- a/docs/guides/web-servers/apache/running-fastcgi-php-fpm-on-debian-7-with-apache/index.md +++ b/docs/guides/web-servers/apache/running-fastcgi-php-fpm-on-debian-7-with-apache/index.md @@ -29,7 +29,7 @@ The main reason `mod_php` uses more resources is because it is loaded even for n Additionally, using PHP-FPM allows each virtual host to be configured to run PHP code as individual users. Previously, this was only possible by using suPHP. -This guide assumes that you are familiar and comfortable with setting up [LAMP stacks](/cloud/guides/web-servers/lamp/) on Debian 7. If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/) documentation series. +This guide assumes that you are familiar and comfortable with setting up [LAMP stacks](/cloud/guides/web-servers/lamp) on Debian 7. If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics) documentation series. ## Installing mod_fastcgi and PHP-FPM diff --git a/docs/guides/web-servers/apache/troubleshooting-common-apache-issues/index.md b/docs/guides/web-servers/apache/troubleshooting-common-apache-issues/index.md index 3a9c96a1a83..fd17bfa4833 100644 --- a/docs/guides/web-servers/apache/troubleshooting-common-apache-issues/index.md +++ b/docs/guides/web-servers/apache/troubleshooting-common-apache-issues/index.md @@ -16,7 +16,7 @@ external_resources: - '[Apache user wiki](http://wiki.apache.org/httpd/)' --- -This article provides troubleshooting guidelines for the [Apache web server](/cloud/guides/web-servers/apache/). Apache is a highly customizable tool for serving HTTP traffic. Because it allows for so many different configurations and settings in so many different places, sometimes Apache configuration can befuddle even advanced users. +This article provides troubleshooting guidelines for the [Apache web server](/cloud/guides/web-servers/apache). Apache is a highly customizable tool for serving HTTP traffic. Because it allows for so many different configurations and settings in so many different places, sometimes Apache configuration can befuddle even advanced users. In this guide, you'll start with some basic troubleshooting steps and then proceed to more advanced techniques that can help you untangle conflicting directives. We recommend starting at the beginning of this guide and going through it in order. By the time you're done, you should be able to debug your Apache installation. @@ -183,5 +183,5 @@ If you're continuing to have issues with Apache, we encourage you to make contac You might want to look at the following Linode guides: -- A group of guides for various [web frameworks](/cloud/guides/development/frameworks/) -- General [Apache HTTP server](/cloud/guides/web-servers/apache/) guides \ No newline at end of file +- A group of guides for various [web frameworks](/cloud/guides/development/frameworks) +- General [Apache HTTP server](/cloud/guides/web-servers/apache) guides \ No newline at end of file diff --git a/docs/guides/web-servers/appwrite/getting-started-appwrite/index.md b/docs/guides/web-servers/appwrite/getting-started-appwrite/index.md index e25dbe5432e..9187c87fefa 100644 --- a/docs/guides/web-servers/appwrite/getting-started-appwrite/index.md +++ b/docs/guides/web-servers/appwrite/getting-started-appwrite/index.md @@ -34,7 +34,7 @@ This tutorial introduces you to Appwrite, highlighting its features and how it c ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Appwrite? @@ -66,7 +66,7 @@ Appwrite, on the other hand, uses a NoSQL approach to its database interface, an These steps take you through everything from installing the prerequisites to starting-up and running your own Appwrite instance. {{< note >}} -To automatically install Appwrite on a Compute Instance, consider deploying [Appwrite through the Linode Marketplace](/cloud/marketplace-docs/guides/appwrite/). +To automatically install Appwrite on a Compute Instance, consider deploying [Appwrite through the Linode Marketplace](/cloud/marketplace-docs/guides/appwrite). {{< /note >}} ### Installing Docker @@ -75,9 +75,9 @@ The first step is to install Docker, which is used to both install and run your 1. Install Docker using the steps outlined in one of the following guides, depending on your Linux distribution. - - **Debian** and **Ubuntu**: Use our guide [How to Install and Use Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/). + - **Debian** and **Ubuntu**: Use our guide [How to Install and Use Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian). - - **AlmaLinux**, **CentOS Stream**, **Fedora**, and **Rocky Linux**: Use our guide [How to Install and Use Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora/). + - **AlmaLinux**, **CentOS Stream**, **Fedora**, and **Rocky Linux**: Use our guide [How to Install and Use Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora). 1. Install the Docker Compose plugin using your distribution's package manager. @@ -131,9 +131,9 @@ Appwrite is now up and running. You can access the dashboard by navigating to `h However, doing so is often not feasible. Likely, you want to access the dashboard remotely. You can do so by navigating to the Appwrite server's URL, which may be an IP address, such as `192.0.2.0`. But first, you need to ensure the server's firewall provides external access to the HTTP port (`80`). -- **Debian** and **Ubuntu**: Refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). +- **Debian** and **Ubuntu**: Refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). -- **AlmaLinux**, **CentOS Stream**, **Fedora**, and **Rocky Linux**: Refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). +- **AlmaLinux**, **CentOS Stream**, **Fedora**, and **Rocky Linux**: Refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos). Having opened the port, navigate to the server's URL/IP address, and you should be greeted by the Appwrite sign-up form. @@ -233,11 +233,11 @@ To get you started, here are a few particularly useful environmental variables A ## How to Create an Appwrite Project -It's beyond the scope of this tutorial to showcase all of Appwrite's features for creating a fully functioning backend server. For that, refer to the links at the end of this tutorial and to our guide [How to Create a React App with Appwrite](/cloud/guides/create-react-app-with-appwrite/). +It's beyond the scope of this tutorial to showcase all of Appwrite's features for creating a fully functioning backend server. For that, refer to the links at the end of this tutorial and to our guide [How to Create a React App with Appwrite](/cloud/guides/create-react-app-with-appwrite). Here you can see the initial steps for creating an Appwrite project. This can serve as the basis for anything else you want to do with Appwrite. -1. Navigate to the Appwrite dashboard, as described in the [Starting Appwrite](/cloud/guides/getting-started-appwrite/#starting-appwrite) section above. +1. Navigate to the Appwrite dashboard, as described in the [Starting Appwrite](/cloud/guides/getting-started-appwrite#starting-appwrite) section above. 1. Click the **Create Project** button, and enter the name for your project. This takes you to the dashboard for the new project. @@ -255,4 +255,4 @@ Here you can see the initial steps for creating an Appwrite project. This can se This tutorial covers everything you need to start working with Appwrite as your next backend server. From here, everything is in place to start putting together an Appwrite instance ready to support your application frontend. -Want to learn more about how to get started on such an application? Take a look at the Appwrite documentation linked below as well as at our guide [How to Create a React App with Appwrite](/cloud/guides/create-react-app-with-appwrite/). \ No newline at end of file +Want to learn more about how to get started on such an application? Take a look at the Appwrite documentation linked below as well as at our guide [How to Create a React App with Appwrite](/cloud/guides/create-react-app-with-appwrite). \ No newline at end of file diff --git a/docs/guides/web-servers/caddy/compile-caddy-from-source/index.md b/docs/guides/web-servers/caddy/compile-caddy-from-source/index.md index cb275cc310c..59f6ea7ca3f 100644 --- a/docs/guides/web-servers/caddy/compile-caddy-from-source/index.md +++ b/docs/guides/web-servers/caddy/compile-caddy-from-source/index.md @@ -20,7 +20,7 @@ aliases: [] ### Install Go -1. You need the latest version of Go installed on your Linode. Complete the steps in our guide on [installing Go](/cloud/guides/install-go-on-ubuntu/). +1. You need the latest version of Go installed on your Linode. Complete the steps in our guide on [installing Go](/cloud/guides/install-go-on-ubuntu). ### Install xcaddy @@ -58,4 +58,4 @@ Install the latest version of `xcaddy`, a command line tool that downloads and b v2.4.4 h1:QBsN1jXEsCqRpKPBb8ebVnBNgPxwL50HINWWTuZ7evU= -Caddy is now installed on your Linode. Read our guide on [Installing and Configuring Caddy](/cloud/guides/install-and-configure-caddy-on-centos-7/) to learn more about Caddy. +Caddy is now installed on your Linode. Read our guide on [Installing and Configuring Caddy](/cloud/guides/install-and-configure-caddy-on-centos-7) to learn more about Caddy. diff --git a/docs/guides/web-servers/cherokee/deploy-websites-with-a-cherokee-web-server-on-ubuntu-12-04/index.md b/docs/guides/web-servers/cherokee/deploy-websites-with-a-cherokee-web-server-on-ubuntu-12-04/index.md index ddaafa3ac1c..cf551d6bd72 100644 --- a/docs/guides/web-servers/cherokee/deploy-websites-with-a-cherokee-web-server-on-ubuntu-12-04/index.md +++ b/docs/guides/web-servers/cherokee/deploy-websites-with-a-cherokee-web-server-on-ubuntu-12-04/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - '[Cherokee Web Server Documentation](http://www.cherokee-project.com/doc/)' - - '[Host Web Apps with Cherokee and PHP-FastCGI on Ubuntu 10.04 LTS (Lucid)](/cloud/guides/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/)' + - '[Host Web Apps with Cherokee and PHP-FastCGI on Ubuntu 10.04 LTS (Lucid)](/cloud/guides/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid)' relations: platform: key: install-cherokee-server diff --git a/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-fedora-13/index.md b/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-fedora-13/index.md index 38e95fd05c1..e2a88db6531 100644 --- a/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-fedora-13/index.md +++ b/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true Cherokee is a fast, flexible web server for POSIX compliant operating systems such as Linux. It's designed to be easy to administer, and includes support for a wide range of common web server functions. This tutorial explains how to configure Cherokee to serve dynamic content with PHP via FastCGI on Fedora 13. -This document assumes that your system is already running the Cherokee web server. If you haven't already installed Cherokee, please follow our [Fedora 13 Cherokee installation](/cloud/guides/websites-with-the-cherokee-web-server-on-fedora-13/) guide before continuing with these instructions. Please make sure you are logged into your Linode as root via SSH. +This document assumes that your system is already running the Cherokee web server. If you haven't already installed Cherokee, please follow our [Fedora 13 Cherokee installation](/cloud/guides/websites-with-the-cherokee-web-server-on-fedora-13) guide before continuing with these instructions. Please make sure you are logged into your Linode as root via SSH. ## Install Required Packages @@ -61,7 +61,7 @@ Create directories for your site by issuing the following commands. Substitute y mkdir /srv/www/example.com/www/logs chown -R www-data:www-data /srv/www/example.com -If you haven't already done so, start the Cherokee administration program by issuing the following command. Alternately, you may wish to follow our instructions for [secure Cherokee admin access](/cloud/guides/websites-with-the-cherokee-web-server-on-fedora-13/#secure-admin-panel-access). +If you haven't already done so, start the Cherokee administration program by issuing the following command. Alternately, you may wish to follow our instructions for [secure Cherokee admin access](/cloud/guides/websites-with-the-cherokee-web-server-on-fedora-13#secure-admin-panel-access). cherokee-admin -b & diff --git a/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md index 99d37a897ef..5a011c4083c 100644 --- a/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md @@ -31,7 +31,7 @@ Make sure your repositories and packages are up to date by issuing the following apt-get update apt-get upgrade -If you haven't already installed Cherokee, please follow our [Ubuntu 10.04 Cherokee installation](/cloud/guides/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/) guide before continuing with these instructions. +If you haven't already installed Cherokee, please follow our [Ubuntu 10.04 Cherokee installation](/cloud/guides/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid) guide before continuing with these instructions. ## Install Required Packages @@ -59,7 +59,7 @@ Create directories for your site by issuing the following commands. Substitute y mkdir /srv/www/mydomain.com/www/logs chown -R www-data:www-data /srv/www/mydomain.com -If you haven't already done so, start the Cherokee administration program by issuing the following command. Alternately, you may wish to follow our instructions for [secure Cherokee admin access](/cloud/guides/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/#secure-admin-panel-access). +If you haven't already done so, start the Cherokee administration program by issuing the following command. Alternately, you may wish to follow our instructions for [secure Cherokee admin access](/cloud/guides/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid#secure-admin-panel-access). cherokee-admin -b & diff --git a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/index.md index 513e3eb1ef2..f62aaf470d4 100644 --- a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/index.md @@ -145,4 +145,4 @@ Be sure to stop `cherokee-admin` using the `killall` command shown above once yo You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Cherokee Web Server Documentation](http://www.cherokee-project.com/doc/) -- [Host Web Apps with Cherokee and PHP-FastCGI on Ubuntu 10.04 LTS (Lucid)](/cloud/guides/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/) +- [Host Web Apps with Cherokee and PHP-FastCGI on Ubuntu 10.04 LTS (Lucid)](/cloud/guides/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid) diff --git a/docs/guides/web-servers/comparing-nginx-and-apache-web-servers/index.md b/docs/guides/web-servers/comparing-nginx-and-apache-web-servers/index.md index 1020b851bb0..b2ff87f9435 100644 --- a/docs/guides/web-servers/comparing-nginx-and-apache-web-servers/index.md +++ b/docs/guides/web-servers/comparing-nginx-and-apache-web-servers/index.md @@ -79,6 +79,6 @@ Typically in such a setup, NGINX acts as the **static content server**. Any requ When deciding on a web server, take a look at the characteristics of each, and determine which one best fits your needs. If you are looking for simplicity and flexibility and a more traditional web application, look no further than Apache. If performance is paramount, or you want an efficient webserver to work with microservices or containerized services, go with NGINX. If you want the best of both, try using them in conjunction. -To learn how to install Apache on your Linux server, check out our guide for [How to Install Apache Web Server](/cloud/guides/how-to-install-apache-web-server-debian-10/). You can use the drop-down menu at the top of the guide to select your desired Linux distribution. +To learn how to install Apache on your Linux server, check out our guide for [How to Install Apache Web Server](/cloud/guides/how-to-install-apache-web-server-debian-10). You can use the drop-down menu at the top of the guide to select your desired Linux distribution. -To learn how to install NGINX on your Linux server, check out our guide for [How to Install NGINX](/cloud/guides/how-to-install-nginx-debian-10/). Likewise, use the drop-down at the beginning of the guide to select your Linux distribution. +To learn how to install NGINX on your Linux server, check out our guide for [How to Install NGINX](/cloud/guides/how-to-install-nginx-debian-10). Likewise, use the drop-down at the beginning of the guide to select your Linux distribution. diff --git a/docs/guides/web-servers/java/java-web-server/index.md b/docs/guides/web-servers/java/java-web-server/index.md index 192e09fe575..373ecb7dc95 100644 --- a/docs/guides/web-servers/java/java-web-server/index.md +++ b/docs/guides/web-servers/java/java-web-server/index.md @@ -21,7 +21,7 @@ Everyone likes the idea of reducing their workload when possible, yet the need t 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Getting Started with Java 18 (and above) diff --git a/docs/guides/web-servers/lamp/hosting-a-website-ubuntu-18-04/index.md b/docs/guides/web-servers/lamp/hosting-a-website-ubuntu-18-04/index.md index 5cad892cc44..15df9adffdf 100644 --- a/docs/guides/web-servers/lamp/hosting-a-website-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/lamp/hosting-a-website-ubuntu-18-04/index.md @@ -18,12 +18,12 @@ In this guide, you learn how to host a website on Ubuntu 18.04 using the LAMP st This guide is intended for small and medium-sized websites running on WordPress, Drupal, or another PHP content management system. If your website doesn't belong in that category, you need to assess your requirements and install custom packages tailored for your particular requirements. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, check the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, check the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Hosting an Apache Web Server on Ubuntu 18.04 -Hosting a website starts with installing a *web server*, which is an application on your Linode that delivers content through the Internet. This section helps you get started with *Apache*, the world's most popular web server. For more information about Apache and other web servers, see the [guides on web servers](/cloud/guides/web-servers/). +Hosting a website starts with installing a *web server*, which is an application on your Linode that delivers content through the Internet. This section helps you get started with *Apache*, the world's most popular web server. For more information about Apache and other web servers, see the [guides on web servers](/cloud/guides/web-servers). If you are using Ubuntu 18.04, instead of installing each component separately, use *Tasksel* to install a LAMP stack on your Linode. When *Tasksel* completes, skip the installation steps in each section below and continue on to the configuration steps of each part of the stack: @@ -187,7 +187,7 @@ You've configured Apache to host one or more websites on your Linode. After you ## Hosting a Website on Ubuntu - Installing MySQL -Databases store data in a structured and easily accessible manner, serving as the foundation for hundreds of web and server applications. A variety of open source database platforms exist to meet the needs of applications running on your Linode. This section helps you get started with *MySQL*, one of the most popular database platforms. For more information about MySQL and other databases, see our [database reference guides](/cloud/guides/databases/). +Databases store data in a structured and easily accessible manner, serving as the foundation for hundreds of web and server applications. A variety of open source database platforms exist to meet the needs of applications running on your Linode. This section helps you get started with *MySQL*, one of the most popular database platforms. For more information about MySQL and other databases, see our [database reference guides](/cloud/guides/databases). ### Install MySQL @@ -349,7 +349,7 @@ PHP is now installed on your Linode and configured for optimal performance. You've successfully installed Apache, MySQL, and PHP. Now it's time to upload a website to your Linode. This is one of the last steps before you "flip the switch" and publish your website on the Internet. -1. If you haven't done so already, download and install an SFTP capable client on your computer. Linode recommends using the [FileZilla](/cloud/guides/filezilla/) SFTP client. Follow the instructions in that guide to connect to your Linode. +1. If you haven't done so already, download and install an SFTP capable client on your computer. Linode recommends using the [FileZilla](/cloud/guides/filezilla) SFTP client. Follow the instructions in that guide to connect to your Linode. 1. Upload your website's files to the `/var/www/html/example.com/public_html` directory. Replace `example.com` with your domain name. @@ -408,10 +408,10 @@ It's a good idea to test your website(s) before you add the DNS records. This is 1. Enter your Linode's IP address in a web browser (e.g., type `http://192.0.2.0` in the address bar, replacing the example IP address with your own). Your website should load in the web browser. {{< note respectIndent=false >}} - If you have configured a firewall on your Linode, ensure your firewall rules allow traffic to your Apache web server. For more information on configuring firewall rules on Ubuntu, see [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). + If you have configured a firewall on your Linode, ensure your firewall rules allow traffic to your Apache web server. For more information on configuring firewall rules on Ubuntu, see [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). {{< /note >}} -1. If you plan on hosting multiple websites, you can test the virtual hosts by editing the `hosts` file on your local computer. Check out the [Previewing Websites Without DNS](/cloud/guides/previewing-websites-without-dns/) guide for more information. +1. If you plan on hosting multiple websites, you can test the virtual hosts by editing the `hosts` file on your local computer. Check out the [Previewing Websites Without DNS](/cloud/guides/previewing-websites-without-dns) guide for more information. 1. Test the name-based virtual hosts by entering the domain names in the address bar of the web browser on a local device. Your websites should load in the web browser. diff --git a/docs/guides/web-servers/lamp/how-to-create-a-lamp-stack-application/index.md b/docs/guides/web-servers/lamp/how-to-create-a-lamp-stack-application/index.md index f5c8dd777cb..44dc32eec85 100644 --- a/docs/guides/web-servers/lamp/how-to-create-a-lamp-stack-application/index.md +++ b/docs/guides/web-servers/lamp/how-to-create-a-lamp-stack-application/index.md @@ -10,16 +10,16 @@ keywords: ['LAMP Stack Application', 'How to create a LAMP stack application', ' tags: ['linux'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: -- '[LAMP stack](/cloud/guides/web-servers/lamp/)' +- '[LAMP stack](/cloud/guides/web-servers/lamp)' - '[Model-View-Controller](https://www.guru99.com/mvc-tutorial.html)' --- -[LAMP stack](/cloud/guides/web-servers/lamp/) refers to a development framework for Web and mobile applications based on four open-source components: +[LAMP stack](/cloud/guides/web-servers/lamp) refers to a development framework for Web and mobile applications based on four open-source components: - [Linux](https://www.linode.com/distributions/) operating system -- [Apache](/cloud/guides/web-servers/apache/) Web server -- [MySQL](/cloud/guides/databases/mysql/) relational database management system (RDBMS) -- [PHP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/), [Perl](/cloud/guides/development/perl/), or [Python](/cloud/guides/development/python/) programming language +- [Apache](/cloud/guides/web-servers/apache) Web server +- [MySQL](/cloud/guides/databases/mysql) relational database management system (RDBMS) +- [PHP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04), [Perl](/cloud/guides/development/perl), or [Python](/cloud/guides/development/python) programming language LAMP played a key role in Web work for 20+ years and influenced Facebook, Slack, Wikipedia, and WordPress. It's widely supported by hosting providers. Tens of millions of new LAMP-based sites come online each year. Abundant documentation and rich communities of practitioners make LAMP a default choice for development still. @@ -31,11 +31,11 @@ It has an underlying Linux OS for hosting, an Apache Web server for presenting a ### Apache vs. NGINX -LAMP isn't the only open-source Web stack solution. There are alternatives such as [LEMP](/cloud/guides/web-servers/lemp/), that replace Apache with [NGINX](/cloud/guides/web-servers/nginx/) (pronounced "engine X"). [NGINX is faster than Apache](https://hackr.io/blog/nginx-vs-apache) and newer, but requires more advanced configuration, and is less robust on Windows than Apache. +LAMP isn't the only open-source Web stack solution. There are alternatives such as [LEMP](/cloud/guides/web-servers/lemp), that replace Apache with [NGINX](/cloud/guides/web-servers/nginx) (pronounced "engine X"). [NGINX is faster than Apache](https://hackr.io/blog/nginx-vs-apache) and newer, but requires more advanced configuration, and is less robust on Windows than Apache. ### RDBMS and Programming Language -Two other variations of LAMP use alternative software for "M" and "P". [MariaDB](/cloud/guides/databases/mariadb/) is a drop-in [replacement for MySQL](https://www.guru99.com/mariadb-vs-mysql.html). thought there are differences between the two that are explained in this Guide. In general, everything you do with MySQL applies immediately to MariaDB as well. Several different programming languages work well in a LAMP stack, and while this guide discusses PHP, nearly all the principles of LAMP illustrated below apply equally to the Python programming language and others. +Two other variations of LAMP use alternative software for "M" and "P". [MariaDB](/cloud/guides/databases/mariadb) is a drop-in [replacement for MySQL](https://www.guru99.com/mariadb-vs-mysql.html). thought there are differences between the two that are explained in this Guide. In general, everything you do with MySQL applies immediately to MariaDB as well. Several different programming languages work well in a LAMP stack, and while this guide discusses PHP, nearly all the principles of LAMP illustrated below apply equally to the Python programming language and others. ### LAMP Benefits @@ -45,7 +45,7 @@ LAMP's suitability extends beyond purely technical specifications. For example, ## Install the LAMP Stack -Everything that follows assumes the availability of a Linux host, familiarity with command-line work in the Linux filesystem, and permission to run as `root`, or with `sudo` privileges. The installation in this guide focuses purely on the "AMP" layers of LAMP. For a more depth look at installing LAMP, explore [our section of LAMP guides](/cloud/guides/web-servers/lamp/). +Everything that follows assumes the availability of a Linux host, familiarity with command-line work in the Linux filesystem, and permission to run as `root`, or with `sudo` privileges. The installation in this guide focuses purely on the "AMP" layers of LAMP. For a more depth look at installing LAMP, explore [our section of LAMP guides](/cloud/guides/web-servers/lamp). ### Install "A", "M", and "P" Within "L" @@ -240,7 +240,7 @@ This demonstrates the flow of data from a Web browser all the way to the databas ## Application Context -LAMP is a reliable basis for Web development, with decades of successful deliveries over a range of requirements. It directly supports only [server-side processing](https://www.indeed.com/career-advice/career-development/client-side-vs-server-side). The model application above delivers pure HTML to the browser. LAMP is equally capable of serving CSS and [JavaScript](/cloud/guides/languages/javascript/) but does not build in tooling for these client-side technologies. Projects reliant on elaborate modern user interface effects, usually choose a framework such as [React](/cloud/guides/development/react/). +LAMP is a reliable basis for Web development, with decades of successful deliveries over a range of requirements. It directly supports only [server-side processing](https://www.indeed.com/career-advice/career-development/client-side-vs-server-side). The model application above delivers pure HTML to the browser. LAMP is equally capable of serving CSS and [JavaScript](/cloud/guides/languages/javascript) but does not build in tooling for these client-side technologies. Projects reliant on elaborate modern user interface effects, usually choose a framework such as [React](/cloud/guides/development/react). Server-side processing remains a common approach for many applications, and LAMP handles these types of applications well. Server-side computation typically involves several functions beyond the model application above, including account management, forms processing, security restrictions, analytic, and cost reporting, more robust exception handling, and quality assurance instrumentation. Contemporary applications often build an MVC [model-view-controller](https://www.guru99.com/mvc-tutorial.html) architecture, and/or define a REST [representational state transfer](https://restfulapi.net/) perspective. A commercial-grade installation usually migrates the database server to a separate host, and high-volume applications often introduce load balancers, security-oriented proxies, content delivery network (CDN) service, and other refinements. These functions are layers over the basic data flow between the user, browser, business logic processing, and datastore that the model application embodies. diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-arch-linux/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-arch-linux/index.md index b22436f383d..34d4c6d345c 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-arch-linux/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-arch-linux/index.md @@ -28,7 +28,7 @@ A LAMP (Linux, Apache, MySQL, PHP) stack is a common web stack used to prepare s Since Arch does not come in specific versions, this guide is up-to-date as of the December 2015 Arch update. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-7/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-7/index.md index d3bb4687c1a..69dae9aa41f 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-7/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-7/index.md @@ -40,7 +40,7 @@ A *LAMP stack* is a particular bundle of software packages commonly used for hos sudo yum update {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Apache diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-8/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-8/index.md index e8d8c42a175..eb4077b0751 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-8/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-8/index.md @@ -42,7 +42,7 @@ A *LAMP stack* is a particular bundle of software packages commonly used for hos sudo yum update {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Apache diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-10/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-10/index.md index bed45610e9b..6644f056a42 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-10/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-10/index.md @@ -44,7 +44,7 @@ Prior to installing your LAMP stack ensure that: sudo apt-get update && sudo apt-get upgrade {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Apache diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-11/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-11/index.md index 1705f9e0b28..e155ac5867a 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-11/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-11/index.md @@ -49,7 +49,7 @@ Prior to installing your LAMP stack: ``` {{< note >}} - This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. + This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Apache diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-22-04/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-22-04/index.md index 4611c962fdd..41abb35edd7 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-22-04/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-22-04/index.md @@ -44,7 +44,7 @@ The LAMP Stack is sufficient to host web applications and implement a modern com 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing a LAMP Stack on Ubuntu diff --git a/docs/guides/web-servers/lamp/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/index.md b/docs/guides/web-servers/lamp/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/index.md index ce71e7d09e3..7c87ac83e9b 100644 --- a/docs/guides/web-servers/lamp/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/index.md @@ -48,7 +48,7 @@ All of these applications are available in the core Fedora software library. 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} {{< note >}} diff --git a/docs/guides/web-servers/lamp/install-lamp-stack-on-ubuntu-16-04/index.md b/docs/guides/web-servers/lamp/install-lamp-stack-on-ubuntu-16-04/index.md index 8843a6a84d7..e7f09e0e2b9 100644 --- a/docs/guides/web-servers/lamp/install-lamp-stack-on-ubuntu-16-04/index.md +++ b/docs/guides/web-servers/lamp/install-lamp-stack-on-ubuntu-16-04/index.md @@ -30,7 +30,7 @@ This guide shows how to install and test a LAMP stack on Ubuntu 16.04 (LTS). ![Install LAMP on Ubuntu 16.04](install-lamp-on-ubuntu-1604.png "Install LAMP on Ubuntu 16.04") {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, see the [Linux Users and Groups guide](/cloud/guides/linux-users-and-groups/). +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, see the [Linux Users and Groups guide](/cloud/guides/linux-users-and-groups). Replace each instance of `example.com` in this guide with your site's domain name. {{< /note >}} diff --git a/docs/guides/web-servers/lamp/lamp-on-centos-6/index.md b/docs/guides/web-servers/lamp/lamp-on-centos-6/index.md index 303e4d722fb..e58e0a08df7 100644 --- a/docs/guides/web-servers/lamp/lamp-on-centos-6/index.md +++ b/docs/guides/web-servers/lamp/lamp-on-centos-6/index.md @@ -28,7 +28,7 @@ deprecated: true A LAMP (Linux, Apache, MySQL, PHP) stack is a common web stack used to prepare servers for hosting web content. This guide shows you how to install a LAMP stack on a CentOS 6 system. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/web-servers/lamp/lamp-on-debian-8-jessie/index.md b/docs/guides/web-servers/lamp/lamp-on-debian-8-jessie/index.md index e1e3ca517fe..03c0a28269a 100644 --- a/docs/guides/web-servers/lamp/lamp-on-debian-8-jessie/index.md +++ b/docs/guides/web-servers/lamp/lamp-on-debian-8-jessie/index.md @@ -27,7 +27,7 @@ Setting up a LAMP (Linux, Apache, MySql, PHP) stack on your server will allow fo ![LAMP on Debian 8](lamp-on-debian-8.png "LAMP on Debian 8") {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/web-servers/lamp/lamp-server-on-debian-7-wheezy/index.md b/docs/guides/web-servers/lamp/lamp-server-on-debian-7-wheezy/index.md index 5ce0ede275a..6d6d820cdf2 100644 --- a/docs/guides/web-servers/lamp/lamp-server-on-debian-7-wheezy/index.md +++ b/docs/guides/web-servers/lamp/lamp-server-on-debian-7-wheezy/index.md @@ -26,7 +26,7 @@ deprecated: true A LAMP (Linux, Apache, MySQL, PHP) stack is a common web stack used to prepare servers for hosting web content. This guide shows you how to install a LAMP stack on a Debian 7 (Wheezy) Linode. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin diff --git a/docs/guides/web-servers/lamp/lamp-server-on-fedora-20/index.md b/docs/guides/web-servers/lamp/lamp-server-on-fedora-20/index.md index 5c1ae477825..b16fbc98a8c 100644 --- a/docs/guides/web-servers/lamp/lamp-server-on-fedora-20/index.md +++ b/docs/guides/web-servers/lamp/lamp-server-on-fedora-20/index.md @@ -25,7 +25,7 @@ deprecated: true This guide provides step-by-step instructions for installing a full-featured LAMP stack on a Fedora 20 system. In this guide, you will be instructed on setting up Apache, MySQL, and PHP. If you don't feel that you will need MySQL or PHP, please don't feel obligated to install them. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} Throughout this guide we will offer several suggested values for specific configuration settings. Some of these values will be set by default. These settings are shown in the guide as a reference, in the event that you change these settings to suit your needs and then need to change them back. diff --git a/docs/guides/web-servers/lemp/_index.md b/docs/guides/web-servers/lemp/_index.md index dc1540cfa7a..22a8ed35462 100644 --- a/docs/guides/web-servers/lemp/_index.md +++ b/docs/guides/web-servers/lemp/_index.md @@ -1,6 +1,6 @@ --- title: LEMP Guides -description: 'The LEMP stack configured in these documents is established in contrast to the popular [LAMP Stack](/cloud/guides/web-servers/lamp/) used to power many popular web applications. "LAMP" refers to a Linux-based operating system, the Apache web server, the MySQL database server, and the PHP programing language. It is common to substitute other programing languages like Python, Perl, and even Ruby for PHP.

      The "LEMP" configuration replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP) to increase the ability of the server to scale in response to demand. Furthermore, these guides provide instructions for deploying applications written in Python and Perl in addition to PHP, and for configuring the PostgreSQL database as an alternative to MySQL if your applications support this database server. LEMP provides a platform for applications that is compatible with the LAMP stack for nearly all applications; however, because nginx is able to serve more pages at once with a more predictable memory usage profile, it may be more suited to high demand situations.' +description: 'The LEMP stack configured in these documents is established in contrast to the popular [LAMP Stack](/cloud/guides/web-servers/lamp) used to power many popular web applications. "LAMP" refers to a Linux-based operating system, the Apache web server, the MySQL database server, and the PHP programing language. It is common to substitute other programing languages like Python, Perl, and even Ruby for PHP.

      The "LEMP" configuration replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP) to increase the ability of the server to scale in response to demand. Furthermore, these guides provide instructions for deploying applications written in Python and Perl in addition to PHP, and for configuring the PostgreSQL database as an alternative to MySQL if your applications support this database server. LEMP provides a platform for applications that is compatible with the LAMP stack for nearly all applications; however, because nginx is able to serve more pages at once with a more predictable memory usage profile, it may be more suited to high demand situations.' authors: ["Linode"] contributors: ["Linode"] published: 2010-06-29 diff --git a/docs/guides/web-servers/lemp/how-to-create-a-lemp-stack-application/index.md b/docs/guides/web-servers/lemp/how-to-create-a-lemp-stack-application/index.md index cc8da0586a4..b5691feb161 100644 --- a/docs/guides/web-servers/lemp/how-to-create-a-lemp-stack-application/index.md +++ b/docs/guides/web-servers/lemp/how-to-create-a-lemp-stack-application/index.md @@ -10,11 +10,11 @@ keywords: ['lemp','nginx','web server'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -[LEMP stack](/cloud/guides/web-servers/lemp/) refers to a development framework for Web and mobile applications based on four open source components: +[LEMP stack](/cloud/guides/web-servers/lemp) refers to a development framework for Web and mobile applications based on four open source components: 1. [Linux](https://www.linode.com/distributions/) operating system -2. [NGINX](/cloud/guides/web-servers/nginx/) Web server -3. [MySQL](/cloud/guides/databases/mysql/) relational database management system (RDBMS) -4. [PHP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/), [Perl](/cloud/guides/development/perl/), or [Python](/cloud/guides/development/python/) programming language +2. [NGINX](/cloud/guides/web-servers/nginx) Web server +3. [MySQL](/cloud/guides/databases/mysql) relational database management system (RDBMS) +4. [PHP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04), [Perl](/cloud/guides/development/perl), or [Python](/cloud/guides/development/python) programming language NGINX contributes to the acronym "LEMP" because English-speakers pronounce NGINX as "engine-x", hence an "E". @@ -25,14 +25,14 @@ NGINX contributes to the acronym "LEMP" because English-speakers pronounce NGINX 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How Does LEMP Differ from LAMP? -[LAMP](/cloud/guides/web-servers/lamp/) is just like LEMP, except with Apache in place of NGINX. +[LAMP](/cloud/guides/web-servers/lamp) is just like LEMP, except with Apache in place of NGINX. -LAMP played a crucial role in the Web for [over twenty years](https://www.marpis.net/lamp-history.php). NGINX was released publicly in 2004, largely to address faults in LAMP. LEMP use spread widely after 2008, and NGINX is now the second [most popular Web server](https://kinsta.com/knowledgebase/what-is-nginx/), after the [Apache Web server](/cloud/guides/web-servers/apache/) that LAMP uses. +LAMP played a crucial role in the Web for [over twenty years](https://www.marpis.net/lamp-history.php). NGINX was released publicly in 2004, largely to address faults in LAMP. LEMP use spread widely after 2008, and NGINX is now the second [most popular Web server](https://kinsta.com/knowledgebase/what-is-nginx/), after the [Apache Web server](/cloud/guides/web-servers/apache) that LAMP uses. Both LEMP and LAMP combine open source tools to supply the essentials for a Web application. This includes an underlying Linux operating system which hosts everything else, including: - The NGINX or Apache Web server that receives and responds to end-user actions. @@ -47,7 +47,7 @@ In broad terms, the two Web servers have much in common. [NGINX is faster than A ### RDBMS and Programming Language -Two other variations deserve clarity in regard to the initials "M" and "P". [MariaDB](/cloud/guides/databases/mariadb/) is a drop-in replacement for MySQL. The differences between the two are explained in [this tutorial](https://www.guru99.com/mariadb-vs-mysql.html). Everything you do with MySQL applies immediately with MariaDB as well. +Two other variations deserve clarity in regard to the initials "M" and "P". [MariaDB](/cloud/guides/databases/mariadb) is a drop-in replacement for MySQL. The differences between the two are explained in [this tutorial](https://www.guru99.com/mariadb-vs-mysql.html). Everything you do with MySQL applies immediately with MariaDB as well. While several different programming languages work well in a LEMP stack, this guide focuses on PHP. However, nearly all the principles of LEMP illustrated below apply with Python or another alternative. @@ -59,7 +59,7 @@ LEMP's suitability extends beyond purely technical dimensions. Its flexible open ## Install the LEMP Stack -Linode's support for LEMP begins with abundant documentation, including [How to Install the LEMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/). +Linode's support for LEMP begins with abundant documentation, including [How to Install the LEMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04). Rich collections of documentation are available to readers [new to Linux](https://opensource.com/article/19/7/ways-get-started-linux) and its command line. This guide assumes familiarity with the command line and Linux filesystems, along with permission to run as root or with sudo privileges. With the "L" (Linux) in place, the installation in this Guide focuses purely on the "EMP" layers of LEMP. @@ -335,7 +335,7 @@ This demonstrates the flow of data from a Web browser to the database server. Ea ## Application Context -LEMP is a trustworthy basis for Web development, with decades of successful deliveries over a range of requirements. It directly supports only [server-side processing](https://www.indeed.com/career-advice/career-development/client-side-vs-server-side). The model application above delivers pure HTML to the browser. However, LEMP is equally capable of serving up CSS and [JavaScript](/cloud/guides/languages/javascript/), but does not build in tooling for these client-side technologies. Projects reliant on elaborate user interface effects usually choose a framework focused on the client side. [React](/cloud/guides/development/react/) is an example of such a framework. +LEMP is a trustworthy basis for Web development, with decades of successful deliveries over a range of requirements. It directly supports only [server-side processing](https://www.indeed.com/career-advice/career-development/client-side-vs-server-side). The model application above delivers pure HTML to the browser. However, LEMP is equally capable of serving up CSS and [JavaScript](/cloud/guides/languages/javascript), but does not build in tooling for these client-side technologies. Projects reliant on elaborate user interface effects usually choose a framework focused on the client side. [React](/cloud/guides/development/react) is an example of such a framework. Server-side orientation remains adequate for many applications, and LEMP fits these well. Server-side computation typically involves several functions beyond the model application above, including: - Account Management diff --git a/docs/guides/web-servers/lemp/how-to-install-a-lemp-stack-on-ubuntu-22-04/index.md b/docs/guides/web-servers/lemp/how-to-install-a-lemp-stack-on-ubuntu-22-04/index.md index 6bf37d4905d..1977d196dbd 100644 --- a/docs/guides/web-servers/lemp/how-to-install-a-lemp-stack-on-ubuntu-22-04/index.md +++ b/docs/guides/web-servers/lemp/how-to-install-a-lemp-stack-on-ubuntu-22-04/index.md @@ -47,7 +47,7 @@ The LEMP stack consists of the following components: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install LEMP Stack on Ubuntu diff --git a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-centos-8/index.md b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-centos-8/index.md index 9768cfd6387..5558850bbfa 100644 --- a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-centos-8/index.md +++ b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-centos-8/index.md @@ -257,5 +257,5 @@ cockpit dhcpv6-client ssh ## Next Steps For more on the software in this stack see the following guides: -- [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Serve PHP with PHP-FPM and NGINX](/cloud/guides/serve-php-php-fpm-and-nginx/) +- [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) +- [Serve PHP with PHP-FPM and NGINX](/cloud/guides/serve-php-php-fpm-and-nginx) diff --git a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-debian-10/index.md b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-debian-10/index.md index d2946387d29..d43ea1a24e9 100644 --- a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-debian-10/index.md +++ b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-debian-10/index.md @@ -235,6 +235,6 @@ If you configured UFW on your server, enable the firewall to allow web traffic. For more on the software in this stack see the following guides: -- [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Set Up MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) -- [Serve PHP with PHP-FPM and NGINX](/cloud/guides/serve-php-php-fpm-and-nginx/) +- [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) +- [Set Up MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu) +- [Serve PHP with PHP-FPM and NGINX](/cloud/guides/serve-php-php-fpm-and-nginx) diff --git a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-ubuntu-18-04/index.md b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-ubuntu-18-04/index.md index c82de0b5d3b..3dcae72b655 100644 --- a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-ubuntu-18-04/index.md @@ -233,6 +233,6 @@ If you configured UFW on your server, enable the firewall to allow web traffic. For more on the software in this stack see the following guides: -- [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Set Up MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) -- [Serve PHP with PHP-FPM and NGINX](/cloud/guides/serve-php-php-fpm-and-nginx/) +- [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) +- [Set Up MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu) +- [Serve PHP with PHP-FPM and NGINX](/cloud/guides/serve-php-php-fpm-and-nginx) diff --git a/docs/guides/web-servers/lemp/lemp-server-on-arch-linux/index.md b/docs/guides/web-servers/lemp/lemp-server-on-arch-linux/index.md index 12cb31e0e35..4893e782420 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-arch-linux/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-arch-linux/index.md @@ -20,7 +20,7 @@ deprecated: true This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP." The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -96,7 +96,7 @@ include /srv/nginx-sites.conf; {{< /file >}} -Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/srv/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). +Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/srv/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: @@ -216,5 +216,5 @@ Congratulations! You now have a fully functional and fully featured LEMP stack f You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) -- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx) +- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/lemp/lemp-server-on-centos-5/index.md b/docs/guides/web-servers/lemp/lemp-server-on-centos-5/index.md index 7337aae7622..005054fc452 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-centos-5/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-centos-5/index.md @@ -21,7 +21,7 @@ deprecated_link: 'web-servers/lemp/lemp-stack-on-centos-7-with-fastcgi/' This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP." The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -44,7 +44,7 @@ There are several viable and popular options for installing nginx. The first opt The second option requires downloading the source for nginx from the upstream provider and compiling the software manually. Manual compilation makes it possible to run the most current version of the software at the expense of the testing and automatic updates from the Fedora project. All options are compatible, but in most cases we recommend using the packages from the EPEL repositories, unless your needs require a version newer than the one available in the EPEL repositories. Possible reasons for compiling nginx yourself include access to optional compile-time modules and features added in more recent versions. -For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-centos-5/). +For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-centos-5). ### Deploy from EPEL Packages @@ -165,7 +165,7 @@ include /opt/nginx-sites.conf; {{< /file >}} -Depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). +Depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: @@ -175,7 +175,7 @@ Make sure that the directories referenced in your configuration exist on your fi ## Deploy PHP with FastCGI -If your application includes PHP code you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject, consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-centos-5/). Begin the deployment process by issuing the following commands to install the required dependencies: +If your application includes PHP code you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject, consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-centos-5). Begin the deployment process by issuing the following commands to install the required dependencies: rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm yum update @@ -296,8 +296,8 @@ When upstream sources offer new releases, repeat the instructions for installing You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) -- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) -- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-centos-5/) -- [Use PostgreSQL as an Alternative to MySQL for data storage](/cloud/guides/centos-5/) -- [Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-centos-5/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx) +- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) +- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-centos-5) +- [Use PostgreSQL as an Alternative to MySQL for data storage](/cloud/guides/centos-5) +- [Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-centos-5) diff --git a/docs/guides/web-servers/lemp/lemp-server-on-centos-6/index.md b/docs/guides/web-servers/lemp/lemp-server-on-centos-6/index.md index a861e557937..6ee49422dd9 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-centos-6/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-centos-6/index.md @@ -11,11 +11,11 @@ tags: ["lemp","web server","php","mysql","centos","nginx"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/)' - - '[Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/)' - - '[Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-centos-5/)' - - '[Use PostgeSQL as an Alternative to MySQL for data storage](/cloud/guides/centos-5/)' - - '[Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-centos-5/)' + - '[Basic nginx Configuration](/cloud/guides/how-to-configure-nginx)' + - '[Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer)' + - '[Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-centos-5)' + - '[Use PostgeSQL as an Alternative to MySQL for data storage](/cloud/guides/centos-5)' + - '[Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-centos-5)' relations: platform: key: install-lemp-stack @@ -27,7 +27,7 @@ deprecated_link: 'web-servers/lemp/lemp-stack-on-centos-7-with-fastcgi/' This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP." The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -50,7 +50,7 @@ There are several viable and popular options for installing nginx. The first opt The second option requires downloading the source for nginx from the upstream provider and compiling the software manually. Manual compilation makes it possible to run the most current version of the software at the expense of the testing and automatic updates from the Fedora project. All options are compatible, but in most cases we recommend using the packages from the EPEL repositories, unless your needs require a version newer than the one available in the EPEL repositories. Possible reasons for compiling nginx yourself include access to optional compile-time modules and features added in more recent versions. -For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/lemp-server-on-centos-6/). +For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/lemp-server-on-centos-6). ### Deploy from EPEL Packages @@ -279,7 +279,7 @@ include /opt/nginx-sites.conf; {{< /file >}} -Depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). +Depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: diff --git a/docs/guides/web-servers/lemp/lemp-server-on-debian-7-wheezy/index.md b/docs/guides/web-servers/lemp/lemp-server-on-debian-7-wheezy/index.md index 189f0ce9d5c..531b816387a 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-debian-7-wheezy/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-debian-7-wheezy/index.md @@ -10,11 +10,11 @@ tags: ["lemp","web server","php","mysql","nginx","debian"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Basic Nginx Configuration](/cloud/guides/how-to-configure-nginx/)' - - '[Clustered Web Servers and Software Load Balancing with Nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/)' - - '[Deploy CGI and Perl Scripts with Perl-FastCGI and Nginx](/cloud/guides/nginx-and-perlfastcgi-on-debian-6-squeeze/)' - - '[Use PostgeSQL as an Alternative to MySQL for data storage](/cloud/guides/debian-6-squeeze/)' - - '[Deploy Python Applications with uWSGI and Nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze/)' + - '[Basic Nginx Configuration](/cloud/guides/how-to-configure-nginx)' + - '[Clustered Web Servers and Software Load Balancing with Nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer)' + - '[Deploy CGI and Perl Scripts with Perl-FastCGI and Nginx](/cloud/guides/nginx-and-perlfastcgi-on-debian-6-squeeze)' + - '[Use PostgeSQL as an Alternative to MySQL for data storage](/cloud/guides/debian-6-squeeze)' + - '[Deploy Python Applications with uWSGI and Nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze)' relations: platform: key: install-lemp-stack @@ -26,7 +26,7 @@ deprecated_link: web-servers/lemp/install-a-lemp-stack-on-debian/ This document describes a compatible alternative to the **LAMP** (Linux, Apache, MySQL, and PHP) stack, known as **LEMP**. The LEMP stack replaces the Apache web server component (which is the "A" in LAMP) with Nginx (pronounced "engine x", providing the "E" in LEMP). LEMP is comprised of a variety of open source software used to build and run web servers. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ![LEMP Server on Debian 7 (Wheezy)](lemp_server_on_debian_7_wheezy.png "LEMP Server on Debian 7") @@ -50,7 +50,7 @@ Before beginning with the installation of this web application stack, issue the There are several viable and popular options for installing the Nginx software. The method used here retrieves packages from the Debian Project's software repository and provides a stable and tested version of the web server. Another option would be to retrieve packages compiled by the Debian Backports project. Backports packages are more up to date than the stable packages provided by the Debian project. However, Backports do not necessarily receive the same updates, support, and maintenance that official packages receive. -For more in-depth installation instructions consider our [guide to Installing Nginx](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). +For more in-depth installation instructions consider our [guide to Installing Nginx](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup). To install Nginx from the Debian repository, issue the following command: @@ -94,7 +94,7 @@ To deactivate a site, simply delete the symbolic link by issuing the following c The source file is saved, and the site can be re-enabled at any time. -For more information regarding Nginx configuration options, consider our [Overview of Nginx Configuration](/cloud/guides/how-to-configure-nginx/). +For more information regarding Nginx configuration options, consider our [Overview of Nginx Configuration](/cloud/guides/how-to-configure-nginx). ## Deploy PHP with FastCGI diff --git a/docs/guides/web-servers/lemp/lemp-server-on-fedora-13/index.md b/docs/guides/web-servers/lemp/lemp-server-on-fedora-13/index.md index fdae6977869..c443222b270 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-fedora-13/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP." The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Prepare System For Deployment @@ -34,7 +34,7 @@ There are several viable and popular options for installing the nginx software. The second option requires downloading the source for nginx from the upstream provider and compiling the software manually. Manual compilation makes it possible to run the most current version of the software at the expense of the testing and automatic updates from the Fedora project. All options are compatible, but in most cases we recommend using the packages from the Fedora repositories unless your needs require a version newer than the one available. Possible reasons for compiling nginx yourself include access to optional compile-time modules and features added in more recent versions. -For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-fedora-13/). +For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-fedora-13). ### Deploy from Fedora Project Packages @@ -152,7 +152,7 @@ include /opt/nginx-sites.conf; {{< /file >}} -Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). +Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: @@ -162,7 +162,7 @@ Make sure that the directories referenced in your configuration exist on your fi ## Deploy PHP with FastCGI -If your application includes PHP code, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-fedora-13/). Begin the deployment process by issuing the following command to install the required dependencies: +If your application includes PHP code, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-fedora-13). Begin the deployment process by issuing the following command to install the required dependencies: yum install php php-cli spawn-fcgi wget @@ -281,8 +281,8 @@ When upstream sources offer new releases, repeat the instructions for installing You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) -- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) -- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-fedora-13/) -- [Use PostgreSQL as an Alternative to MySQL for data storage](/cloud/guides/fedora-13/) -- [Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-fedora-13/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx) +- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) +- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-fedora-13) +- [Use PostgreSQL as an Alternative to MySQL for data storage](/cloud/guides/fedora-13) +- [Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-fedora-13) diff --git a/docs/guides/web-servers/lemp/lemp-server-on-fedora-14/index.md b/docs/guides/web-servers/lemp/lemp-server-on-fedora-14/index.md index 4d96caa6e0f..a916a10647a 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-fedora-14/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-fedora-14/index.md @@ -20,7 +20,7 @@ deprecated: true This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP." The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux systems administration, you may want to consider the guides in our [using Linux guide](/cloud/guides/introduction-to-linux-concepts/) series, particularly "[Linux Administration Basics](/cloud/guides/linux-system-administration-basics/)." +Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux systems administration, you may want to consider the guides in our [using Linux guide](/cloud/guides/introduction-to-linux-concepts) series, particularly "[Linux Administration Basics](/cloud/guides/linux-system-administration-basics)." ## Set the Hostname @@ -43,7 +43,7 @@ There are several viable and popular options for installing the nginx software. The second option requires downloading the source for nginx from the upstream provider and compiling the software manually. Manual compilation makes it possible to run the most current version of the software at the expense of the testing and automatic updates from the Fedora project. All options are compatible, but in most cases we recommend using the packages from the Fedora repositories unless your needs require a version newer than the one available. Possible reasons for compiling nginx yourself include access to optional compile-time modules and features added in more recent versions. -For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-fedora-13/). +For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-fedora-13). ### Deploy from Fedora Project Packages @@ -161,7 +161,7 @@ include /opt/nginx-sites.conf; {{< /file >}} -Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). +Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: @@ -171,7 +171,7 @@ Make sure that the directories referenced in your configuration exist on your fi ## Deploy PHP with FastCGI -If your application includes PHP code, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-fedora-14/). Begin the deployment process by issuing the following command to install the required dependencies: +If your application includes PHP code, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-fedora-14). Begin the deployment process by issuing the following command to install the required dependencies: yum install php php-cli spawn-fcgi wget @@ -291,5 +291,5 @@ When upstream sources offer new releases, repeat the instructions for installing You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) -- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx) +- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/lemp/lemp-server-on-fedora-15/index.md b/docs/guides/web-servers/lemp/lemp-server-on-fedora-15/index.md index 793b2aa75af..36fe7cb3659 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-fedora-15/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-fedora-15/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will help you get up and running quickly with a LEMP (Linux, nginx, MySQL, PHP) stack on your Linode. If you haven't done so already, please follow the instructions in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) before proceeding. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +This guide will help you get up and running quickly with a LEMP (Linux, nginx, MySQL, PHP) stack on your Linode. If you haven't done so already, please follow the instructions in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) before proceeding. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -247,7 +247,7 @@ Please follow the announcements, lists, and RSS feeds on the pages linked below You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx) - [nginx Wiki](http://wiki.nginx.org/Main) - [PHP Documentation](http://php.net/docs.php) - [MySQL Documentation](http://dev.mysql.com/doc/) diff --git a/docs/guides/web-servers/lemp/lemp-server-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/lemp/lemp-server-on-ubuntu-9-10-karmic/index.md index 546c48e9694..2b50fc0691a 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP". The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Prepare System For Deployment @@ -50,7 +50,7 @@ There are several viable and popular options for installing the nginx software. The second option requires downloading the source for nginx from the upstream provider and compiling the software manually. Manual compilation makes it possible to run the most current version of the software at the expense of the testing and automatic updates from the Ubuntu project. All options are compatible, but in most cases we recommend using the packages from the Ubuntu repositories, unless your needs require a version newer than the one available in the Ubuntu repositories. Possible reasons for compiling nginx yourself include access to optional compile-time modules and features added in more recent versions. -For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic/). +For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic). ### Deploy from Ubuntu Project Packages @@ -175,7 +175,7 @@ include /opt/nginx-sites.conf; {{< /file >}} -Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file`. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). +Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file`. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: @@ -185,7 +185,7 @@ Make sure that the directories referenced in your configuration exist on your fi ## Deploy PHP with FastCGI -In order to deploy PHP applications, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/). Begin the deployment process by issuing the following command to install the required dependencies: +In order to deploy PHP applications, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic). Begin the deployment process by issuing the following command to install the required dependencies: apt-get install php5-cli php5-cgi build-essential wget psmisc @@ -320,8 +320,8 @@ When upstream sources offer new releases, repeat the instructions for installing You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) -- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) -- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-debian-5-lenny/) -- [Use PostgreSQL as an Alternative to MySQL for data storage](/cloud/guides/debian-5-lenny/) -- [Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx) +- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) +- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-debian-5-lenny) +- [Use PostgreSQL as an Alternative to MySQL for data storage](/cloud/guides/debian-5-lenny) +- [Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny) diff --git a/docs/guides/web-servers/lighttpd/use-lighttpd-web-server-on-ubuntu-16-04/index.md b/docs/guides/web-servers/lighttpd/use-lighttpd-web-server-on-ubuntu-16-04/index.md index 10a09604119..2c2dd45d089 100644 --- a/docs/guides/web-servers/lighttpd/use-lighttpd-web-server-on-ubuntu-16-04/index.md +++ b/docs/guides/web-servers/lighttpd/use-lighttpd-web-server-on-ubuntu-16-04/index.md @@ -42,7 +42,7 @@ This guide explains how to install and configure the lighttpd ("lighty") web ser sudo apt-get update && apt-get upgrade {{< note >}} -The steps required in this guide require root privileges. Be sure to run the following steps as **root** or with the `sudo` prefix. For more information on privileges see the [Users and Groups guide](/cloud/guides/linux-users-and-groups/). +The steps required in this guide require root privileges. Be sure to run the following steps as **root** or with the `sudo` prefix. For more information on privileges see the [Users and Groups guide](/cloud/guides/linux-users-and-groups). {{< /note >}} ## How To Install Lighttpd Web Server On Ubuntu 16.04 diff --git a/docs/guides/web-servers/nginx/build-nginx-with-pagespeed-from-source/index.md b/docs/guides/web-servers/nginx/build-nginx-with-pagespeed-from-source/index.md index 2f5dc35b472..725c32dc2b4 100644 --- a/docs/guides/web-servers/nginx/build-nginx-with-pagespeed-from-source/index.md +++ b/docs/guides/web-servers/nginx/build-nginx-with-pagespeed-from-source/index.md @@ -25,7 +25,7 @@ There are currently two ways to get PageSpeed and NGINX working together: - Compile PageSpeed as a [dynamic module](https://www.nginx.com/blog/compiling-dynamic-modules-nginx-plus/) to use with NGINX, whether NGINX was installed from source or a binary. {{< note respectIndent=false >}} -Installing NGINX from source requires several manual installation steps and will require manual maintenance when performing tasks like version upgrades. To install NGINX using a package manager see the [NGINX](/cloud/guides/web-servers/nginx/) section. +Installing NGINX from source requires several manual installation steps and will require manual maintenance when performing tasks like version upgrades. To install NGINX using a package manager see the [NGINX](/cloud/guides/web-servers/nginx) section. {{< /note >}} This guide will show how to compile both NGINX and PageSpeed. If you would prefer to use PageSpeed as a module for NGINX, see [this NGINX blog post](https://www.nginx.com/blog/optimize-website-google-pagespeed-dynamic-module-nginx-plus/) for instructions. @@ -217,7 +217,7 @@ You can use NGINX's binary to control the process directly without making a star 2. In NGINX terminology, a *Server Block* equates to a website (similar to the *Virtual Host* in Apache terminology). Each NGINX site's configuration should be in its own file with the name formatted as `example.com.conf`, located at `/etc/nginx/conf.d/`. - If you followed this guide or our [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) series, then your site's configuration will be in a `server` block in a file stored in `/etc/nginx/conf.d/`. If you do not have this setup, then you likely have the `server` block directly in `/etc/nginx/nginx.conf`. See *[Server Block Examples](https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/)* in the NGINX docs for more info. + If you followed this guide or our [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) series, then your site's configuration will be in a `server` block in a file stored in `/etc/nginx/conf.d/`. If you do not have this setup, then you likely have the `server` block directly in `/etc/nginx/nginx.conf`. See *[Server Block Examples](https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/)* in the NGINX docs for more info. Create a configuration file for your site with a basic server block inside: diff --git a/docs/guides/web-servers/nginx/configuring-load-balancer-sticky-session/index.md b/docs/guides/web-servers/nginx/configuring-load-balancer-sticky-session/index.md index 5fd10cc4267..c839e908200 100644 --- a/docs/guides/web-servers/nginx/configuring-load-balancer-sticky-session/index.md +++ b/docs/guides/web-servers/nginx/configuring-load-balancer-sticky-session/index.md @@ -49,8 +49,8 @@ When using a load balancer, more than one server is responding to requests. So, ## Tools Used for Load Balancing -The popular open-source web server, [*NGINX*](/cloud/guides/web-servers/nginx/), can be used as a load balancer to support your web services. NGINX provides [extensive documentation](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/) to get you started installing and configuring it to load balance traffic to backend servers. +The popular open-source web server, [*NGINX*](/cloud/guides/web-servers/nginx), can be used as a load balancer to support your web services. NGINX provides [extensive documentation](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/) to get you started installing and configuring it to load balance traffic to backend servers. Linode offers a load balancing service called [*NodeBalancers*](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer). Using load balancers as a service (LBaaS) to route your server's web traffic reduces the amount of configuration you need to worry about. This allows you to focus on developing your application, and take advantage of built-in point-and-click functionality. -If you are using [Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) to run your containerized applications, load balancers help you expose your cluster's resources to the public internet and route traffic to your cluster's nodes. If you are using Linode's managed Kubernetes service, [LKE](https://www.linode.com/products/kubernetes/), you can configure NodeBalancers using [annotations](https://techdocs.akamai.com/cloud-computing/docs/get-started-with-load-balancing-on-an-lke-cluster#configuring-your-linode-nodebalancers-with-annotations). You can also use [NGINX to configure load balancing via ingress on Kubernetes](https://www.nginx.com/blog/nginx-plus-ingress-controller-kubernetes-load-balancing/). +If you are using [Kubernetes](/cloud/guides/beginners-guide-to-kubernetes) to run your containerized applications, load balancers help you expose your cluster's resources to the public internet and route traffic to your cluster's nodes. If you are using Linode's managed Kubernetes service, [LKE](https://www.linode.com/products/kubernetes/), you can configure NodeBalancers using [annotations](https://techdocs.akamai.com/cloud-computing/docs/get-started-with-load-balancing-on-an-lke-cluster#configuring-your-linode-nodebalancers-with-annotations). You can also use [NGINX to configure load balancing via ingress on Kubernetes](https://www.nginx.com/blog/nginx-plus-ingress-controller-kubernetes-load-balancing/). diff --git a/docs/guides/web-servers/nginx/deploy-django-applications-using-uwsgi-and-nginx-on-ubuntu-14-04/index.md b/docs/guides/web-servers/nginx/deploy-django-applications-using-uwsgi-and-nginx-on-ubuntu-14-04/index.md index bbd7e2fe6cf..20487aefea9 100644 --- a/docs/guides/web-servers/nginx/deploy-django-applications-using-uwsgi-and-nginx-on-ubuntu-14-04/index.md +++ b/docs/guides/web-servers/nginx/deploy-django-applications-using-uwsgi-and-nginx-on-ubuntu-14-04/index.md @@ -13,7 +13,7 @@ external_resources: - '[Writing your first Django app Tutorial](https://docs.djangoproject.com/en/dev/intro/tutorial01/#intro-tutorial01)' - '[virtualenvwrapper Documentation](https://virtualenvwrapper.readthedocs.org/en/latest/)' - '[WSGI/Python Quickstart Guide](https://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html)' - - '[nginx Configuration](/cloud/guides/how-to-configure-nginx/)' + - '[nginx Configuration](/cloud/guides/how-to-configure-nginx)' deprecated: True --- @@ -29,7 +29,7 @@ deprecated: True sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install nginx, Python Tools and uWSGI diff --git a/docs/guides/web-servers/nginx/deploying-nginx-docker-container/index.md b/docs/guides/web-servers/nginx/deploying-nginx-docker-container/index.md index be930efd62e..777426a838e 100644 --- a/docs/guides/web-servers/nginx/deploying-nginx-docker-container/index.md +++ b/docs/guides/web-servers/nginx/deploying-nginx-docker-container/index.md @@ -23,7 +23,7 @@ Follow along with this tutorial to learn about the advantages of running Nginx v 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Getting Started with Docker @@ -32,7 +32,7 @@ This guide is written for a non-root user. Commands that require elevated privil Docker containers also have the advantage of container orchestration. Platforms like Kubernetes can leverage the portability and self-contained nature of Docker containers to efficiently deploy applications to clusters. -Read more about Docker, its advantages, and its use cases in our guide [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker/). Learn about using Docker with Kubernetes container orchestration in our guide on how to [Manage a Docker Cluster with Kubernetes](/cloud/guides/manage-a-docker-cluster-with-kubernetes/). +Read more about Docker, its advantages, and its use cases in our guide [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker). Learn about using Docker with Kubernetes container orchestration in our guide on how to [Manage a Docker Cluster with Kubernetes](/cloud/guides/manage-a-docker-cluster-with-kubernetes). ### Why Run Nginx in a Docker Container? @@ -42,7 +42,7 @@ Beyond this, a Dockerized Nginx instance can be a gateway to more complicated se ### Installing Docker -To install Docker, follow the instructions in our guide on [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/). Use the drop down at the top of the guide to select the appropriate distribution. The present tutorial assumes that you have followed the sections on: +To install Docker, follow the instructions in our guide on [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian). Use the drop down at the top of the guide to select the appropriate distribution. The present tutorial assumes that you have followed the sections on: - Installing Docker Engine - Starting and Testing Docker @@ -95,7 +95,7 @@ Open a Web browser and navigate to your system's public IP address. For example, Depending on the system's firewall settings, you may first need to open port `80`/`http`. Refer to the links in the firewall section of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) guide to learn how. {{< /note >}} -Jump ahead to the section on [Applying Custom Nginx Configurations](/cloud/guides/deploying-nginx-docker-container/#applying-custom-nginx-configurations) to take the next step in running your own website through the Nginx container. +Jump ahead to the section on [Applying Custom Nginx Configurations](/cloud/guides/deploying-nginx-docker-container#applying-custom-nginx-configurations) to take the next step in running your own website through the Nginx container. ### Managing the Nginx Container @@ -294,7 +294,7 @@ From there, follow along with the steps below to create a simple Nginx Docker im Once again, you should be able to navigate to your system's public IP address in a Web browser to see your custom website. -To move ahead with more advanced Dockerfile setups, take a look at our guide [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles/). There, you can find a thorough overview of Dockerfile creation and usage. +To move ahead with more advanced Dockerfile setups, take a look at our guide [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles). There, you can find a thorough overview of Dockerfile creation and usage. ## Conclusion diff --git a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-1-installation-and-basic-setup/index.md b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-1-installation-and-basic-setup/index.md index af21d244999..6921e04631e 100644 --- a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-1-installation-and-basic-setup/index.md +++ b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-1-installation-and-basic-setup/index.md @@ -229,4 +229,4 @@ http { ## Part 2: (Slightly More) Advanced Configurations -By now you should have a basic NGINX installation and a some foundational settings to get you started. For slightly more advanced configurations, yet still applicable to anyone hosting a site on a Linode, see Part 2 of this series: [(Slightly more) Advanced Configurations for NGINX](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/) +By now you should have a basic NGINX installation and a some foundational settings to get you started. For slightly more advanced configurations, yet still applicable to anyone hosting a site on a Linode, see Part 2 of this series: [(Slightly more) Advanced Configurations for NGINX](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration) diff --git a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-2-advanced-configuration/index.md b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-2-advanced-configuration/index.md index 1afc014403c..4f0d87c5be9 100644 --- a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-2-advanced-configuration/index.md +++ b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-2-advanced-configuration/index.md @@ -18,7 +18,7 @@ image: Getting-Started-with-NGINX-Part-2-smg.jpg ## Before You Begin -- This guide is Part 2 of our *Getting Started with NGINX* series, and you will need a working NGINX setup with a website accessible via HTTP. If you do not already have that, complete [Part 1: Basic Installation and Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). +- This guide is Part 2 of our *Getting Started with NGINX* series, and you will need a working NGINX setup with a website accessible via HTTP. If you do not already have that, complete [Part 1: Basic Installation and Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup). - You will need root access to the system, or a user account with `sudo` privilege. @@ -169,7 +169,7 @@ You can allow or deny browser features with this header, depending on whether yo To summarize where we are so far: -* We're continuing with the configuration from [Part 1](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/#configuration-recap), so we have a single site being served over HTTP. +* We're continuing with the configuration from [Part 1](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup#configuration-recap), so we have a single site being served over HTTP. * We've added the caching and HTTP header changes mentioned above. @@ -243,4 +243,4 @@ http { ## Part 3: Enable TLS for HTTPS Connections -If a well-running HTTP site is all you're looking for, the configurations in this guide will meet that requirement. If you plan to serve your site over HTTPS, then continue to Part 3 of this series: [Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/). +If a well-running HTTP site is all you're looking for, the configurations in this guide will meet that requirement. If you plan to serve your site over HTTPS, then continue to Part 3 of this series: [Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https). diff --git a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-3-enable-tls-for-https/index.md b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-3-enable-tls-for-https/index.md index 93fd3d8d70a..999b8261759 100644 --- a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-3-enable-tls-for-https/index.md +++ b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-3-enable-tls-for-https/index.md @@ -21,11 +21,11 @@ A single NGINX installation can host multiple websites and any number of them ca ## Before You Begin -* This guide is Part 3 of our *Getting Started with NGINX* series and you will need a working NGINX setup with your site accessible via HTTP. If do not already have that, complete at least [Part 1: Basic Installation and Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) before going further. +* This guide is Part 3 of our *Getting Started with NGINX* series and you will need a working NGINX setup with your site accessible via HTTP. If do not already have that, complete at least [Part 1: Basic Installation and Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) before going further. * You will need root access to the system, or a user account with `sudo` privileges. -* You will need a TLS certificate and key for your site. The certificate can be self-signed if this is a private or internal site, or if you are simply experimenting. Alternatively, use a commercial certificate chain if that's what your site requires. If you don't already have a certificate and server key, see our guides for creating a [self-signed certificate](/cloud/guides/create-a-self-signed-tls-certificate/) or a [certificate signing request](/cloud/guides/obtain-a-commercially-signed-tls-certificate/). +* You will need a TLS certificate and key for your site. The certificate can be self-signed if this is a private or internal site, or if you are simply experimenting. Alternatively, use a commercial certificate chain if that's what your site requires. If you don't already have a certificate and server key, see our guides for creating a [self-signed certificate](/cloud/guides/create-a-self-signed-tls-certificate) or a [certificate signing request](/cloud/guides/obtain-a-commercially-signed-tls-certificate). * If you compiled NGINX from source code, ensure that it was compiled with `--with-http_ssl_module`. Verify in the output of `nginx -V`. @@ -177,4 +177,4 @@ server { Now that you've got NGINX serving your site over HTTPS, do not simply use the above configurations as-is. It only gets HTTPS working on your server and is inherently insecure without further configuration. -To harden your server's handling of TLS connections, continue to Part 4 of this series: [TLS Deployment Best Practices for NGINX](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/). +To harden your server's handling of TLS connections, continue to Part 4 of this series: [TLS Deployment Best Practices for NGINX](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices). diff --git a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-4-tls-deployment-best-practices/index.md b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-4-tls-deployment-best-practices/index.md index b538b6b5677..11a8b5c14d4 100644 --- a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-4-tls-deployment-best-practices/index.md +++ b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-4-tls-deployment-best-practices/index.md @@ -16,7 +16,7 @@ aliases: [] ## Before you Begin -- This guide is Part 4 of our *Getting Started with NGINX* series and you will need a working NGINX setup with a website accessible via HTTPS. If do not already have that, then complete at least [Part 1: Basic Installation and Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) and [Part 3: Enable TLS on NGINX for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) before going further. +- This guide is Part 4 of our *Getting Started with NGINX* series and you will need a working NGINX setup with a website accessible via HTTPS. If do not already have that, then complete at least [Part 1: Basic Installation and Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) and [Part 3: Enable TLS on NGINX for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) before going further. - You will need root access to the system, or a user account with `sudo` privilege. @@ -27,7 +27,7 @@ aliases: [] - To enable any configuration changes you make, you need to run `nginx -s reload` as root. {{< note type="alert" >}} -Most directives in this guide can be added either to NGINX's `http` block, or an individual site's `server` block. The exceptions are `add_header` directives, which are [not inherited](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/#http-response-header-fields). If you're only hosting one website, or if you want all your hosted sites to have the same NGINX parameters, then adding all your `add_header` directives the `http` block is fine. If you intend to use different header options for different site configurations, [see here](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/#http-response-header-fields) for a different approach. +Most directives in this guide can be added either to NGINX's `http` block, or an individual site's `server` block. The exceptions are `add_header` directives, which are [not inherited](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration#http-response-header-fields). If you're only hosting one website, or if you want all your hosted sites to have the same NGINX parameters, then adding all your `add_header` directives the `http` block is fine. If you intend to use different header options for different site configurations, [see here](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration#http-response-header-fields) for a different approach. {{< /note >}} ## Redirect Incoming HTTP Traffic HTTPS @@ -71,7 +71,7 @@ server { For more information on HSTS in NGINX, [see NGINX's blog](https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/). -1. Add the HSTS header directive to the `http` block of `/etc/nginx/nginx.conf`. If you choose to put it elsewhere, remember that HTTP response header fields are [not inherited](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/#http-response-header-fields) from parent blocks. +1. Add the HSTS header directive to the `http` block of `/etc/nginx/nginx.conf`. If you choose to put it elsewhere, remember that HTTP response header fields are [not inherited](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration#http-response-header-fields) from parent blocks. {{< file "/etc/nginx/nginx.conf" nginx >}} add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; @@ -95,7 +95,7 @@ Strict-Transport-Security: max-age=31536000; includeSubDomains A Diffie-Hellman parameter is a set of randomly generated data used when establishing [Perfect Forward Secrecy](https://en.wikipedia.org/wiki/Forward_secrecy) during initiation of an HTTPS connection. The default size is usually 1024 or 2048 bits, depending on the server's OpenSSL version, but a 4096 bit key will provide greater security. -1. Change directories to where you maintain your site's TLS certificates. [From Part 3](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/), we're maintaining the server's certificates out of `/root/certs/example.com/` so we'll continue with that here. +1. Change directories to where you maintain your site's TLS certificates. [From Part 3](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https), we're maintaining the server's certificates out of `/root/certs/example.com/` so we'll continue with that here. cd /root/certs/example.com diff --git a/docs/guides/web-servers/nginx/how-to-configure-http-2-on-nginx/index.md b/docs/guides/web-servers/nginx/how-to-configure-http-2-on-nginx/index.md index 5f53059c580..8d18960ee8d 100644 --- a/docs/guides/web-servers/nginx/how-to-configure-http-2-on-nginx/index.md +++ b/docs/guides/web-servers/nginx/how-to-configure-http-2-on-nginx/index.md @@ -13,7 +13,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: HowtoConfigureHTTP-2onNGINX.jpg --- -[*HTTP/2*](https://en.wikipedia.org/wiki/HTTP/2) updates the original *Hypertext Transfer Protocol* (HTTP) specification to offer improvements in efficiency and latency. The new version includes several other new features while maintaining compatibility with older browsers. Due to the clear advantages of HTTP/2, web servers should be upgraded to use the new version. This guide explains how to configure, use, and test HTTP/2 with an [*NGINX*](https://www.nginx.com/) server. For a deep-dive into the HTTP/2 protocol see our [An Introduction to HTTP/2](/cloud/guides/introducing-http-2/) guide. +[*HTTP/2*](https://en.wikipedia.org/wiki/HTTP/2) updates the original *Hypertext Transfer Protocol* (HTTP) specification to offer improvements in efficiency and latency. The new version includes several other new features while maintaining compatibility with older browsers. Due to the clear advantages of HTTP/2, web servers should be upgraded to use the new version. This guide explains how to configure, use, and test HTTP/2 with an [*NGINX*](https://www.nginx.com/) server. For a deep-dive into the HTTP/2 protocol see our [An Introduction to HTTP/2](/cloud/guides/introducing-http-2) guide. ## Before You Begin @@ -24,7 +24,7 @@ image: HowtoConfigureHTTP-2onNGINX.jpg 1. Ensure you possess a Fully Qualified Domain Name (FQDN) for the website. The DNS records for the site must point to the Linode server. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## A Summary of the NGINX and HTTP/2 Configuration Process @@ -37,7 +37,7 @@ The following high-level steps are necessary to configure HTTP/2 on NGINX. These ### Install NGINX -The following instructions install the NGINX environment required to support HTTP/2 and encryption. If NGINX is already installed, skip this section and proceed to the [Enable HTTPS Using Certbot and Let's Encrypt Certificates](/cloud/guides/how-to-configure-http-2-on-nginx/#enable-https-using-certbot-and-lets-encrypt-certificates) step. For more information about NGINX, consult the Linode's [How to Configure NGINX](/cloud/guides/how-to-configure-nginx/) guide. +The following instructions install the NGINX environment required to support HTTP/2 and encryption. If NGINX is already installed, skip this section and proceed to the [Enable HTTPS Using Certbot and Let's Encrypt Certificates](/cloud/guides/how-to-configure-http-2-on-nginx#enable-https-using-certbot-and-lets-encrypt-certificates) step. For more information about NGINX, consult the Linode's [How to Configure NGINX](/cloud/guides/how-to-configure-nginx) guide. 1. Update the system packages to pick up the newest version of NGINX. Reboot the system if advised to do so. @@ -65,7 +65,7 @@ The following instructions install the NGINX environment required to support HTT sudo ufw enable {{< note >}} -You should configure a location block for the domain. This structure is mandatory if there is more than one domain on the Linode. See Linode's [How to Configure NGINX](/cloud/guides/how-to-configure-nginx/) guide for complete instructions. +You should configure a location block for the domain. This structure is mandatory if there is more than one domain on the Linode. See Linode's [How to Configure NGINX](/cloud/guides/how-to-configure-nginx) guide for complete instructions. {{< /note >}} ### Enable HTTPS Using Certbot and Let's Encrypt Certificates diff --git a/docs/guides/web-servers/nginx/how-to-install-and-use-nginx-on-ubuntu-20-04/index.md b/docs/guides/web-servers/nginx/how-to-install-and-use-nginx-on-ubuntu-20-04/index.md index 7c071db850b..5a7b1fb0022 100644 --- a/docs/guides/web-servers/nginx/how-to-install-and-use-nginx-on-ubuntu-20-04/index.md +++ b/docs/guides/web-servers/nginx/how-to-install-and-use-nginx-on-ubuntu-20-04/index.md @@ -28,7 +28,7 @@ aliases: [] 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install NGINX @@ -48,7 +48,7 @@ This guide is written for non-root users. Commands that require elevated privile sudo ufw allow http sudo ufw reload - Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide for more on how to use UFW for managing your firewall. + Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide for more on how to use UFW for managing your firewall. 1. Visit the default NGINX page to see your installation in action. You can find it by navigating to your server's domain name or its IP address. @@ -159,11 +159,11 @@ server { ## Conclusion -To learn more about NGINX's features and capabilities, check out our [A Comparison of the NGINX and Apache Web Servers](/cloud/guides/comparing-nginx-and-apache-web-servers/) guide. +To learn more about NGINX's features and capabilities, check out our [A Comparison of the NGINX and Apache Web Servers](/cloud/guides/comparing-nginx-and-apache-web-servers) guide. For more advanced configuration options, including security and performance optimizations and TLS setup, see our four-part series on NGINX. -- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/) -- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) -- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) +- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) +- [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration) +- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) +- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices) diff --git a/docs/guides/web-servers/nginx/how-to-install-nginx-centos-8/index.md b/docs/guides/web-servers/nginx/how-to-install-nginx-centos-8/index.md index 9b8045808af..2443373a774 100644 --- a/docs/guides/web-servers/nginx/how-to-install-nginx-centos-8/index.md +++ b/docs/guides/web-servers/nginx/how-to-install-nginx-centos-8/index.md @@ -143,9 +143,9 @@ http { - For more advanced configuration options, including security and performance optimizations and TLS setup, see our four-part series on NGINX: - - [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) - - [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/) - - [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) - - [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) + - [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) + - [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration) + - [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) + - [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices) -- Changes to your NGINX configurations may require updates to your SELinux policies and contexts. For an introduction to SELinux, see our [Getting Started with SELinux](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7/) guide. +- Changes to your NGINX configurations may require updates to your SELinux policies and contexts. For an introduction to SELinux, see our [Getting Started with SELinux](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7) guide. diff --git a/docs/guides/web-servers/nginx/how-to-install-nginx-debian-10/index.md b/docs/guides/web-servers/nginx/how-to-install-nginx-debian-10/index.md index d9a26fa75f9..16ee0592020 100644 --- a/docs/guides/web-servers/nginx/how-to-install-nginx-debian-10/index.md +++ b/docs/guides/web-servers/nginx/how-to-install-nginx-debian-10/index.md @@ -109,7 +109,7 @@ server { For more advanced configuration options, including security and performance optimizations and TLS setup, see our four-part series on NGINX: -- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/) -- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) -- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) +- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) +- [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration) +- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) +- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices) diff --git a/docs/guides/web-servers/nginx/how-to-install-nginx-ubuntu-18-04/index.md b/docs/guides/web-servers/nginx/how-to-install-nginx-ubuntu-18-04/index.md index 69f9784762b..7ea924922aa 100644 --- a/docs/guides/web-servers/nginx/how-to-install-nginx-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/nginx/how-to-install-nginx-ubuntu-18-04/index.md @@ -110,7 +110,7 @@ server { For more advanced configuration options, including security and performance optimizations and TLS setup, see our four-part series on NGINX: -- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/) -- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) -- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) +- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) +- [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration) +- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) +- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices) diff --git a/docs/guides/web-servers/nginx/install-and-configure-nginx-and-php-fastcgi-on-ubuntu-16-04/index.md b/docs/guides/web-servers/nginx/install-and-configure-nginx-and-php-fastcgi-on-ubuntu-16-04/index.md index f9dec9ffc3d..711ac533c36 100644 --- a/docs/guides/web-servers/nginx/install-and-configure-nginx-and-php-fastcgi-on-ubuntu-16-04/index.md +++ b/docs/guides/web-servers/nginx/install-and-configure-nginx-and-php-fastcgi-on-ubuntu-16-04/index.md @@ -13,7 +13,7 @@ external_resources: - '[The nginx Homepage](http://nginx.org/)' - '[FastCGI article on Wikipedia](https://en.wikipedia.org/wiki/FastCGI)' - '[PHP Documentation](http://www.php.net/docs.php)' - - '[How to Configure Ngnix](/cloud/guides/how-to-configure-nginx/)' + - '[How to Configure Ngnix](/cloud/guides/how-to-configure-nginx)' relations: platform: key: nginx-php-fastcgi @@ -26,7 +26,7 @@ The nginx web server is a fast, lightweight server designed to efficiently handl ![Install and configure nginx and PHP-FastCGI on Ubuntu 16.04](nginx-php-fcgi-tg.png "Install and configure nginx and PHP-FastCGI on Ubuntu 16.04") {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -40,7 +40,7 @@ The steps in this guide require root privileges. Be sure to run the steps below The first command shows your short hostname, and the second shows your fully qualified domain name (FQDN). -- If you are new to Linux systems administration, you may want to consider the [Introduction to Linux Concepts](/cloud/guides/introduction-to-linux-concepts/) guide and the [Linux Administration Basics](/cloud/guides/linux-system-administration-basics/) guide. +- If you are new to Linux systems administration, you may want to consider the [Introduction to Linux Concepts](/cloud/guides/introduction-to-linux-concepts) guide and the [Linux Administration Basics](/cloud/guides/linux-system-administration-basics) guide. - Update your system: diff --git a/docs/guides/web-servers/nginx/install-and-use-nginx-on-almalinux-8/index.md b/docs/guides/web-servers/nginx/install-and-use-nginx-on-almalinux-8/index.md index 8245c9d850c..eed8a44bc29 100644 --- a/docs/guides/web-servers/nginx/install-and-use-nginx-on-almalinux-8/index.md +++ b/docs/guides/web-servers/nginx/install-and-use-nginx-on-almalinux-8/index.md @@ -28,7 +28,7 @@ relations: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install NGINX @@ -48,7 +48,7 @@ This guide is written for non-root users. Commands that require elevated privile sudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --reload - Refer to our [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) for more on how to use FirewallD for managing your server's firewall. + Refer to our [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos) for more on how to use FirewallD for managing your server's firewall. 1. Visit the default NGINX page to see your installation in action. You can find it by navigating to your server's domain name or its IP address. @@ -175,11 +175,11 @@ server { ## Conclusion -To learn more about NGINX's features and capabilities, check out our [A Comparison of the NGINX and Apache Web Servers](/cloud/guides/comparing-nginx-and-apache-web-servers/) guide. +To learn more about NGINX's features and capabilities, check out our [A Comparison of the NGINX and Apache Web Servers](/cloud/guides/comparing-nginx-and-apache-web-servers) guide. For more advanced configuration options, including security and performance optimizations and TLS setup, see our four-part Getting Started series on NGINX. -- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/) -- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) -- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) +- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) +- [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration) +- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) +- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices) diff --git a/docs/guides/web-servers/nginx/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/web-servers/nginx/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin/index.md index ccd64b0911d..b01cdbaeb19 100644 --- a/docs/guides/web-servers/nginx/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/web-servers/nginx/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin/index.md @@ -276,4 +276,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/install-nginx-centos/index.md b/docs/guides/web-servers/nginx/install-nginx-centos/index.md index a82216f1cb9..77b779a5189 100644 --- a/docs/guides/web-servers/nginx/install-nginx-centos/index.md +++ b/docs/guides/web-servers/nginx/install-nginx-centos/index.md @@ -18,7 +18,7 @@ tags: ["web server","nginx"] aliases: [] --- -These instructions install NGINX Mainline on CentOS 7 from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/)* series. +These instructions install NGINX Mainline on CentOS 7 from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup)* series. 1. Create the file `/etc/yum.repos.d/nginx.repo` in a text editor and add the following: diff --git a/docs/guides/web-servers/nginx/install-nginx-debian/index.md b/docs/guides/web-servers/nginx/install-nginx-debian/index.md index be1aa900b57..9fec8b70db7 100644 --- a/docs/guides/web-servers/nginx/install-nginx-debian/index.md +++ b/docs/guides/web-servers/nginx/install-nginx-debian/index.md @@ -16,7 +16,7 @@ tags: ["web server","nginx"] aliases: [] --- -These instructions install NGINX Mainline on Debian 9 from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/)* series. +These instructions install NGINX Mainline on Debian 9 from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup)* series. 1. Open `/etc/apt/sources.list` in a text editor and add the following line to the bottom: diff --git a/docs/guides/web-servers/nginx/install-nginx-ubuntu-ppa/index.md b/docs/guides/web-servers/nginx/install-nginx-ubuntu-ppa/index.md index 4d515b9c452..a590b553cf1 100644 --- a/docs/guides/web-servers/nginx/install-nginx-ubuntu-ppa/index.md +++ b/docs/guides/web-servers/nginx/install-nginx-ubuntu-ppa/index.md @@ -14,7 +14,7 @@ tags: ["web server","nginx"] aliases: [] --- -These steps install NGINX Mainline on Ubuntu from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/)* series. +These steps install NGINX Mainline on Ubuntu from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup)* series. 1. Open `/etc/apt/sources.list` in a text editor and add the following line to the bottom. Replace `CODENAME` in this example with the codename of your Ubuntu release. For example, for Ubuntu 18.04, named Bionic Beaver, insert `bionic` in place of `CODENAME` below: diff --git a/docs/guides/web-servers/nginx/installing-nginx-on-ubuntu-12-04-lts-precise-pangolin/index.md b/docs/guides/web-servers/nginx/installing-nginx-on-ubuntu-12-04-lts-precise-pangolin/index.md index 3805fbbf4f6..f4d072af54d 100644 --- a/docs/guides/web-servers/nginx/installing-nginx-on-ubuntu-12-04-lts-precise-pangolin/index.md +++ b/docs/guides/web-servers/nginx/installing-nginx-on-ubuntu-12-04-lts-precise-pangolin/index.md @@ -11,10 +11,10 @@ tags: ["web server","ubuntu","nginx"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: [] external_resources: - - '[Linode nginx Documentation](/cloud/guides/web-servers/nginx/)' + - '[Linode nginx Documentation](/cloud/guides/web-servers/nginx)' - '[nginx Community Documentation](http://wiki.nginx.org)' - - '[Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/)' - - '[Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/)' + - '[Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid)' + - '[Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid)' relations: platform: key: how-to-install-nginx @@ -23,10 +23,10 @@ relations: deprecated: true --- -Nginx is a lightweight, high performance web server designed to deliver large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache server](/cloud/guides/web-servers/apache/), Nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight, high performance web server designed to deliver large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache server](/cloud/guides/web-servers/apache), Nginx uses an asynchronous event-driven model which provides more predictable performance under load. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -256,4 +256,4 @@ Regardless of installation source or method, Nginx can be tested by navigating t ![Nginx welcome](nginx-welcome.png) -Continue reading our introduction to [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up a web server. +Continue reading our introduction to [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) for more information about using and setting up a web server. diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-arch-linux/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-arch-linux/index.md index f3ff66d7bf6..b9961c418fe 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-arch-linux/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-arch-linux/index.md @@ -160,4 +160,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-centos-5/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-centos-5/index.md index 5a24c3e744d..1b575f021c7 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-centos-5/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-centos-5/index.md @@ -14,8 +14,8 @@ external_resources: - '[The nginx Homepage](http://nginx.org/)' - '[FastCGI Project Homepage](http://www.fastcgi.com/)' - '[Perl Documentation](http://perldoc.perl.org/)' - - '[Installing Nginx on CentOS 5](/cloud/guides/websites-with-nginx-on-centos-5/)' - - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx/)' + - '[Installing Nginx on CentOS 5](/cloud/guides/websites-with-nginx-on-centos-5)' + - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx)' relations: platform: key: nginx-perl-fastcgi diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-5-lenny/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-5-lenny/index.md index 09b695b4635..b096c804966 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-5-lenny/index.md @@ -132,5 +132,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Installing NGINX on Debian 5 (Lenny)](/cloud/guides/websites-with-nginx-on-debian-5-lenny/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Installing NGINX on Debian 5 (Lenny)](/cloud/guides/websites-with-nginx-on-debian-5-lenny) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-6-squeeze/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-6-squeeze/index.md index 65332c47b25..77568ebc526 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-6-squeeze/index.md @@ -181,4 +181,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-12/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-12/index.md index 41ca5d43916..f5c0a4732a1 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-12/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-12/index.md @@ -155,5 +155,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Installing NGINX on Fedora 12](/cloud/guides/websites-with-nginx-on-fedora-12/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 12](/cloud/guides/websites-with-nginx-on-fedora-12) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-13/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-13/index.md index e548d9e0367..c4472147598 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-13/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-13/index.md @@ -153,5 +153,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Installing NGINX on Fedora 13](/cloud/guides/websites-with-nginx-on-fedora-13/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 13](/cloud/guides/websites-with-nginx-on-fedora-13) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-14/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-14/index.md index b91f9ac0283..a22ff4415a7 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-14/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-14/index.md @@ -349,5 +349,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Installing NGINX on Fedora 14](/cloud/guides/websites-with-nginx-on-fedora-14/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 14](/cloud/guides/websites-with-nginx-on-fedora-14) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/index.md index 93718f322d2..8cc6cf1dac8 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/index.md @@ -199,4 +199,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick/index.md index 03b24dd9ab4..b5ecad9dd02 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick/index.md @@ -181,4 +181,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-11-04-natty/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-11-04-natty/index.md index 71cc13008c9..7823fc9cf2d 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-11-04-natty/index.md @@ -180,4 +180,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-12-04-lts-precise-pangolin/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-12-04-lts-precise-pangolin/index.md index ea135863ef0..d9e48d8b298 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-12-04-lts-precise-pangolin/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-12-04-lts-precise-pangolin/index.md @@ -13,7 +13,7 @@ external_resources: - '[The nginx Homepage](http://nginx.org/)' - '[FastCGI Project Homepage](http://www.fastcgi.com/)' - '[Perl Documentation](http://perldoc.perl.org/)' - - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx/)' + - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx)' relations: platform: key: nginx-perl-fastcgi diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic/index.md index b8592e83fa8..ccf85f92306 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic/index.md @@ -115,7 +115,7 @@ You may wish to create a test HTML page under `/srv/www/www.example.com/public_h ## Configure spawn-fcgi -Install the Perl module for FastCGI using the [CPAN Minus](/cloud/guides/manage-cpan-modules-with-cpan-minus/) interface for CPAN. Install CPAN Minus and FCGI by issuing the following sequence of commands: +Install the Perl module for FastCGI using the [CPAN Minus](/cloud/guides/manage-cpan-modules-with-cpan-minus) interface for CPAN. Install CPAN Minus and FCGI by issuing the following sequence of commands: cd /opt/ curl https://github.com/miyagawa/cpanminus/raw/master/cpanm > cpanm @@ -172,5 +172,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Installing NGINX on Ubuntu 9.10 (Karmic)](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Installing NGINX on Ubuntu 9.10 (Karmic)](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-arch-linux/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-arch-linux/index.md index 5f8b0f5c058..cc1ede0f4e7 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-arch-linux/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-arch-linux/index.md @@ -162,4 +162,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-centos-5/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-centos-5/index.md index 171d98fe291..04c21a0d74c 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-centos-5/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-centos-5/index.md @@ -14,8 +14,8 @@ external_resources: - '[The nginx Homepage](http://nginx.org/)' - '[FastCGI Project Homepage](http://www.fastcgi.com/)' - '[PHP Documentation](http://www.php.net/docs.php)' - - '[Installing Nginx on CentOS 5](/cloud/guides/websites-with-nginx-on-centos-5/)' - - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx/)' + - '[Installing Nginx on CentOS 5](/cloud/guides/websites-with-nginx-on-centos-5)' + - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx)' relations: platform: key: nginx-php-fastcgi diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-5-lenny/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-5-lenny/index.md index 8be5324362b..af64174e36c 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-5-lenny/index.md @@ -152,5 +152,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Installing Nginx on Debian 5 (Lenny)](/cloud/guides/websites-with-nginx-on-debian-5-lenny/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Installing Nginx on Debian 5 (Lenny)](/cloud/guides/websites-with-nginx-on-debian-5-lenny) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-6-squeeze/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-6-squeeze/index.md index f238cf77b69..d7d329e2f40 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-6-squeeze/index.md @@ -277,4 +277,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-12/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-12/index.md index 816f2cdb886..e0b18106a4c 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-12/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-12/index.md @@ -165,5 +165,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Installing NGINX on Fedora 12](/cloud/guides/websites-with-nginx-on-fedora-12/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 12](/cloud/guides/websites-with-nginx-on-fedora-12) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-13/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-13/index.md index ce07703869d..414f2f65123 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-13/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-13/index.md @@ -165,5 +165,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Installing NGINX on Fedora 13](/cloud/guides/websites-with-nginx-on-fedora-13/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 13](/cloud/guides/websites-with-nginx-on-fedora-13) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-14/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-14/index.md index d4913c8ed7d..b924cc752c7 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-14/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-14/index.md @@ -158,5 +158,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Installing NGINX on Fedora 14](/cloud/guides/websites-with-nginx-on-fedora-14/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 14](/cloud/guides/websites-with-nginx-on-fedora-14) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md index 5466a986226..0136149765a 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md @@ -277,4 +277,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick/index.md index f943da2fcf1..57b6a87e0b9 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick/index.md @@ -277,4 +277,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-11-04-natty/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-11-04-natty/index.md index 9fbb34bccf4..86adf4bcbfe 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-11-04-natty/index.md @@ -277,4 +277,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/index.md index ee4cca0c7ce..0faaf862c17 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/index.md @@ -171,5 +171,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Installing Nginx on Ubuntu 9.10 (Karmic)](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic/) -- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) +- [Installing Nginx on Ubuntu 9.10 (Karmic)](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx) diff --git a/docs/guides/web-servers/nginx/nginx-phpfastcgi-ubuntu-14-04/index.md b/docs/guides/web-servers/nginx/nginx-phpfastcgi-ubuntu-14-04/index.md index 5e61ad4fd73..5d4e8f4fad5 100644 --- a/docs/guides/web-servers/nginx/nginx-phpfastcgi-ubuntu-14-04/index.md +++ b/docs/guides/web-servers/nginx/nginx-phpfastcgi-ubuntu-14-04/index.md @@ -13,7 +13,7 @@ external_resources: - '[The nginx Homepage](http://nginx.org/)' - '[FastCGI Project Homepage](http://www.fastcgi.com/)' - '[PHP Documentation](http://www.php.net/docs.php)' - - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx/)' + - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx)' relations: platform: key: nginx-php-fastcgi diff --git a/docs/guides/web-servers/nginx/serve-php-php-fpm-and-nginx/index.md b/docs/guides/web-servers/nginx/serve-php-php-fpm-and-nginx/index.md index 6dc33de7a49..608d2f19669 100644 --- a/docs/guides/web-servers/nginx/serve-php-php-fpm-and-nginx/index.md +++ b/docs/guides/web-servers/nginx/serve-php-php-fpm-and-nginx/index.md @@ -19,7 +19,7 @@ The [PHP Fast Process Manager](https://php-fpm.org/) is a [FastCGI](https://en.w ## Before You Begin -- **You need a working NGINX setup.** If you do not already have that, complete Part 1 of our Getting Started with NGINX series: [*Basic Installation and Setup*](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). +- **You need a working NGINX setup.** If you do not already have that, complete Part 1 of our Getting Started with NGINX series: [*Basic Installation and Setup*](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup). - You will need root access to the system, or a user account with `sudo` privileges. @@ -46,7 +46,7 @@ The [PHP Fast Process Manager](https://php-fpm.org/) is a [FastCGI](https://en.w /etc/php/7.0/fpm/pool.d/www.conf /etc/php/7.0/cli/php.ini -3. The `listen.owner` and `listen.group` directives determines owner for PHP-FPM socket. Those are set to `www-data` by default, but they need to match the user and group NGINX is running as. If you installed NGINX using our [*Getting Started with NGINX*](/cloud/guides/web-servers/) series, then your setup will be using the `nginx` user and group. You can verify with: +3. The `listen.owner` and `listen.group` directives determines owner for PHP-FPM socket. Those are set to `www-data` by default, but they need to match the user and group NGINX is running as. If you installed NGINX using our [*Getting Started with NGINX*](/cloud/guides/web-servers) series, then your setup will be using the `nginx` user and group. You can verify with: ps -aux | grep nginx @@ -84,7 +84,7 @@ The [PHP Fast Process Manager](https://php-fpm.org/) is a [FastCGI](https://en.w ## Configure the NGINX Server Block -1. Again pulling from [Part 1 of our NGINX series](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/#configuration-recap), we'll start with a basic Server Block for a static HTTP page being served from `/var/www/example.com`. Replace `example.com` with your site's domain or IP address, and the `root` directive with your site's root directory. +1. Again pulling from [Part 1 of our NGINX series](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup#configuration-recap), we'll start with a basic Server Block for a static HTTP page being served from `/var/www/example.com`. Replace `example.com` with your site's domain or IP address, and the `root` directive with your site's root directory. {{< file "/etc/nginx/conf.d/example.com.conf" nginx >}} server { diff --git a/docs/guides/web-servers/nginx/use-nginx-reverse-proxy/index.md b/docs/guides/web-servers/nginx/use-nginx-reverse-proxy/index.md index 8a5f3dbcbff..2c789e0f15b 100644 --- a/docs/guides/web-servers/nginx/use-nginx-reverse-proxy/index.md +++ b/docs/guides/web-servers/nginx/use-nginx-reverse-proxy/index.md @@ -268,4 +268,4 @@ Follow these steps to get a certificate via Certbot. Certbot will automatically ## Next Steps -For more information about general NGINX configuration, see our [NGINX series](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). For practical examples of NGINX used to reverse proxy applications, see our guides on [RStudio Server](/cloud/guides/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/) and [Thingsboard](/cloud/guides/install-thingsboard-iot-dashboard/). \ No newline at end of file +For more information about general NGINX configuration, see our [NGINX series](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup). For practical examples of NGINX used to reverse proxy applications, see our guides on [RStudio Server](/cloud/guides/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy) and [Thingsboard](/cloud/guides/install-thingsboard-iot-dashboard). \ No newline at end of file diff --git a/docs/guides/web-servers/nginx/use-uwsgi-to-deploy-python-apps-with-nginx-on-ubuntu-12-04/index.md b/docs/guides/web-servers/nginx/use-uwsgi-to-deploy-python-apps-with-nginx-on-ubuntu-12-04/index.md index 15cadb66acc..1162d2056ae 100644 --- a/docs/guides/web-servers/nginx/use-uwsgi-to-deploy-python-apps-with-nginx-on-ubuntu-12-04/index.md +++ b/docs/guides/web-servers/nginx/use-uwsgi-to-deploy-python-apps-with-nginx-on-ubuntu-12-04/index.md @@ -164,7 +164,7 @@ You can test by pointing a web browser to your domain. If you see `Hello World!` ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances. These instances run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances. These instances run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -201,6 +201,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Ubuntu 12.04 (Precise Pangolin)](/cloud/guides/apache-web-server-ubuntu-12-04/) -- [Deploy a LEMP Server on Ubuntu 12.04 (Precise Pangolin)](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04/) -- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Ubuntu 12.04 (Precise Pangolin)](/cloud/guides/apache-web-server-ubuntu-12-04) +- [Deploy a LEMP Server on Ubuntu 12.04 (Precise Pangolin)](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/nginx/using-nginx-proxy-manager/index.md b/docs/guides/web-servers/nginx/using-nginx-proxy-manager/index.md index 5b2567c6d0f..6b352d70e8d 100644 --- a/docs/guides/web-servers/nginx/using-nginx-proxy-manager/index.md +++ b/docs/guides/web-servers/nginx/using-nginx-proxy-manager/index.md @@ -25,7 +25,7 @@ This tutorial introduces the Nginx Proxy Manager and illustrates how to start us 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is the Nginx Proxy Manager? @@ -207,7 +207,7 @@ With the prerequisites in place, start up the Nginx Proxy Manager. This calls fo The Docker Compose configuration above contains an optional feature. The `proxiable` network allows you to run the Nginx Proxy Manager within the same Docker network as other services. This gives you the option of easy and secure communications between the proxy manager and your Docker services. -The example Grafana setup in the [How to Expose a Service through the Nginx Proxy Manager](/cloud/guides/using-nginx-proxy-manager/#how-to-expose-a-service-through-the-nginx-proxy-manager) section later in this guide leverages this feature. See the included Docker Compose configuration for how the network is included in the service. +The example Grafana setup in the [How to Expose a Service through the Nginx Proxy Manager](/cloud/guides/using-nginx-proxy-manager#how-to-expose-a-service-through-the-nginx-proxy-manager) section later in this guide leverages this feature. See the included Docker Compose configuration for how the network is included in the service. ### Accessing the Nginx Proxy Manager Interface @@ -304,7 +304,7 @@ GRAFANA_ADMIN_PASSWORD=adminpass With your service running, return to the Nginx Proxy Manager interface. There, add a proxy host for the service, creating a reverse proxy that forwards traffic from the domain to the service. -1. Access the Nginx Proxy Manager interface as previously shown in the [Accessing the Nginx Proxy Manager Interface](/cloud/guides/using-nginx-proxy-manager/#accessing-the-nginx-proxy-manager-interface) section. +1. Access the Nginx Proxy Manager interface as previously shown in the [Accessing the Nginx Proxy Manager Interface](/cloud/guides/using-nginx-proxy-manager#accessing-the-nginx-proxy-manager-interface) section. 1. Navigate to the **Proxy Hosts** page. Get there either using the **Proxy Hosts** button from the **Dashboard** or via the **Hosts > Proxy Hosts** option from the top menu bar. diff --git a/docs/guides/web-servers/nginx/using-openresty/index.md b/docs/guides/web-servers/nginx/using-openresty/index.md index e1c64cd5a54..3881e5da239 100644 --- a/docs/guides/web-servers/nginx/using-openresty/index.md +++ b/docs/guides/web-servers/nginx/using-openresty/index.md @@ -23,7 +23,7 @@ Learn in this guide everything you need to know about OpenResty and how to insta 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is OpenResty? @@ -42,7 +42,7 @@ OpenResty is meant to allow your entire app within NXINGX. This makes OpenResty However, there are some use cases that do not take advantage of the extra features of OpenResty. For instance, your web application may not need the additional NGINX modules, or Lua scripting offered by OpenResty. Such cases do not warrant changing over to OpenResty from NGINX, although they could still operate on OpenResty's NGINX core. -Since OpenResty is essentially an enhanced version of NGINX, comparisons between NGINX and Apache apply to OpenResty vs Apache. Thus, you can learn more about how it would compare with Apache through our guide [A Comparison of the NGINX and Apache Web Servers](/cloud/guides/comparing-nginx-and-apache-web-servers/). +Since OpenResty is essentially an enhanced version of NGINX, comparisons between NGINX and Apache apply to OpenResty vs Apache. Thus, you can learn more about how it would compare with Apache through our guide [A Comparison of the NGINX and Apache Web Servers](/cloud/guides/comparing-nginx-and-apache-web-servers). ## How to Install OpenResty diff --git a/docs/guides/web-servers/nginx/web-servers-list/index.md b/docs/guides/web-servers/nginx/web-servers-list/index.md index dfed1c42d5c..aa032b42815 100644 --- a/docs/guides/web-servers/nginx/web-servers-list/index.md +++ b/docs/guides/web-servers/nginx/web-servers-list/index.md @@ -34,11 +34,11 @@ To get started with the Apache HTTP server, you can consult our extensive librar ### Caddy Web Server -The [Caddy web server](https://caddyserver.com/) is an open source and free web server developed by Matthew Holt. Caddy runs on Linux, Unix, FreeBSD, macOS, and Microsoft Windows. Caddy automatically uses secure communications with HTTPS and TLS being the defaults. According to Caddy, the server is easy to configure, fast to deploy, and it will run in a variety of environments, including in containers without modification. It’s written in the Go language. Caddy supports HTTP/2, IPv6, reverse proxy and load balancing. Caddy version 2 is now available, which the company says removes some previous limitations. To learn how to install Caddy, refer to our [guides on the Caddy web server](/cloud/guides/web-servers/caddy/). +The [Caddy web server](https://caddyserver.com/) is an open source and free web server developed by Matthew Holt. Caddy runs on Linux, Unix, FreeBSD, macOS, and Microsoft Windows. Caddy automatically uses secure communications with HTTPS and TLS being the defaults. According to Caddy, the server is easy to configure, fast to deploy, and it will run in a variety of environments, including in containers without modification. It’s written in the Go language. Caddy supports HTTP/2, IPv6, reverse proxy and load balancing. Caddy version 2 is now available, which the company says removes some previous limitations. To learn how to install Caddy, refer to our [guides on the Caddy web server](/cloud/guides/web-servers/caddy). ### Eclipse Jetty Webserver -[Eclipse Jetty](https://www.eclipse.org/jetty/) is a free and open source HTTP server, HTTP client, and java servlet container that runs under Java and Jakarta. The server can be used on Linux, Unix, and Microsoft Windows and any other operating system that supports Java applications. Jetty is designed to handle large numbers of connections simultaneously while retaining a small footprint. Jetty can run in containers and on cloud services, and it can be embedded in other applications. Jetty is used as the web server component in other open source projects including [Hadoop](/cloud/guides/how-to-install-and-set-up-hadoop-cluster/), OpenNMS, and Eucalyptus. There are several versions of Jetty depending on what version of Java or Jakarta you’re using. Jetty is hosted by the [Eclipse Foundation](https://www.eclipse.org/org/). +[Eclipse Jetty](https://www.eclipse.org/jetty/) is a free and open source HTTP server, HTTP client, and java servlet container that runs under Java and Jakarta. The server can be used on Linux, Unix, and Microsoft Windows and any other operating system that supports Java applications. Jetty is designed to handle large numbers of connections simultaneously while retaining a small footprint. Jetty can run in containers and on cloud services, and it can be embedded in other applications. Jetty is used as the web server component in other open source projects including [Hadoop](/cloud/guides/how-to-install-and-set-up-hadoop-cluster), OpenNMS, and Eucalyptus. There are several versions of Jetty depending on what version of Java or Jakarta you’re using. Jetty is hosted by the [Eclipse Foundation](https://www.eclipse.org/org/). ### H2O Web Server @@ -60,11 +60,11 @@ The [Lighttpd web server](https://www.lighttpd.net/) (pronounced “lighty”) i [NGINX](https://www.nginx.com/) (pronounced “Engine X”) is considered by many to be a preferred alternative to Apache. It’s a free and open source web server with a wide variety of other capabilities including load balancing, mail proxy, and the ability to provide predictable performance under heavy loads. While the total number of web sites using NGINX is smaller than the number using IIS, NGINX appears on a greater number of large sites, and depending on how you count, it may be as many as Apache. NGINX runs on a number of high-profile sites including Microsoft and IBM, each of which have their own web server software. The server handles a large number of concurrent users using an event-driven approach that avoids multiple threading. NGINX handles secure communications with TLS/SSL and minimizes memory usage. -While NGINX is free and open source, there’s also a company of the same name that’s part of F5 as the [F5 NGINX Application Platform](https://www.nginx.com/products/), which is not free. However, the commercial version provides a number of enterprise level enhancements including security and scalability. Refer to our documentation library to [learn how to install and configure an NGINX web server on Linux](/cloud/guides/web-servers/nginx/). +While NGINX is free and open source, there’s also a company of the same name that’s part of F5 as the [F5 NGINX Application Platform](https://www.nginx.com/products/), which is not free. However, the commercial version provides a number of enterprise level enhancements including security and scalability. Refer to our documentation library to [learn how to install and configure an NGINX web server on Linux](/cloud/guides/web-servers/nginx). ### Node.js -[Node.js](https://nodejs.org/en/) is not a web server itself. It’s the underlying software for web servers built on JavaScript. Node.js provides the modules for networking, security, and other data functions. It allows concurrent operations in the web server software. Node.js is available for Linux, macOS, Microsoft Windows, IBM AIX, FreeBSD, and Open BSD. Libraries for Node.js are widely available on cloud hosting platforms. Get started using Node.js by [installing the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm/). +[Node.js](https://nodejs.org/en/) is not a web server itself. It’s the underlying software for web servers built on JavaScript. Node.js provides the modules for networking, security, and other data functions. It allows concurrent operations in the web server software. Node.js is available for Linux, macOS, Microsoft Windows, IBM AIX, FreeBSD, and Open BSD. Libraries for Node.js are widely available on cloud hosting platforms. Get started using Node.js by [installing the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm). ### OpenLiteSpeed Web Server diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-arch-linux/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-arch-linux/index.md index eadf796b985..f8143699279 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-arch-linux/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-arch-linux/index.md @@ -18,9 +18,9 @@ tags: ["web server","nginx"] deprecated: true --- -Nginx is a lightweight and high performance web server, designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache/), which uses a threaded or process-oriented approach to handling requests, NGINX uses an asynchronous event-driven model to provide more predictable performance under load. +Nginx is a lightweight and high performance web server, designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache), which uses a threaded or process-oriented approach to handling requests, NGINX uses an asynchronous event-driven model to provide more predictable performance under load. -Before you begin installing the NGINX web server, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and our [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before you begin installing the NGINX web server, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and our [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -54,13 +54,13 @@ To start the server for the first time, use the following command: /etc/rc.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by NGINX. Continue reading our introduction to [basic NGINX configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by NGINX. Continue reading our introduction to [basic NGINX configuration](/cloud/guides/how-to-configure-nginx) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs NGINX Documentation](/cloud/guides/web-servers/nginx/) +- [Linode Docs NGINX Documentation](/cloud/guides/web-servers/nginx) - [NGINX Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with NGINX](/cloud/guides/nginx-and-perlfastcgi-on-arch-linux/) -- [Configure PHP and FastCGI with NGINX](/cloud/guides/nginx-and-phpfastcgi-on-arch-linux/) +- [Configure Perl and FastCGI with NGINX](/cloud/guides/nginx-and-perlfastcgi-on-arch-linux) +- [Configure PHP and FastCGI with NGINX](/cloud/guides/nginx-and-phpfastcgi-on-arch-linux) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-centos-5/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-centos-5/index.md index a2f42715e34..3492dcf8bef 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-centos-5/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-centos-5/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. Although nginx is a relatively new entrant in the web server field, it has achieved a great deal of respect for its agility and efficiency, particularly in high profile situations. Many very high traffic and profile websites have begun to use nginx for its efficiency. At the same time, administrators of smaller systems have found nginx ideal for their systems for its slim memory footprint. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -48,7 +48,7 @@ During the installation process you will need to accept the EPEL repository's ke /etc/init.d/nginx start -You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the EPEL maintainers to provide quality control, testing, and security teams to ensure that you're running the best possible version of the server. However, the packages provided by the EPEL project do not necessarily track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. +You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx) of nginx. Installing nginx in this manner will allow you to rely on the EPEL maintainers to provide quality control, testing, and security teams to ensure that you're running the best possible version of the server. However, the packages provided by the EPEL project do not necessarily track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. # Installing nginx from the Source Distribution @@ -128,14 +128,14 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx) for more information about using and setting up the web server. # More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx) - [nginx Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-centos-5/) -- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-centos-5/) -- [Configure Ruby on Rails with nginx](/cloud/guides/ruby-on-rails-with-nginx-on-centos-5/) +- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-centos-5) +- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-centos-5) +- [Configure Ruby on Rails with nginx](/cloud/guides/ruby-on-rails-with-nginx-on-centos-5) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-5-lenny/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-5-lenny/index.md index 4c472671290..2dea3fc67aa 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-5-lenny/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. Although nginx is a relatively new entrant in the web server field, it has achieved a great deal of respect for its agility and efficiency, particularly in high profile situations. Many very high traffic and profile websites have begun to use nginx for its efficiency. At the same time, administrators of smaller systems have found nginx ideal for their systems for its slim memory footprint. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -119,14 +119,14 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx) - [nginx Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-debian-5-lenny/) -- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-debian-5-lenny/) -- [Configure Ruby on Rails with nginx](/cloud/guides/ruby-on-rails-with-nginx-on-debian-5-lenny/) +- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-debian-5-lenny) +- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-debian-5-lenny) +- [Configure Ruby on Rails with nginx](/cloud/guides/ruby-on-rails-with-nginx-on-debian-5-lenny) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-6-squeeze/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-6-squeeze/index.md index accc79dbe12..630569866e5 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-6-squeeze/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. Although nginx is a relatively new entrant in the web server field, it has achieved a great deal of respect for its agility and efficiency, particularly in high profile situations. Many very high traffic and profile websites have begun to use nginx for its efficiency. At the same time, administrators of smaller systems have found nginx ideal for their systems for its slim memory footprint. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -112,11 +112,11 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/websites-with-nginx-on-debian-6-squeeze/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/websites-with-nginx-on-debian-6-squeeze) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx) - [nginx Community Documentation](http://wiki.nginx.org) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-12/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-12/index.md index 20eb8270e8a..25c2c9d66f7 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-12/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-12/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. Although nginx is a relatively new entrant in the web server field, it has achieved a great deal of respect for its agility and efficiency, particularly in high profile situations. Many very high traffic and profile websites have begun to use nginx for its efficiency. At the same time, administrators of smaller systems have found nginx ideal for their systems for its slim memory footprint. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing nginx from EPEL Packages @@ -37,7 +37,7 @@ Once finished, start nginx with the following command: /etc/init.d/nginx start -You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. +You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. ## Installing nginx from the Source Distribution @@ -124,11 +124,11 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx) - [nginx Community Documentation](http://wiki.nginx.org) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-13/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-13/index.md index 9847ae0f5f5..93678049fa8 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-13/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-13/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. Although nginx is a relatively new entrant in the web server field, it has achieved a great deal of respect for its agility and efficiency, particularly in high profile situations. Many very high traffic and profile websites have begun to use nginx for its efficiency. At the same time, administrators of smaller systems have found nginx ideal for their systems for its slim memory footprint. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing nginx from EPEL Packages @@ -37,7 +37,7 @@ Once finished, start nginx the following command: /etc/init.d/nginx start -You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. +You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. ## Installing nginx from the Source Distribution @@ -124,11 +124,11 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx) - [nginx Community Documentation](http://wiki.nginx.org) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-14/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-14/index.md index 021b62b4cf7..c1683590178 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-14/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-14/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which can provide more predictable performance under load. +Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which can provide more predictable performance under load. -It is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). You should be logged into your Linode as the "root" user before proceeding. +It is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). You should be logged into your Linode as the "root" user before proceeding. ## Set the Hostname @@ -44,7 +44,7 @@ Once finished, start nginx the following command: /etc/init.d/nginx start -You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. +You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. ## Install nginx from the Source Distribution @@ -131,11 +131,11 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx) - [nginx Community Documentation](http://wiki.nginx.org) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-04-lts-lucid/index.md index b20c1f1f811..6ae0439ee58 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-04-lts-lucid/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. This guide will help you get nginx up and running on your Ubuntu 10.04 LTS (Lucid) Linode. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. This guide will help you get nginx up and running on your Ubuntu 10.04 LTS (Lucid) Linode. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -131,13 +131,13 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by nginx. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by nginx. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx) - [nginx Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/) -- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/) +- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid) +- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-10-maverick/index.md index 75bd69f2676..b9ed3a9605e 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-10-maverick/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Set the Hostname @@ -133,13 +133,13 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by nginx. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by nginx. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx) - [nginx Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick/) -- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick/) +- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick) +- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-9-10-karmic/index.md index 82c9958ec33..a3abcd4d911 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-9-10-karmic/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/guides/web-servers/apache) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing nginx from Ubuntu Packages @@ -139,14 +139,14 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/guides/web-servers/nginx) - [nginx Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic/) -- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/) -- [Configure Ruby on Rails with nginx](/cloud/guides/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic/) +- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic) +- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic) +- [Configure Ruby on Rails with nginx](/cloud/guides/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-arch-linux/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-arch-linux/index.md index cebe57acc73..8c5c7682bdf 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-arch-linux/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-arch-linux/index.md @@ -109,7 +109,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. Consider our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, consider the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. Consider our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) for more information. For a basic example configuration, consider the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -146,5 +146,5 @@ In this example we create the `uwsgicluster` upstream, which has five components You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Deploy a LEMP Server on Arch Linux](/cloud/guides/lemp-server-on-arch-linux/) -- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Deploy a LEMP Server on Arch Linux](/cloud/guides/lemp-server-on-arch-linux) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-centos-5/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-centos-5/index.md index 59dbcf99090..de7426b2721 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-centos-5/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-centos-5/index.md @@ -146,7 +146,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -183,6 +183,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on CentOS 5](/cloud/guides/websites-with-nginx-on-centos-5/) -- [Deploy a LEMP Server on CentOS 5](/cloud/guides/lemp-server-on-centos-5/) -- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on CentOS 5](/cloud/guides/websites-with-nginx-on-centos-5) +- [Deploy a LEMP Server on CentOS 5](/cloud/guides/lemp-server-on-centos-5) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny/index.md index 4a1625abf9e..d6a4c0f9ffc 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny/index.md @@ -58,7 +58,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-debian-5-lenny/) for compiling nginx from source: +Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-debian-5-lenny) for compiling nginx from source: apt-get install libpcre3-dev build-essential libssl-dev cd /opt/ @@ -153,7 +153,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -190,6 +190,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Debian 5 (Lenny)](/cloud/guides/websites-with-nginx-on-debian-5-lenny/) -- [Deploy a LEMP Server on Debian 5 (Lenny)](/cloud/guides/how-to-install-the-lemp-stack-on-debian-10/) -- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Debian 5 (Lenny)](/cloud/guides/websites-with-nginx-on-debian-5-lenny) +- [Deploy a LEMP Server on Debian 5 (Lenny)](/cloud/guides/how-to-install-the-lemp-stack-on-debian-10) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze/index.md index e4c1f0cc839..8b4e45e3df6 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze/index.md @@ -58,7 +58,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-debian-6-squeeze/) for compiling nginx from source: +Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-debian-6-squeeze) for compiling nginx from source: apt-get install libpcre3-dev libssl-dev cd /opt/ @@ -152,7 +152,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -189,6 +189,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Debian 5 (Lenny)](/cloud/guides/websites-with-nginx-on-debian-5-lenny/) -- [Deploy a LEMP Server on Debian 5 (Lenny)](/cloud/guides/how-to-install-the-lemp-stack-on-debian-10/) -- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Debian 5 (Lenny)](/cloud/guides/websites-with-nginx-on-debian-5-lenny) +- [Deploy a LEMP Server on Debian 5 (Lenny)](/cloud/guides/how-to-install-the-lemp-stack-on-debian-10) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-13/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-13/index.md index b517a3e9886..1bf9071d25a 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-13/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-13/index.md @@ -49,7 +49,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-fedora-13/) for compiling nginx from source: +Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-fedora-13) for compiling nginx from source: yum groupinstall "Development Tools" yum install zlib-devel wget openssl-devel pcre pcre-devel sudo @@ -148,7 +148,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -185,6 +185,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Fedora 13](/cloud/guides/websites-with-nginx-on-fedora-13/) -- [Deploy a LEMP Server on Fedora 13](/cloud/guides/lemp-server-on-fedora-13/) -- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Fedora 13](/cloud/guides/websites-with-nginx-on-fedora-13) +- [Deploy a LEMP Server on Fedora 13](/cloud/guides/lemp-server-on-fedora-13) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-14/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-14/index.md index 2ce69b4d7f0..56577fcdc61 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-14/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-14/index.md @@ -143,7 +143,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -180,6 +180,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Fedora 14](/cloud/guides/websites-with-nginx-on-fedora-14/) -- [Deploy a LEMP Server on Fedora 14](/cloud/guides/lemp-server-on-fedora-14/) -- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Fedora 14](/cloud/guides/websites-with-nginx-on-fedora-14) +- [Deploy a LEMP Server on Fedora 14](/cloud/guides/lemp-server-on-fedora-14) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-04-lucid/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-04-lucid/index.md index 3274e055a15..c5e4ffeea6c 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-04-lucid/index.md @@ -56,7 +56,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Now issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-ubuntu-10-04-lts-lucid/) for compiling nginx from source: +Now issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-ubuntu-10-04-lts-lucid) for compiling nginx from source: apt-get install libpcre3-dev build-essential libssl-dev cd /opt/ @@ -151,7 +151,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. Consider our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, consider the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. Consider our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) for more information. For a basic example configuration, consider the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -188,6 +188,6 @@ In this example we create the `uwsgicluster` upstream, which has five components You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Ubuntu 10.04 (Lucid)](/cloud/guides/websites-with-nginx-on-ubuntu-10-04-lts-lucid/) -- [Deploy a LEMP Server on Ubuntu 10.04 (Lucid)](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04/) -- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Ubuntu 10.04 (Lucid)](/cloud/guides/websites-with-nginx-on-ubuntu-10-04-lts-lucid) +- [Deploy a LEMP Server on Ubuntu 10.04 (Lucid)](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-10-maverick/index.md index 41f16626538..a15ec3ecae5 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-10-maverick/index.md @@ -58,7 +58,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Ubuntu packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-ubuntu-10-10-maverick/) for compiling nginx from source: +Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Ubuntu packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-ubuntu-10-10-maverick) for compiling nginx from source: apt-get install libpcre3-dev build-essential libssl-dev cd /opt/ @@ -153,7 +153,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -190,6 +190,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Ubuntu 10.10 (Maverick)](/cloud/guides/websites-with-nginx-on-ubuntu-10-10-maverick/) -- [Deploy a LEMP Server on Ubuntu 10.10 (Maverick)](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04/) -- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Ubuntu 10.10 (Maverick)](/cloud/guides/websites-with-nginx-on-ubuntu-10-10-maverick) +- [Deploy a LEMP Server on Ubuntu 10.10 (Maverick)](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-9-10-karmic/index.md index 93303994332..9bb20298fa4 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-9-10-karmic/index.md @@ -50,7 +50,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Ubuntu packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic/) for compiling nginx from source: +Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Ubuntu packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic) for compiling nginx from source: apt-get install libpcre3-dev build-essential libssl-dev cd /opt/ @@ -145,7 +145,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -182,6 +182,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Ubuntu 9.10 (Karmic)](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic/) -- [Deploy a LEMP Server on Ubuntu 9.10 (Karmic)](/cloud/guides/lemp-server-on-ubuntu-9-10-karmic/) -- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Ubuntu 9.10 (Karmic)](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic) +- [Deploy a LEMP Server on Ubuntu 9.10 (Karmic)](/cloud/guides/lemp-server-on-ubuntu-9-10-karmic) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer) diff --git a/docs/guides/web-servers/squid/squid-http-proxy-centos-6-4/index.md b/docs/guides/web-servers/squid/squid-http-proxy-centos-6-4/index.md index 6d569ba3fe2..6a63d3a94d7 100644 --- a/docs/guides/web-servers/squid/squid-http-proxy-centos-6-4/index.md +++ b/docs/guides/web-servers/squid/squid-http-proxy-centos-6-4/index.md @@ -21,10 +21,10 @@ deprecated: true ![HTTP Proxy Using Squid on CentOS](Creating_an_HTTP_Proxy_Using_Squid_on_CentOS_64_smg.jpg) -Squid is a proxy/cache application with a variety of configurations and uses. This guide will cover using Squid as an HTTP proxy. Please note that unless you follow the last section of the guide [Anonymizing Traffic](#anonymizing-traffic), this will not anonymize your traffic to the outside world, as your originating IP address will still be sent in the X-Forwarded-For header. Additionally, the traffic is not encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guide to [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy VPN Services with OpenVPN](/cloud/guides/secure-communications-with-openvpn-on-centos-6/). +Squid is a proxy/cache application with a variety of configurations and uses. This guide will cover using Squid as an HTTP proxy. Please note that unless you follow the last section of the guide [Anonymizing Traffic](#anonymizing-traffic), this will not anonymize your traffic to the outside world, as your originating IP address will still be sent in the X-Forwarded-For header. Additionally, the traffic is not encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guide to [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing) or [Deploy VPN Services with OpenVPN](/cloud/guides/secure-communications-with-openvpn-on-centos-6). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing Squid diff --git a/docs/guides/web-servers/squid/squid-http-proxy-centos-8/index.md b/docs/guides/web-servers/squid/squid-http-proxy-centos-8/index.md index f40518e63a0..f58024cd2b7 100644 --- a/docs/guides/web-servers/squid/squid-http-proxy-centos-8/index.md +++ b/docs/guides/web-servers/squid/squid-http-proxy-centos-8/index.md @@ -29,7 +29,7 @@ This guide will show you how to create your own HTTP proxy using Squid, a highly - Bypass certain regional and local network restrictions. {{< note >}} -The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/cloud/marketplace-docs/guides/openvpn/). +The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/cloud/marketplace-docs/guides/openvpn). {{< /note >}} ## Install Squid @@ -37,7 +37,7 @@ The traffic passed from your client to your Squid HTTP proxy will not be encrypt 1. Secure your Linode by completing the instructions in our guide on [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), including adding a limited user account and configuring a firewall. {{< note respectIndent=false >}} -This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Ensure that your system is up-to-date: @@ -215,7 +215,7 @@ Next, you will enable clients to connect to your Squid HTTP proxy. sudo firewall-cmd --add-port=3128/tcp --permanent sudo firewall-cmd --reload - You can find more information on configuring firewall rules for CentOS in our guide on [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). + You can find more information on configuring firewall rules for CentOS in our guide on [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos). ## Connect to your Squid HTTP Proxy diff --git a/docs/guides/web-servers/squid/squid-http-proxy-debian-10/index.md b/docs/guides/web-servers/squid/squid-http-proxy-debian-10/index.md index 519053747b9..4ca45e9df75 100644 --- a/docs/guides/web-servers/squid/squid-http-proxy-debian-10/index.md +++ b/docs/guides/web-servers/squid/squid-http-proxy-debian-10/index.md @@ -29,7 +29,7 @@ This guide will show you how to create your own HTTP proxy using Squid, a highly - Bypass certain regional and local network restrictions. {{< note >}} -The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/cloud/marketplace-docs/guides/openvpn/). +The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/cloud/marketplace-docs/guides/openvpn). {{< /note >}} ## Install Squid @@ -37,7 +37,7 @@ The traffic passed from your client to your Squid HTTP proxy will not be encrypt 1. Secure your Linode by completing the instructions in our guide on [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), including adding a limited user account and configuring a firewall. {{< note respectIndent=false >}} -This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Ensure that your system is up-to-date: @@ -214,7 +214,7 @@ Next, you will enable clients to connect to your Squid HTTP proxy. sudo ufw allow 3128/tcp - You can find more information on configuring firewall rules for Debian in our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). + You can find more information on configuring firewall rules for Debian in our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). ## Connect to your Squid HTTP Proxy diff --git a/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-12-04/index.md b/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-12-04/index.md index f06e8df14fa..9ba6945cc51 100644 --- a/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-12-04/index.md +++ b/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-12-04/index.md @@ -23,10 +23,10 @@ deprecated: true ![Creating an HTTP Proxy Using Squid on Ubuntu 12.04](creating-an-http-proxy-with-squid-on-ubuntu-1204-title-graphic.jpg "Creating an HTTP Proxy Using Squid on Ubuntu 12.04") -Squid is a proxy/cache application with a variety of configurations and uses. This guide will cover using Squid as an HTTP proxy. Please note that unless you follow the last section of the guide [Anonymizing Traffic](#anonymizing-traffic), this will not anonymize your traffic to the outside world, as your originating IP address will still be sent in the X-Forwarded-For header. Additionally, the traffic is not encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guide to [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy VPN Services with OpenVPN](/cloud/guides/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/). +Squid is a proxy/cache application with a variety of configurations and uses. This guide will cover using Squid as an HTTP proxy. Please note that unless you follow the last section of the guide [Anonymizing Traffic](#anonymizing-traffic), this will not anonymize your traffic to the outside world, as your originating IP address will still be sent in the X-Forwarded-For header. Additionally, the traffic is not encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guide to [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing) or [Deploy VPN Services with OpenVPN](/cloud/guides/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing Squid diff --git a/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-18-04/index.md b/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-18-04/index.md index ffec9fcca5e..d0e61fe15d2 100644 --- a/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-18-04/index.md @@ -29,7 +29,7 @@ This guide will show you how to create your own HTTP proxy using Squid, a highly - Bypass certain regional and local network restrictions. {{< note >}} -The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/cloud/marketplace-docs/guides/openvpn/). +The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/cloud/marketplace-docs/guides/openvpn). {{< /note >}} ## Install Squid @@ -37,7 +37,7 @@ The traffic passed from your client to your Squid HTTP proxy will not be encrypt 1. Secure your Linode by completing the instructions in our guide on [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), including adding a limited user account and configuring a firewall. {{< note respectIndent=false >}} -This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Ensure that your system is up-to-date: @@ -214,7 +214,7 @@ Next, you will enable clients to connect to your Squid HTTP proxy. sudo ufw allow 3128/tcp - You can find more information on configuring firewall rules for Ubuntu in our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). + You can find more information on configuring firewall rules for Ubuntu in our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). ## Connect to your Squid HTTP Proxy diff --git a/docs/guides/web-servers/supabase/create-next-js-app-supabase/index.md b/docs/guides/web-servers/supabase/create-next-js-app-supabase/index.md index 8b93970ff9c..f59931c495b 100644 --- a/docs/guides/web-servers/supabase/create-next-js-app-supabase/index.md +++ b/docs/guides/web-servers/supabase/create-next-js-app-supabase/index.md @@ -37,7 +37,7 @@ This tutorial covers everything you need to get started using these two tools to ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Create a Supabase Backend @@ -52,7 +52,7 @@ You have two options when it comes to setting up your Supabase instance: - The first is the cloud-hosted option provided by Supabase. To begin, navigate to the [Supabase project creation](https://app.supabase.com/) page and create an account. From there, select **New Project** to get started. -- The other option is self-hosted. To get started with your own self-hosted Supabase instance follow section two of our guide on [How to Self-host Supabase with Docker](/cloud/guides/installing-supabase/). Ensure that your self-hosted instance is up and running by executing the following command from its base directory: +- The other option is self-hosted. To get started with your own self-hosted Supabase instance follow section two of our guide on [How to Self-host Supabase with Docker](/cloud/guides/installing-supabase). Ensure that your self-hosted instance is up and running by executing the following command from its base directory: ```command sudo docker compose up -d @@ -115,7 +115,7 @@ The following steps show you how to initialize a Next.js application with NPM an This guide uses JavaScript code for the Next.js application. However, you can configure Next.js for TypeScript. With that configuration, all of your Next.js application can be managed using TypeScript code instead of JavaScript. You can learn more about setting up a Next.js project with TypeScript in our guide **Building a Next.js App with TypeScript** . -1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). NPM handles the project's dependencies and runs the Next.js frontend. It also includes `npx`, which the next step uses to bootstrap a template Next.js project. +1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux). NPM handles the project's dependencies and runs the Next.js frontend. It also includes `npx`, which the next step uses to bootstrap a template Next.js project. 1. Create the Next.js project, using `create-next-app` to bootstrap a template application. This example names the new project `example-app`. @@ -372,9 +372,9 @@ To start up your Next.js frontend, you should first specify what port you want i - Open the chosen port on your system's firewall to access the application remotely. - - For Debian and Ubuntu, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). + - For Debian and Ubuntu, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). - - For AlmaLinux, CentOS Stream, Fedora, and Rocky Linux refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). + - For AlmaLinux, CentOS Stream, Fedora, and Rocky Linux refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos). Once you have the port set up, start the Next.js development server with the following command: diff --git a/docs/guides/web-servers/supabase/create-react-app-supabase/index.md b/docs/guides/web-servers/supabase/create-react-app-supabase/index.md index 05494cd1585..20f0d542c53 100644 --- a/docs/guides/web-servers/supabase/create-react-app-supabase/index.md +++ b/docs/guides/web-servers/supabase/create-react-app-supabase/index.md @@ -39,7 +39,7 @@ In this tutorial, learn how you can put these two remarkable tools together. Fol sudo dnf upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Create a Supabase Backend @@ -103,7 +103,7 @@ The React frontend developed here displays a shopping list. It gives the user th These next steps show you how to initialize a React application with NPM and how to add the Supabase client SDK to the project. -1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). The present guide uses NPM to create a base React project, to install the Supabase client, and to run the React frontend. +1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux). The present guide uses NPM to create a base React project, to install the Supabase client, and to run the React frontend. 1. Create the base React project. This example uses `create-react-app` to bootstrap a new React project and names the new project `example-app`. The command results in a directory with that name being created in the current directory. @@ -362,9 +362,9 @@ You can also configure your application to automatically start on port `3001`, o To open the required port in your system's firewall, follow the appropriate guide of linked below. -- For Debian and Ubuntu, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). +- For Debian and Ubuntu, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). -- For AlmaLinux, CentOS, and Fedora, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) +- For AlmaLinux, CentOS, and Fedora, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos) Once you have done that, you can start up the React server with the following command: diff --git a/docs/guides/web-servers/supabase/installing-supabase/index.md b/docs/guides/web-servers/supabase/installing-supabase/index.md index fdf9e6f6a80..afda9ef3daf 100644 --- a/docs/guides/web-servers/supabase/installing-supabase/index.md +++ b/docs/guides/web-servers/supabase/installing-supabase/index.md @@ -34,7 +34,7 @@ This tutorial, the first in our series on Supabase, introduces you to the basics sudo dnf upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install Supabase with Docker @@ -51,9 +51,9 @@ The first step is to install Docker and Docker Compose. Docker runs your Supabas 1. Install Docker using the steps outlined in sections two and three of the following guides, depending on your Linux distribution. - - **Debian and Ubuntu:** [How to Install and Use Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/). + - **Debian and Ubuntu:** [How to Install and Use Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian). - - **AlmaLinux, CentOS Stream, Fedora, and Rocky Linux:** [How to Install and Use Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora/). + - **AlmaLinux, CentOS Stream, Fedora, and Rocky Linux:** [How to Install and Use Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora). 2. Install the Docker Compose plugin using your distribution's package manager. @@ -214,7 +214,7 @@ NGINX provides an excellent proxy. It routes traffic between the various Supabas Moreover, using NGINX gives a solution for applying SSL certification to your endpoints. Doing so, which is outlined in the next section, provides a vast improvement to your server's security. -1. Install NGINX. Follow steps two and three from our guide on [How to Install and Use NGINX](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/). Use the drop down at the top of the guide to select your Linux distribution and get the steps matched to it. +1. Install NGINX. Follow steps two and three from our guide on [How to Install and Use NGINX](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04). Use the drop down at the top of the guide to select your Linux distribution and get the steps matched to it. Additionally, follow any directions in the above guide related to locating and preparing the NGINX default configuration. On Debian and Ubuntu, for instance, this just means finding the configuration file at `/etc/nginx/sites-available/default`. On AlmaLinux, by contrast, you need first to comment out a section in the `/etc/nginx/nginx.conf` file and create a `/etc/nginx/conf.d/example.com.conf` file (replacing `example.com` with your domain). @@ -293,7 +293,7 @@ The following steps show you how to apply an SSL certificate to Supabase using [ With an SSL certificate, your instance's traffic gets encrypted and secured over HTTPS. -1. Follow along with our guide on [Enabling HTTPS Using Certbot with NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) up to the step for executing the `certbot` command. Be sure to select the appropriate Linux distribution from the dropdown at the top of that guide. +1. Follow along with our guide on [Enabling HTTPS Using Certbot with NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu) up to the step for executing the `certbot` command. Be sure to select the appropriate Linux distribution from the dropdown at the top of that guide. 2. Certbot needs to use `port 80` for Let's Encrypt verification, so temporarily stop NGINX: diff --git a/docs/guides/websites/cms/basics/best-open-source-content-management-systems/index.md b/docs/guides/websites/cms/basics/best-open-source-content-management-systems/index.md index f57c3f6cde6..9deaf08355f 100644 --- a/docs/guides/websites/cms/basics/best-open-source-content-management-systems/index.md +++ b/docs/guides/websites/cms/basics/best-open-source-content-management-systems/index.md @@ -70,13 +70,13 @@ This is just what it says it is. The best open-source e-commerce CMSs incorporat Here the focus is on publishing words and possibly audio and video content. You need ways for editors and writers to prepare and publish content. You also need to be able to quickly add and change complex links, and to categorize the content. Another important element is the ability to link your content to social media and network platforms. -[WordPress](/cloud/guides/websites/cms/wordpress/) is by far the most well-known of these CMSs, but there are many others. +[WordPress](/cloud/guides/websites/cms/wordpress) is by far the most well-known of these CMSs, but there are many others. ### Social Media Developing an online community site is much more complicated than a simple website. Here content is created not only by you, but by your sites' members as well. This means you must give them the tools they need to create and share content. -While social networking sites such as Facebook and Twitter are based on open-source, you can't use their code to make your own Facebook clone. There are many open-source social media CMSs, such as [Elgg](https://elgg.org/), [Mastodon](/cloud/guides/install-mastodon-on-ubuntu-2004/), and [Dolphin](https://github.com/boonex/dolphin.pro), but none of them, or services based on them, have gained anything close to the success of the major social networks. Still, if you want to build a social network of your own, these give you the foundation you need. +While social networking sites such as Facebook and Twitter are based on open-source, you can't use their code to make your own Facebook clone. There are many open-source social media CMSs, such as [Elgg](https://elgg.org/), [Mastodon](/cloud/guides/install-mastodon-on-ubuntu-2004), and [Dolphin](https://github.com/boonex/dolphin.pro), but none of them, or services based on them, have gained anything close to the success of the major social networks. Still, if you want to build a social network of your own, these give you the foundation you need. ### Content Management System Types @@ -111,7 +111,7 @@ Grav is written primarily in PHP and the [Symfony](https://symfony.com/) web app - It's not ideal for complex websites. -You can quickly deploy an instance of the Grav CMS on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Grav through the Linode Marketplace](/cloud/marketplace-docs/guides/grav/) guide to get started. +You can quickly deploy an instance of the Grav CMS on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Grav through the Linode Marketplace](/cloud/marketplace-docs/guides/grav) guide to get started. ### Drupal @@ -130,7 +130,7 @@ Drupal has many loyal fans, most of whom are hard-core web developers and progra - It has a steep learning curve. - Using Drupal to its best advantage requires programming skills. -You can deploy a Drupal instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Drupal through the Linode Marketplace](/cloud/marketplace-docs/guides/drupal/) guide to get started. +You can deploy a Drupal instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Drupal through the Linode Marketplace](/cloud/marketplace-docs/guides/drupal) guide to get started. ### Ghost @@ -170,7 +170,7 @@ Written in PHP, Joomla stores your data in a MySQL database. Unlike many PHP pro - Sophisticated sites may require a veteran Joomla developer. - Fewer extensions than the most popular CMSs. -You can deploy an instance of the Joomla CMS on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Joomla through the Linode Marketplace](/cloud/marketplace-docs/guides/joomla/) guide to get started. +You can deploy an instance of the Joomla CMS on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Joomla through the Linode Marketplace](/cloud/marketplace-docs/guides/joomla) guide to get started. ### Magento @@ -212,7 +212,7 @@ To take full advantage of its capabilities, you need to have Python and Zope dev ### Strapi -The headless [Strapi](https://strapi.io/) CMS is built on [Node.js](https://nodejs.org/). It's customizable using APIs. Its database and file content can be accessed for display on websites, smartphones, and Internet of Things (IoT) devices. This content is delivered via the [JAMstack](https://jamstack.org/) static-site generators and front-end frameworks, such as Gatsby.js, Next.js, Nuxt.js, Angular, React, and Vue.js. On the backend, it supports both [SQL and NoSQL databases](/cloud/guides/what-is-nosql/). +The headless [Strapi](https://strapi.io/) CMS is built on [Node.js](https://nodejs.org/). It's customizable using APIs. Its database and file content can be accessed for display on websites, smartphones, and Internet of Things (IoT) devices. This content is delivered via the [JAMstack](https://jamstack.org/) static-site generators and front-end frameworks, such as Gatsby.js, Next.js, Nuxt.js, Angular, React, and Vue.js. On the backend, it supports both [SQL and NoSQL databases](/cloud/guides/what-is-nosql). Strapi is the most popular headless CMS. This new approach takes some getting used to, although once mastered it’s useful. This is especially true when you consider how often your audience may be seeing your website, not with a desktop-based web browser, but on a smartphone, tablet, or IoT device. @@ -265,7 +265,7 @@ WooCommerce is written in PHP, and like the program underneath it, it is license Its flexibility can be confusing until you have a firm grip on all the options. -You can deploy a WooCommerce instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying WooCommerce through the Linode Marketplace](/cloud/marketplace-docs/guides/woocommerce/) guide to get started. +You can deploy a WooCommerce instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying WooCommerce through the Linode Marketplace](/cloud/marketplace-docs/guides/woocommerce) guide to get started. ### WordPress @@ -288,7 +288,7 @@ WordPress is written in PHP. You can argue it's the program that made PHP the la - Due to the sheer number of all WordPress's options, it can be confusing. - Because it's so popular, hackers target it more than any other CMS. Using a third-party security program such as [WordFence](https://www.wordfence.com/) or [Jetpack](https://jetpack.com/) is essential. -You can deploy a WordPress instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying WordPress through the Linode Marketplace](/cloud/marketplace-docs/guides/wordpress/) guide to get started. +You can deploy a WordPress instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying WordPress through the Linode Marketplace](/cloud/marketplace-docs/guides/wordpress) guide to get started. ## Which Top Open-Source Content Management System is Right For You? diff --git a/docs/guides/websites/cms/basics/cms-overview/index.md b/docs/guides/websites/cms/basics/cms-overview/index.md index 3045f68da6d..b21b2e2cdcd 100644 --- a/docs/guides/websites/cms/basics/cms-overview/index.md +++ b/docs/guides/websites/cms/basics/cms-overview/index.md @@ -20,7 +20,7 @@ Even experienced programmers often choose using a CMS over coding a website. Con ## Content Management Systems on a Linode -Linode has installation guides for [Drupal](/cloud/guides/managing-web-content-with-drupal-7/), [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/), and [Joomla](/cloud/guides/manage-web-content-with-joomla/). Together, they are the most popular CMS apps on the web. However, before you install, you'll need a running Linode, so see the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. For security, work through the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. And, finally for server configuration, create a LAMP stack with the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide. +Linode has installation guides for [Drupal](/cloud/guides/managing-web-content-with-drupal-7), [WordPress](/cloud/guides/how-to-install-and-configure-wordpress), and [Joomla](/cloud/guides/manage-web-content-with-joomla). Together, they are the most popular CMS apps on the web. However, before you install, you'll need a running Linode, so see the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. For security, work through the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. And, finally for server configuration, create a LAMP stack with the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04) guide. {{< note >}} A LAMP stack is a System Admin term for a web server using Linux, Apache, MySQL, and PHP. Linux is an operating system, Apache is web-server software, MySQL is a database, and PHP is a programming language. This is a common stack combination and supports many CMS applications. @@ -40,25 +40,25 @@ Three of the world's most popular content management systems are open source, fr ### Drupal -[Drupal](/cloud/guides/managing-web-content-with-drupal-7/) manages many visually stunning, popular sites like Weather.com, WhiteHouse.gov, and Rutgers.edu. Drupal has been in continuous release since 2001. Because of an active development cycle, Drupal releases an update every two to four months. A huge user community attends bi-annual conferences in North America and Europe. +[Drupal](/cloud/guides/managing-web-content-with-drupal-7) manages many visually stunning, popular sites like Weather.com, WhiteHouse.gov, and Rutgers.edu. Drupal has been in continuous release since 2001. Because of an active development cycle, Drupal releases an update every two to four months. A huge user community attends bi-annual conferences in North America and Europe. Drupal's strength lies in its organization. Drupal starts with the Drupal core, a base set of files, which allows for package add-ons like themes or modules. The core may have a basic set of modules or built-in themes, but can be continually customized. Optionally, a Drupal distribution is a similar to the core but centered around specific site needs. Distributions exist for kickstarter sites, news media sites, or community-based sites, to name a few. ### Joomla -[Joomla](/cloud/guides/manage-web-content-with-joomla/) has been in release since 2005 and manages sites like eBay, General Electric, and Ikea. Joomla released version 4.0 in March 2015. While Drupal has more modules and themes, Joomla has more extensions with thousands of add-on options, although the idea of modules and extensions often overlap. Both Drupal and Joomla have users in the millions, which means thousands of user comments and help topics can be found online. +[Joomla](/cloud/guides/manage-web-content-with-joomla) has been in release since 2005 and manages sites like eBay, General Electric, and Ikea. Joomla released version 4.0 in March 2015. While Drupal has more modules and themes, Joomla has more extensions with thousands of add-on options, although the idea of modules and extensions often overlap. Both Drupal and Joomla have users in the millions, which means thousands of user comments and help topics can be found online. Joomla works best for intermediate users, and while it lends itself to social collaboration or community-driven website design, it can be customized toward any situation. The installation process is uncomplicated, but generating content will not be as easy as it is with WordPress. ### WordPress -Originally built as a blogger platform, [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) is arguably the easiest to use and the most popular. Initially released in 2003, it has grown rapidly since. The WP platform is used for over 60 million websites, and 100,000 new websites are created daily. +Originally built as a blogger platform, [WordPress](/cloud/guides/how-to-install-and-configure-wordpress) is arguably the easiest to use and the most popular. Initially released in 2003, it has grown rapidly since. The WP platform is used for over 60 million websites, and 100,000 new websites are created daily. WordPress is best for static content. However, WP sites are often built for complex, dynamic solutions because the community is so large and has added so many capabilities. The structure of the company behind WordPress, Automattic, and its philosophy represent the ability for large growth with such an open-source project. ## Next Steps -We have briefly covered the concepts of content management systems, CMS themes, LAMP stacks, CMS add-ons, open source, [Drupal](/cloud/guides/managing-web-content-with-drupal-7/), [Joomla](/cloud/guides/manage-web-content-with-joomla/), and [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/). Create a Linode, follow our installation guides, and start delivering your content to the world. +We have briefly covered the concepts of content management systems, CMS themes, LAMP stacks, CMS add-ons, open source, [Drupal](/cloud/guides/managing-web-content-with-drupal-7), [Joomla](/cloud/guides/manage-web-content-with-joomla), and [WordPress](/cloud/guides/how-to-install-and-configure-wordpress). Create a Linode, follow our installation guides, and start delivering your content to the world. diff --git a/docs/guides/websites/cms/cpanel/install-a-commercial-ssl-certificate-using-cpanel/index.md b/docs/guides/websites/cms/cpanel/install-a-commercial-ssl-certificate-using-cpanel/index.md index d04ae7fdfe6..44d3c079fc1 100644 --- a/docs/guides/websites/cms/cpanel/install-a-commercial-ssl-certificate-using-cpanel/index.md +++ b/docs/guides/websites/cms/cpanel/install-a-commercial-ssl-certificate-using-cpanel/index.md @@ -20,7 +20,7 @@ external_resources: ## Before You Begin -1. This guide requires that you have cPanel/WHM installed and configured on your system. If you do not have it installed, follow our instructions on how to [Install cPanel on CentOS](/cloud/guides/install-cpanel-on-centos/). +1. This guide requires that you have cPanel/WHM installed and configured on your system. If you do not have it installed, follow our instructions on how to [Install cPanel on CentOS](/cloud/guides/install-cpanel-on-centos). 2. You should have a cPanel account created. If you have not created an account yet, reference the cPanel Documentation to learn how to [Create a New Account](https://documentation.cpanel.net/display/ALD/Create+a+New+Account). diff --git a/docs/guides/websites/cms/cpanel/install-cpanel-on-centos/index.md b/docs/guides/websites/cms/cpanel/install-cpanel-on-centos/index.md index be72032cbe8..4c3528f7543 100644 --- a/docs/guides/websites/cms/cpanel/install-cpanel-on-centos/index.md +++ b/docs/guides/websites/cms/cpanel/install-cpanel-on-centos/index.md @@ -34,7 +34,7 @@ You'll need to [obtain a VPS license directly from cPanel](https://store.cpanel. cPanel includes options for hosting your own DNS services. We generally recommend using [Linode DNS services](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) because it provides a stable, redundant, and easily managed DNS platform. If you elect to run your own DNS services on a single Linode using cPanel, please be aware that such a setup provides no redundancy. -Should you wish to provide DNS services, you'll need to add *A records* for your nameservers in your WHM as described in the [DNS on cPanel guide](/cloud/guides/set-up-dns-services-on-cpanel/#nameserver-selection). +Should you wish to provide DNS services, you'll need to add *A records* for your nameservers in your WHM as described in the [DNS on cPanel guide](/cloud/guides/set-up-dns-services-on-cpanel#nameserver-selection). If you plan to use a domain name for nameservers for which you will also be hosting DNS services, you'll need to ask your domain name registrar to create [DNS glue records](http://en.wikipedia.org/wiki/Domain_Name_System#Circular_dependencies_and_glue_records) based on your Linode's IP addresses before proceeding. @@ -45,7 +45,7 @@ CPanel requires the distribution-supplied/*upstream* CentOS kernel, as opposed t ## Install cPanel {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} Before proceeding, make sure you've purchased a cPanel license. You may obtain a license from the [cPanel Store](https://store.cpanel.net/). Next, log into your Linode as the `root` user via SSH to its IP address (found on the **Networking** tab in the Linode Cloud Manager). @@ -117,7 +117,7 @@ When you've finished, click on **Save & Go to Step 5**. #### Using Self-Managed DNS -If you wish to operate your own DNS servers on your Linode, select either **BIND** or **NSD** under the *Name Server* column. You must list the nameservers you set up in the "DNS Prerequisites" section of this document. Consult Linode's guide on setting up your own nameservers in WHM using a single IP address, available in our [Set up DNS Services on cPanel](/cloud/guides/set-up-dns-services-on-cpanel/) guide. +If you wish to operate your own DNS servers on your Linode, select either **BIND** or **NSD** under the *Name Server* column. You must list the nameservers you set up in the "DNS Prerequisites" section of this document. Consult Linode's guide on setting up your own nameservers in WHM using a single IP address, available in our [Set up DNS Services on cPanel](/cloud/guides/set-up-dns-services-on-cpanel) guide. ![cPanel DNS server selection using custom nameservers.](274-cpanel-whm-04-02-nameservers-custom-large.png) @@ -127,7 +127,7 @@ When you've finished, click on **Save & Go to Step 5**. Step 5 of the cPanel installation covers configuration options for additional cPanel services. -1. We recommend against installing an FTP server on your Linode, as FTP is an outdated and insecure protocol. Instead, we recommend using [SFTP](/cloud/guides/sftp-linux/) to upload and download files. However, you may install an FTP server if you wish. SFTP is available by default for any main cPanel username. If you need to add file access for multiple users, you may want to install Pure-FTPd during the configuration phase. +1. We recommend against installing an FTP server on your Linode, as FTP is an outdated and insecure protocol. Instead, we recommend using [SFTP](/cloud/guides/sftp-linux) to upload and download files. However, you may install an FTP server if you wish. SFTP is available by default for any main cPanel username. If you need to add file access for multiple users, you may want to install Pure-FTPd during the configuration phase. ![cPanel FTP server selection.](275-cpanel-whm-05-ftp-large.png) diff --git a/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-7/index.md b/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-7/index.md index 687cba884e2..e5c1f55fc21 100644 --- a/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-7/index.md +++ b/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-7/index.md @@ -10,14 +10,14 @@ aliases: [] tags: ["drupal","cms","debian"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[SSL Certificates](/cloud/guides/security/ssl/)' + - '[SSL Certificates](/cloud/guides/security/ssl)' deprecated: true deprecated_link: 'websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-10/' --- Drush is a command line tool, which can be used for various Drupal projects. This tutorial uses Drush to install themes, modules, and a manual backup system, covering some basic administration tasks for Drupal websites. -Linode has another guide for installing Drush and creating a Drupal website, [Installing & Using Drupal Drush on Debian 7](/cloud/guides/how-to-install-drush-on-ubuntu-18-04/). Depending on your experience level with Drush, you may want to start with that guide. +Linode has another guide for installing Drush and creating a Drupal website, [Installing & Using Drupal Drush on Debian 7](/cloud/guides/how-to-install-drush-on-ubuntu-18-04). Depending on your experience level with Drush, you may want to start with that guide. ## Prerequisites @@ -27,12 +27,12 @@ Before installing themes, modules, and a backup system with Drush, make sure tha 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -3. Configure a LAMP stack using the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide. +3. Configure a LAMP stack using the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04) guide. -4. Install Drush and a Drupal website core with the [Installing & Using Drupal Drush on Debian 7](/cloud/guides/how-to-install-drush-on-ubuntu-18-04/) guide. +4. Install Drush and a Drupal website core with the [Installing & Using Drupal Drush on Debian 7](/cloud/guides/how-to-install-drush-on-ubuntu-18-04) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing Themes with Drush @@ -148,7 +148,7 @@ rsync -avz /home/local-user/drush-backups/archive-dump/ remote-user@remote-ip-ad {{< /file >}} - This back up configuration creates a saved version once a week. The Cron timer is set for 12:01 a.m. every Sunday. There are many ways to configure a back up with additional options to consider. Check our [Cron](/cloud/guides/schedule-tasks-with-cron/) guide for more information. + This back up configuration creates a saved version once a week. The Cron timer is set for 12:01 a.m. every Sunday. There are many ways to configure a back up with additional options to consider. Check our [Cron](/cloud/guides/schedule-tasks-with-cron) guide for more information. This backup system leaves saved versions of the site and database on both the local and remote Linodes. Depending on the disk size of your Linode, you may want to occasionally delete older backup versions. The deletion task could be automated within the Bash script above. Since the Cron timer is only set for once a week, disk usage is probably not a large concern. There are many configuration options to consider. diff --git a/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-on-debian-7/index.md b/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-on-debian-7/index.md index 052cb3d6416..66b92fe62b0 100644 --- a/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-on-debian-7/index.md +++ b/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-on-debian-7/index.md @@ -10,7 +10,7 @@ aliases: [] tags: ["debian","drupal","cms","lamp"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[SSL Certificates](/cloud/guides/security/ssl/)' + - '[SSL Certificates](/cloud/guides/security/ssl)' deprecated: true deprecated_link: 'websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-on-debian-10/' --- @@ -27,10 +27,10 @@ Before installing Drush and Drupal, ensure that the following prerequisites have 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -3. Configure a LAMP stack using the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide. +3. Configure a LAMP stack using the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Git & Composer @@ -194,7 +194,7 @@ File permissions are a constant concern for the system owner or root user. When Your site is now available at **`example.com`/drupal** or **`ipaddress`/drupal**. Sign-in with the generated username and password and start delivering content to the world! -When you're ready for the Drupal site to appear as your homepage, move the site to the **/var/www/`example.com`/** directory and double-check the document root listing in the virtual host file. See Step 5 in the [Configuring Name Based Virtual Hosts](/cloud/guides/lamp-server-on-debian-7-wheezy/#configure-name-based-virtual-hosts) section of our *Hosting a Website* guide. +When you're ready for the Drupal site to appear as your homepage, move the site to the **/var/www/`example.com`/** directory and double-check the document root listing in the virtual host file. See Step 5 in the [Configuring Name Based Virtual Hosts](/cloud/guides/lamp-server-on-debian-7-wheezy#configure-name-based-virtual-hosts) section of our *Hosting a Website* guide. ## Additional Options @@ -204,14 +204,14 @@ There are many ways to set up administration for a website. Below are sections e The above setup is designed for ease of use. However, there are setups designed for tighter security and other considerations. -- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide +- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide - For an extremely secure setup, read Drupal's [Securing File Permissions and Ownership](https://www.drupal.org/node/244924) guide ### Multi-site Servers To start, add a virtual host file with Apache. Next, build another site including the appropriate MySQL, PHP, and CMS configurations. -- To add a virtual host file, read Linode's [Configure Name-based Virtual Hosts](/cloud/guides/lamp-server-on-debian-7-wheezy/#configure-name-based-virtual-hosts) guide +- To add a virtual host file, read Linode's [Configure Name-based Virtual Hosts](/cloud/guides/lamp-server-on-debian-7-wheezy#configure-name-based-virtual-hosts) guide ### Install Drush for the Active User Only diff --git a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-8/index.md b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-8/index.md index 71bce249922..20d80e10544 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-8/index.md @@ -29,7 +29,7 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) 4. Install and configure a LAMP stack. You can do this in one of two ways: - * See our [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide to configure each component manually. + * See our [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04) guide to configure each component manually. * Deploy using our LAMP [StackScript](https://techdocs.akamai.com/cloud-computing/docs/stackscripts). @@ -121,7 +121,7 @@ Require all granted ![Drupal 8 choose installation profile.](drupal-choose-installation-profile.png) -3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/hosting-a-website-ubuntu-18-04/#create-a-database) with a MySQL or MariaDB database. +3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/hosting-a-website-ubuntu-18-04#create-a-database) with a MySQL or MariaDB database. ![Drupal 8 database configuration.](drupal-database-configuration.png) diff --git a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-centos-8/index.md b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-centos-8/index.md index 06b9192ea1a..fa961b345e5 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-centos-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-centos-8/index.md @@ -29,7 +29,7 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) {{% content "limited-user-note-shortguide" %}} -1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) +1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) 1. Install the `wget` and `tar` utilities. You will need this in a later section to install the Drupal 8 core. @@ -41,7 +41,7 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -88,7 +88,7 @@ $settings['trusted_host_patterns'] = array( LoadModule rewrite_module modules/mod_rewrite.so {{}} -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, the configuration file for your site is located at `/etc/httpd/conf.d/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) guide, the configuration file for your site is located at `/etc/httpd/conf.d/example.com.conf`. {{< file "/etc/httpd/sites-enabled/example.com.conf" conf >}} @@ -129,7 +129,7 @@ LoadModule rewrite_module modules/mod_rewrite.so ![Drupal 8 choose installation profile.](drupal-choose-installation-profile.png) -3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) with a MySQL or MariaDB database. +3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) with a MySQL or MariaDB database. ![Drupal 8 database configuration.](drupal-database-configuration.png) diff --git a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-debian-10/index.md index dd6810038c8..576f47b33a9 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-debian-10/index.md @@ -21,7 +21,7 @@ aliases: [] Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. This guide demonstrates how to install Drupal 8 on your Linode running Debian 10. {{< note >}} -If you are not using Debian 10, you can view different Linux distribution versions of this guide in the [Drupal](/cloud/guides/websites/cms/drupal/) section of our documentation site. +If you are not using Debian 10, you can view different Linux distribution versions of this guide in the [Drupal](/cloud/guides/websites/cms/drupal) section of our documentation site. {{< /note >}} ## Before You Begin @@ -32,11 +32,11 @@ If you are not using Debian 10, you can view different Linux distribution versio {{% content "limited-user-note-shortguide" %}} -3. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) +3. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -80,7 +80,7 @@ $settings['trusted_host_patterns'] = array( sudo a2enmod rewrite -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. {{< file "/etc/apache2/sites-available/example.com.conf" conf >}} @@ -113,7 +113,7 @@ $settings['trusted_host_patterns'] = array( ![Drupal 8 choose installation profile.](drupal-choose-installation-profile.png) -3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) with a MySQL or MariaDB database. +3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) with a MySQL or MariaDB database. ![Drupal 8 database configuration.](drupal-database-configuration.png) diff --git a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-ubuntu-18-04/index.md index 6b040888814..32f14796bb7 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-ubuntu-18-04/index.md @@ -28,11 +28,11 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) {{% content "limited-user-note-shortguide" %}} -3. Install and configure a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) +3. Install and configure a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -76,7 +76,7 @@ $settings['trusted_host_patterns'] = array( sudo a2enmod rewrite -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. {{< file "/etc/apache2/sites-available/example.com.conf" conf >}} @@ -109,7 +109,7 @@ $settings['trusted_host_patterns'] = array( ![Drupal 8 choose installation profile.](drupal-choose-installation-profile.png) -3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) with a MySQL or MariaDB database. +3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) with a MySQL or MariaDB database. ![Drupal 8 database configuration.](drupal-database-configuration.png) diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-centos-8/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-centos-8/index.md index da47989d887..b0efaf74291 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-centos-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-centos-8/index.md @@ -12,7 +12,7 @@ tags: ["drupal","centos","apache","lamp","php","cms"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: DrupalThemesMods_DrushCentOS8.png external_resources: - - '[SSL Certificates](/cloud/guides/security/ssl/)' + - '[SSL Certificates](/cloud/guides/security/ssl)' - '[Drush Commands](https://docs.drush.org/en/9.x/)' - '[Backup and Migrate](https://www.drupal.org/docs/8/modules/backup-and-migrate/howto-for-backup-and-migrate)' relations: @@ -35,9 +35,9 @@ Before installing themes, modules, and a backup system using Drush, make sure th {{% content "limited-user-note-shortguide" %}} -1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) +1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) -1. Install [Composer and Drush on CentOS 8](/cloud/guides/how-to-install-drush-on-centos-8/) +1. Install [Composer and Drush on CentOS 8](/cloud/guides/how-to-install-drush-on-centos-8) 1. Make sure that your system is up to date, using: @@ -61,7 +61,7 @@ In this section you will download, enable, and set a Drupal theme using Drush. composer require drupal/bootstrap {{< note respectIndent=false >}} -If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/cloud/guides/how-to-install-drupal-using-drush-on-centos-8/#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on CentOS 8](/cloud/guides/how-to-install-drupal-using-drush-on-centos-8/) guide. +If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/cloud/guides/how-to-install-drupal-using-drush-on-centos-8#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on CentOS 8](/cloud/guides/how-to-install-drupal-using-drush-on-centos-8) guide. Ensure that your `/var/www/html/example.com/public_html` directory has user and group read, write, and execute permissions. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-10/index.md index a6be2aa8e88..c55551f297c 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-10/index.md @@ -12,7 +12,7 @@ tags: ["drupal","lamp","cms","debian"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: DrupalThemesMods_DrushDeb10.png external_resources: - - '[SSL Certificates](/cloud/guides/security/ssl/)' + - '[SSL Certificates](/cloud/guides/security/ssl)' - '[Drush Commands](https://docs.drush.org/en/9.x/)' - '[Backup and Migrate](https://www.drupal.org/docs/8/modules/backup-and-migrate/howto-for-backup-and-migrate)' relations: @@ -25,7 +25,7 @@ aliases: [] Drush is a command line tool, which can be used for various Drupal projects. This tutorial uses Drush to install themes, modules, and covering some basic administration tasks such as backup and migrate for Drupal websites. -Linode has another guide for installing Drush and creating a Drupal website, [Install Drupal using Drush on Debian 10](/cloud/guides/how-to-install-drupal-using-drush-on-debian-10/). Depending on your experience level with Drush, you may want to start with that guide. +Linode has another guide for installing Drush and creating a Drupal website, [Install Drupal using Drush on Debian 10](/cloud/guides/how-to-install-drupal-using-drush-on-debian-10). Depending on your experience level with Drush, you may want to start with that guide. ## Before You Begin @@ -37,9 +37,9 @@ Before installing themes, modules, and a backup system with Drush, make sure tha {{% content "limited-user-note-shortguide" %}} -1. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) +1. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) -1. Install [Composer and Drush on Debian 10](/cloud/guides/how-to-install-drush-on-debian-10/) +1. Install [Composer and Drush on Debian 10](/cloud/guides/how-to-install-drush-on-debian-10) 1. Make sure that your system is up to date, using: @@ -64,7 +64,7 @@ In this section you will download, enable, and set a Drupal theme using Drush. composer require drupal/bootstrap {{< note respectIndent=false >}} -If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/cloud/guides/how-to-install-drupal-using-drush-on-debian-10/#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on Debian 10](/cloud/guides/how-to-install-drupal-using-drush-on-debian-10/) guide. +If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/cloud/guides/how-to-install-drupal-using-drush-on-debian-10#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on Debian 10](/cloud/guides/how-to-install-drupal-using-drush-on-debian-10) guide. Ensure that your `/var/www/html/example.com/public_html` directory has user and group read, write, and execute permissions. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-ubuntu-18-04/index.md index e57ba832d5b..0fe6d429945 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-ubuntu-18-04/index.md @@ -12,7 +12,7 @@ tags: ["drupal","ubuntu","cms","lamp"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: DrupalThemesMods_DrushUbuntu1804.png external_resources: - - '[SSL Certificates](/cloud/guides/security/ssl/)' + - '[SSL Certificates](/cloud/guides/security/ssl)' - '[Drush Commands](https://docs.drush.org/en/9.x/)' - '[Backup and Migrate](https://www.drupal.org/docs/8/modules/backup-and-migrate/howto-for-backup-and-migrate)' relations: @@ -25,7 +25,7 @@ aliases: [] Drush is a command line tool, which can be used for various Drupal projects. This tutorial uses Drush to install themes, modules, and covering some basic administration tasks such as backup and migrate for Drupal websites. -Linode has another guide for installing Drush and creating a Drupal website, [Install Drupal using Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04/). Depending on your experience level with Drush, you may want to start with that guide. +Linode has another guide for installing Drush and creating a Drupal website, [Install Drupal using Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04). Depending on your experience level with Drush, you may want to start with that guide. ## Before You Begin @@ -37,9 +37,9 @@ Before installing themes, modules, and a backup system with Drush, make sure tha {{% content "limited-user-note-shortguide" %}} -1. Install and configure a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) +1. Install and configure a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) -1. Install [Composer and Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drush-on-ubuntu-18-04/) +1. Install [Composer and Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drush-on-ubuntu-18-04) 1. Make sure that your system is up to date, using: @@ -64,7 +64,7 @@ In this section you will download, enable, and set a Drupal theme using Drush. composer require drupal/bootstrap {{< note respectIndent=false >}} -If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/cloud/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04/#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04/) guide. +If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/cloud/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04) guide. Ensure that your `/var/www/html/example.com/public_html` directory has user and group read, write, and execute permissions. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-centos-8/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-centos-8/index.md index abb8ad8fd6e..26c2d63dc1e 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-centos-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-centos-8/index.md @@ -30,9 +30,9 @@ aliases: [] {{% content "limited-user-note-shortguide" %}} -1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) +1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) -1. Install [Composer and Drush on CentOS 8](/cloud/guides/how-to-install-drush-on-centos-8/) +1. Install [Composer and Drush on CentOS 8](/cloud/guides/how-to-install-drush-on-centos-8) 1. Install the `wget` and `tar` utilities. You will need this in a later section to install the Drupal 8 core. @@ -44,7 +44,7 @@ aliases: [] ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -64,7 +64,7 @@ Ensure that the version number matches the Drupal 8 version you wish to download sudo yum install -y php php-{cli,mysqlnd,json,opcache,xml,mbstring,gd,curl} -1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on CentOS 8](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8/#drupal-first-start) guide for more details. +1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on CentOS 8](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8#drupal-first-start) guide for more details. sudo cp /var/www/html/example.com/public_html/sites/default/default.settings.php /var/www/html/example.com/public_html/sites/default/settings.php @@ -91,7 +91,7 @@ $settings['trusted_host_patterns'] = array( LoadModule rewrite_module modules/mod_rewrite.so {{}} -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, the configuration file for your site is located at `/etc/httpd/conf.d/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) guide, the configuration file for your site is located at `/etc/httpd/conf.d/example.com.conf`. {{< file "/etc/httpd/sites-enabled/example.com.conf" conf >}} @@ -129,7 +129,7 @@ In this section, you will use [Drush](https://www.drush.org/) to install a Drupa cd /var/www/html/example.com/public_html -1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. +1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. drush si standard --db-url=mysql://username:password@localhost/databasename --site-name=example.com @@ -192,13 +192,13 @@ There are many ways to set up administration for a website. Below are sections e The above setup is designed for ease of use. However, there are setups designed for tighter security and other considerations. -- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide +- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide - For an extremely secure setup, read Drupal's [Securing File Permissions and Ownership](https://www.drupal.org/node/244924) guide ### Multi-site Servers At a high-level, the steps you will need to follow to begin configuring a Drupal multisite set up are: -- Add a new [MySQL user, password, and database](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#mysql) -- Create a new [Apache virtual hosts file and corresponding directories](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#virtual-hosts) +- Add a new [MySQL user, password, and database](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04#mysql) +- Create a new [Apache virtual hosts file and corresponding directories](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04#virtual-hosts) - See [Drupal's Multisite documentation](https://www.drupal.org/docs/8/multisite/drupal-8-multisite) for more details. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-debian-10/index.md index 9b9e4d3da97..c69e8042884 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-debian-10/index.md @@ -30,13 +30,13 @@ aliases: [] {{% content "limited-user-note-shortguide" %}} -1. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) +1. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) -1. Install [Composer and Drush on Debian 10](/cloud/guides/how-to-install-drush-on-debian-10/) +1. Install [Composer and Drush on Debian 10](/cloud/guides/how-to-install-drush-on-debian-10) ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -56,7 +56,7 @@ Ensure that the version number matches the Drupal 8 version you wish to download sudo apt-get install php-gd php-xml php-dom php-simplexml php-mbstring -1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on Debian 10](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10/#drupal-first-start) guide for more details. +1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on Debian 10](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10#drupal-first-start) guide for more details. sudo cp /var/www/html/example.com/public_html/sites/default/default.settings.php /var/www/html/example.com/public_html/sites/default/settings.php @@ -80,7 +80,7 @@ $settings['trusted_host_patterns'] = array( sudo a2enmod rewrite -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. {{< file "/etc/apache2/sites-available/example.com.conf" conf >}} @@ -111,7 +111,7 @@ In this section, you will use [Drush](https://www.drush.org/) to install a Drupa cd /var/www/html/example.com/public_html -1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. +1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. drush si standard --db-url=mysql://username:password@localhost/databasename --site-name=example.com @@ -174,13 +174,13 @@ There are many ways to set up administration for a website. Below are sections e The above setup is designed for ease of use. However, there are setups designed for tighter security and other considerations. -- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide +- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide - For an extremely secure setup, read Drupal's [Securing File Permissions and Ownership](https://www.drupal.org/node/244924) guide ### Multi-site Servers At a high-level, the steps you will need to follow to begin configuring a Drupal multisite set up are: -- Add a new [MySQL user, password, and database](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#mysql) -- Create a new [Apache virtual hosts file and corresponding directories](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#virtual-hosts) +- Add a new [MySQL user, password, and database](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04#mysql) +- Create a new [Apache virtual hosts file and corresponding directories](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04#virtual-hosts) - See [Drupal's Multisite documentation](https://www.drupal.org/docs/8/multisite/drupal-8-multisite) for more details. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-ubuntu-18-04/index.md index 5881beba148..fc3ae4658b5 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-ubuntu-18-04/index.md @@ -30,13 +30,13 @@ aliases: [] {{% content "limited-user-note-shortguide" %}} -3. Install and configure a [How to Install a LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) +3. Install and configure a [How to Install a LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) -4. Install [Composer and Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drush-on-ubuntu-18-04/) +4. Install [Composer and Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drush-on-ubuntu-18-04) ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -56,7 +56,7 @@ Ensure that the version number matches the Drupal 8 version you wish to download sudo apt-get install php-gd php-xml php-dom php-simplexml php-mbstring -1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on Ubuntu 18.04](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/#drupal-first-start) guide for more details. +1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on Ubuntu 18.04](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04#drupal-first-start) guide for more details. sudo cp /var/www/html/example.com/public_html/sites/default/default.settings.php /var/www/html/example.com/public_html/sites/default/settings.php @@ -80,7 +80,7 @@ $settings['trusted_host_patterns'] = array( sudo a2enmod rewrite -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. {{< file "/etc/apache2/sites-available/example.com.conf" conf >}} @@ -111,7 +111,7 @@ In this section, you will use [Drush](https://www.drush.org/) to install a Drupa cd /var/www/html/example.com/public_html -1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. +1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. drush si standard --db-url=mysql://username:password@localhost/databasename --site-name=example.com @@ -174,13 +174,13 @@ There are many ways to set up administration for a website. Below are sections e The above setup is designed for ease of use. However, there are setups designed for tighter security and other considerations. -- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide +- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide - For an extremely secure setup, read Drupal's [Securing File Permissions and Ownership](https://www.drupal.org/node/244924) guide ### Multi-site Servers At a high-level, the steps you will need to follow to begin configuring a Drupal multisite set up are: -- Add a new [MySQL user, password, and database](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#mysql) -- Create a new [Apache virtual hosts file and corresponding directories](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#virtual-hosts) +- Add a new [MySQL user, password, and database](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04#mysql) +- Create a new [Apache virtual hosts file and corresponding directories](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04#virtual-hosts) - See [Drupal's Multisite documentation](https://www.drupal.org/docs/8/multisite/drupal-8-multisite) for more details. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-debian-10/index.md index 2a1d00d670d..20086704e8b 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-debian-10/index.md @@ -154,4 +154,4 @@ The `docker-compose.yml` specifies the `latest` version of the Drupal image, so ## Next Steps -More extensive documentation on Docker is available in the [Containers](/cloud/guides/applications/containers/) section of the Linode Guides & Tutorials site. +More extensive documentation on Docker is available in the [Containers](/cloud/guides/applications/containers) section of the Linode Guides & Tutorials site. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-ubuntu-18-04/index.md index f49e7d37d52..39968c46956 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-ubuntu-18-04/index.md @@ -154,4 +154,4 @@ The `docker-compose.yml` specifies the `latest` version of the Drupal image, so ## Next Steps -More extensive documentation on Docker is available in the [Containers](/cloud/guides/applications/containers/) section of the Linode Guides & Tutorials site. +More extensive documentation on Docker is available in the [Containers](/cloud/guides/applications/containers) section of the Linode Guides & Tutorials site. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drush-on-centos-8/index.md b/docs/guides/websites/cms/drupal/how-to-install-drush-on-centos-8/index.md index bad1a1c0f77..d7531dff87f 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drush-on-centos-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drush-on-centos-8/index.md @@ -33,15 +33,15 @@ Before installing Drush, ensure that you complete the following steps: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/). +1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Git & Composer -The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/cloud/guides/how-to-configure-git/), you will also need to install Git. In this section, you will install both dependencies. +The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/cloud/guides/how-to-configure-git), you will also need to install Git. In this section, you will install both dependencies. 1. Install Git: @@ -67,7 +67,7 @@ Composer is designed to install PHP dependencies on a per-project basis. The ste sudo ln -s /usr/local/bin/composer /usr/bin/composer -1. Use Git to download - or [clone](/cloud/guides/how-to-install-git-and-clone-a-github-repository/#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: +1. Use Git to download - or [clone](/cloud/guides/how-to-install-git-and-clone-a-github-repository#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: sudo git clone https://github.com/drush-ops/drush.git /usr/local/src/drush diff --git a/docs/guides/websites/cms/drupal/how-to-install-drush-on-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-install-drush-on-debian-10/index.md index be286a5637b..4084d064693 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drush-on-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drush-on-debian-10/index.md @@ -33,13 +33,13 @@ Before installing Drush, ensure that the following prerequisites have been met: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) +1. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Git & Composer -The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/cloud/guides/how-to-configure-git/), you will also need to install Git. In this section, you will install both dependencies. +The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/cloud/guides/how-to-configure-git), you will also need to install Git. In this section, you will install both dependencies. 1. Install Git: @@ -65,7 +65,7 @@ Composer is designed to install PHP dependencies on a per-project basis. The ste sudo ln -s /usr/local/bin/composer /usr/bin/composer -1. Use Git to download - or [clone](/cloud/guides/how-to-install-git-and-clone-a-github-repository/#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: +1. Use Git to download - or [clone](/cloud/guides/how-to-install-git-and-clone-a-github-repository#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: sudo git clone https://github.com/drush-ops/drush.git /usr/local/src/drush diff --git a/docs/guides/websites/cms/drupal/how-to-install-drush-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-install-drush-on-ubuntu-18-04/index.md index 8fddf5e486a..ee8c9a8835d 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drush-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drush-on-ubuntu-18-04/index.md @@ -33,14 +33,14 @@ Before installing Drush, ensure that the following prerequisites have been met: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install and configure a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) +1. Install and configure a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Git & Composer -The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/cloud/guides/how-to-configure-git/), you will also need to install Git. In this section, you will install both dependencies. +The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/cloud/guides/how-to-configure-git), you will also need to install Git. In this section, you will install both dependencies. 1. Install Git: @@ -66,7 +66,7 @@ Composer is designed to install PHP dependencies on a per-project basis. The ste sudo ln -s /usr/local/bin/composer /usr/bin/composer -1. Use Git to download - or [clone](/cloud/guides/how-to-install-git-and-clone-a-github-repository/#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: +1. Use Git to download - or [clone](/cloud/guides/how-to-install-git-and-clone-a-github-repository#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: sudo git clone https://github.com/drush-ops/drush.git /usr/local/src/drush diff --git a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-centos-8/index.md b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-centos-8/index.md index 179dad614d5..1f3315c0045 100644 --- a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-centos-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-centos-8/index.md @@ -18,13 +18,13 @@ relations: aliases: [] --- -Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8/) running a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) on CentOS 8. +Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8) running a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) on CentOS 8. ## Before You Begin -1. Complete all the steps in the [Install and Configure Drupal 8 on CentOS 8](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8/) guide. +1. Complete all the steps in the [Install and Configure Drupal 8 on CentOS 8](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8) guide. -1. If you followed the [Install and Configure Drupal 8 on CentOS 8](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8/) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. +1. If you followed the [Install and Configure Drupal 8 on CentOS 8](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. ls /var/wwww/html/ @@ -49,7 +49,7 @@ In this section, you will create an archive of your Drupal site's files and stor sudo mv -v example.com-BCKP-*.tar.gz ../backups {{< note respectIndent=false >}} -This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron/). +This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron). {{< /note >}} ## Download Updates diff --git a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-debian-10/index.md index 32b11cacb02..66df2d52175 100644 --- a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-debian-10/index.md @@ -19,13 +19,13 @@ relations: aliases: [] --- -Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10/) running a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) on Debian 10. +Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10) running a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) on Debian 10. ## Before You Begin -1. Complete all the steps in the [Install and Configure Drupal 8 on Debian 10](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10/) guide. +1. Complete all the steps in the [Install and Configure Drupal 8 on Debian 10](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10) guide. -1. If you followed the [Install and Configure Drupal 8 on Debian 10](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10/) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. +1. If you followed the [Install and Configure Drupal 8 on Debian 10](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. ls /var/wwww/html/ @@ -50,7 +50,7 @@ In this section, you will create an archive of your Drupal site's files and stor sudo mv -v example.com-BCKP-*.tar.gz ../backups {{< note respectIndent=false >}} -This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron/). +This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron). {{< /note >}} ## Download Updates diff --git a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-ubuntu-18-04/index.md index 1f951db7e5c..5ccc931e063 100644 --- a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-ubuntu-18-04/index.md @@ -18,17 +18,17 @@ relations: aliases: [] --- -Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/) running a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) on Ubuntu 18.04. +Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04) running a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) on Ubuntu 18.04. {{< note >}} -If you are not using Ubuntu 18.04, you can find a version of this guide for your Linux distribution in the [Drupal](/cloud/guides/websites/cms/drupal/) section of our documentation site. +If you are not using Ubuntu 18.04, you can find a version of this guide for your Linux distribution in the [Drupal](/cloud/guides/websites/cms/drupal) section of our documentation site. {{< /note >}} ## Before You Begin -1. Complete all the steps in the [Install and Configure Drupal 8 on Ubuntu 18.04](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/) guide. +1. Complete all the steps in the [Install and Configure Drupal 8 on Ubuntu 18.04](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04) guide. -1. If you followed the [Install and Configure Drupal 8 on Ubuntu 18.04](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. +1. If you followed the [Install and Configure Drupal 8 on Ubuntu 18.04](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. ls /var/wwww/html/ @@ -53,7 +53,7 @@ In this section, you will create an archive of your Drupal site's files and stor sudo mv -v example.com-BCKP-*.tar.gz ../backups {{< note respectIndent=false >}} -This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron/). +This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron). {{< /note >}} ## Download Updates diff --git a/docs/guides/websites/cms/drupal/installing-and-using-php-composer/index.md b/docs/guides/websites/cms/drupal/installing-and-using-php-composer/index.md index c01291448be..e9826b3eec5 100644 --- a/docs/guides/websites/cms/drupal/installing-and-using-php-composer/index.md +++ b/docs/guides/websites/cms/drupal/installing-and-using-php-composer/index.md @@ -38,7 +38,7 @@ Composer only works on PHP version 5.3.2 or above, although PHP 5.3.4 or higher 1. Ensure PHP is already installed on the Linode. PHP 5.3.4 or above is required, but the latest version is recommended. Use the command `php -v` to determine the version of PHP that is installed. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Install and Update PHP Composer diff --git a/docs/guides/websites/cms/drupal/managing-web-content-with-drupal-7/index.md b/docs/guides/websites/cms/drupal/managing-web-content-with-drupal-7/index.md index 6653dbbbe6a..6a971094f5d 100644 --- a/docs/guides/websites/cms/drupal/managing-web-content-with-drupal-7/index.md +++ b/docs/guides/websites/cms/drupal/managing-web-content-with-drupal-7/index.md @@ -13,7 +13,7 @@ aliases: [] deprecated: true --- -Drupal is an advanced and powerful content management framework, built on the PHP scripting language and supported by a [database](/cloud/guides/databases/) engine like [MySQL](/cloud/guides/databases/mysql/). Drupal provides a flexible system that can be used to manage websites of all different types and profiles. Drupal is capable of providing the tools necessary to create rich, interactive "community" websites with forums, user blogs, and private messaging. Drupal can also provide support for multifaceted personal publishing projects and can power podcasts, blogs, and knowledge-based systems, all within a single, unified platform. +Drupal is an advanced and powerful content management framework, built on the PHP scripting language and supported by a [database](/cloud/guides/databases) engine like [MySQL](/cloud/guides/databases/mysql). Drupal provides a flexible system that can be used to manage websites of all different types and profiles. Drupal is capable of providing the tools necessary to create rich, interactive "community" websites with forums, user blogs, and private messaging. Drupal can also provide support for multifaceted personal publishing projects and can power podcasts, blogs, and knowledge-based systems, all within a single, unified platform. As the system's functionality is highly modular, one might even be inclined to think about Drupal not strictly as a content management system but rather as a content management framework. In addition to the core infrastructure, there are a number of Drupal modules that allow administrators of Drupal sites to provide specific functionality to the users of their sites without needing to spend resources on custom development. Furthermore, Drupal has an advanced theming engine that allows for a great amount of flexibility for displaying content in a visually useful and productive manner. @@ -21,15 +21,15 @@ As the system's functionality is highly modular, one might even be inclined to t Before we begin with the Drupal installation, there are few other guides that provide instructions for installing the necessary prerequisites. -- If you're new to Linux system administration, consider our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/) guides. +- If you're new to Linux system administration, consider our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics) guides. - Before you can install Drupal, please complete our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to get a fully updated and running system. -- Then, you will want to use one of the [LAMP](/cloud/guides/web-servers/lamp/) guides, or for beginners, the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide to get a functioning Linux/Apache/MySQL/PHP stack installed on your Linode. -- If you want more information about installing [Apache](/cloud/guides/web-servers/apache/) or [the MySQL database](/cloud/guides/databases/mysql/), our guides provide some additional information regarding these dependencies. +- Then, you will want to use one of the [LAMP](/cloud/guides/web-servers/lamp) guides, or for beginners, the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04) guide to get a functioning Linux/Apache/MySQL/PHP stack installed on your Linode. +- If you want more information about installing [Apache](/cloud/guides/web-servers/apache) or [the MySQL database](/cloud/guides/databases/mysql), our guides provide some additional information regarding these dependencies. With these dependencies installed and running, we're ready to begin installing the Drupal content management system. We assume that you have a working SSH connection to your server and database credentials to access your database server. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as ``root`` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps below as ``root`` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Download and Install Drupal 7 @@ -143,7 +143,7 @@ You're now ready to begin using Drupal. Because Drupal is such a flexible and versatile system, it is difficult to recommend any particular set of practices for effective Drupal administration. The following guidelines and suggestions may be helpful on your journey: -- Drupal sites tend to consume a great deal of system resources because of the way the system interacts with the database server. If you're having this kind of problem, consider resizing your Linode for more RAM or running your database on a [dedicated database server](/cloud/guides/how-to-install-mysql-on-debian-7/). +- Drupal sites tend to consume a great deal of system resources because of the way the system interacts with the database server. If you're having this kind of problem, consider resizing your Linode for more RAM or running your database on a [dedicated database server](/cloud/guides/how-to-install-mysql-on-debian-7). - While it may be tempting to use many modules, it's often prudent to restrict your use of contributed modules to only those that provide functionality that you actively need. Turn off modules that you're not using to reduce your risk of running out of system resources or presenting possible security vulnerabilities. - Linode - and the Drupal community - recommend that you avoid doing development work on you production machine. If at all possible, keep a clone of your production environment on an alternate server or on your local machine. This will allow you to test new modules and changes without affecting your live site. diff --git a/docs/guides/websites/cms/drupal/update-and-secure-drupal-8-on-ubuntu/index.md b/docs/guides/websites/cms/drupal/update-and-secure-drupal-8-on-ubuntu/index.md index 5a43855847d..2755865e4f2 100644 --- a/docs/guides/websites/cms/drupal/update-and-secure-drupal-8-on-ubuntu/index.md +++ b/docs/guides/websites/cms/drupal/update-and-secure-drupal-8-on-ubuntu/index.md @@ -20,8 +20,8 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) 1. Ensure that you have completed the following guides: - [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) - - [Install a LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) - - [Install and Configure Drupal 8](/cloud/guides/how-to-install-and-configure-drupal-8/) + - [Install a LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) + - [Install and Configure Drupal 8](/cloud/guides/how-to-install-and-configure-drupal-8) 2. Confirm the name of your site's Document Root folder by running the following command on your Linode: @@ -38,7 +38,7 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) ## Create Backups -Back up existing files and move the archive into the backups directory. This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron/): +Back up existing files and move the archive into the backups directory. This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron): cd /var/www/html/example.com/public_html sudo tar -cvzf example.com-BCKP-$(date +%Y%m%d).tar.gz ./ @@ -100,7 +100,7 @@ If `update.php` does not load or returns a 403 Forbidden error, you can try to c 4. Follow the prompts to continue the update. -5. If installing additional modules or configuring additional security settings, proceed to the *[Additional Security](/cloud/guides/update-and-secure-drupal-8-on-ubuntu/#additional-security)* section below. Return to Step 6 once those configurations are complete. +5. If installing additional modules or configuring additional security settings, proceed to the *[Additional Security](/cloud/guides/update-and-secure-drupal-8-on-ubuntu#additional-security)* section below. Return to Step 6 once those configurations are complete. 6. Rebuild the site's cache by clicking **Configuration** in the Admin Toolbar, then **Performance** under Development. Click **Clear all caches**. @@ -108,7 +108,7 @@ If `update.php` does not load or returns a 403 Forbidden error, you can try to c 8. From your Linode, open `/var/www/html/example.com/public_html/sites/default/settings.php` and confirm that `$update_free_access = FALSE`. -9. If everything looks good, take the site out of maintenance mode *[described above](/cloud/guides/update-and-secure-drupal-8-on-ubuntu/#put-the-site-into-maintenance-mode)* by unchecking the box next to "Put site into maintenance mode." +9. If everything looks good, take the site out of maintenance mode *[described above](/cloud/guides/update-and-secure-drupal-8-on-ubuntu#put-the-site-into-maintenance-mode)* by unchecking the box next to "Put site into maintenance mode." ## Additional Security diff --git a/docs/guides/websites/cms/flatpress/manage-web-content-with-flatpress/index.md b/docs/guides/websites/cms/flatpress/manage-web-content-with-flatpress/index.md index 4ea3b468bfc..17f0b126416 100644 --- a/docs/guides/websites/cms/flatpress/manage-web-content-with-flatpress/index.md +++ b/docs/guides/websites/cms/flatpress/manage-web-content-with-flatpress/index.md @@ -15,7 +15,7 @@ deprecated: true FlatPress is a web application for managing and publishing blogs. Modeled on other popular content management systems for blogging, FlatPress uses a file-based system for storing content and does not require any kind of database system. FlatPress provides advanced features, and depending on the specific needs of your project, FlatPress may support higher load. Additionally, FlatPress provides a fully featured template engine and plugin framework for user-generated plug-ins. -This guide assumes that you have completed the appropriate [Apache Web server](/cloud/guides/web-servers/apache/) installation guide for your operating system but you may choose an alternate web server such as [nginx](/cloud/guides/web-servers/nginx/) to provide access to your FlatPress powered site. +This guide assumes that you have completed the appropriate [Apache Web server](/cloud/guides/web-servers/apache) installation guide for your operating system but you may choose an alternate web server such as [nginx](/cloud/guides/web-servers/nginx) to provide access to your FlatPress powered site. ## Installing Prerequisites diff --git a/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-on-ubuntu-16-04/index.md b/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-on-ubuntu-16-04/index.md index 6a964277896..dc991d742c7 100644 --- a/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-on-ubuntu-16-04/index.md @@ -31,7 +31,7 @@ Ghost 1.0.0 is the first major, stable release of the Ghost content management s In this guide you'll set up, deploy, and secure a Ghost 1.0.0 blog on a Linode running Ubuntu 16.04 LTS, using NGINX, MySQL, Node.js, NPM, Ghost-CLI, and Let's Encrypt. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. Replace each instance of `example.com` in this guide with your site’s domain name. {{< /note >}} diff --git a/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-with-docker-compose-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-with-docker-compose-on-ubuntu-18-04/index.md index 41dfda8bca0..55b6dec3028 100644 --- a/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-with-docker-compose-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-with-docker-compose-on-ubuntu-18-04/index.md @@ -40,7 +40,7 @@ In this guide you'll deploy Ghost using Docker Compose on Ubuntu 18.04. Ghost is Replace each instance of example.com in this guide with your Ghost site’s domain name. {{< /note >}} -1. Complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) steps to register a domain name that will point to your Ghost Linode. +1. Complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website#add-dns-records) steps to register a domain name that will point to your Ghost Linode. 1. Your Ghost site will serve its content over HTTPS, so you will need to obtain an SSL/TLS certificate. Use [Certbot](https://certbot.eff.org/) to request and download a free certificate from [Let's Encrypt](https://letsencrypt.org/): @@ -58,7 +58,7 @@ Replace each instance of example.com in this guide with your Ghost site’s doma In your deployment, the web server will run in its own container, and the Certbot container would not be able to directly reload it. A workaround for this limitation would be needed to enable this architecture. {{< /note >}} -1. Install Docker and Docker Compose before proceeding. If you haven't used Docker before, review the [Introduction to Docker](/cloud/guides/introduction-to-docker/), [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker/), and [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/) guides for some context on how these technologies work. +1. Install Docker and Docker Compose before proceeding. If you haven't used Docker before, review the [Introduction to Docker](/cloud/guides/introduction-to-docker), [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker), and [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose) guides for some context on how these technologies work. ### Install Docker diff --git a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-centos-8/index.md b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-centos-8/index.md index 47c2ae6fe38..be56c4b05a6 100644 --- a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-centos-8/index.md +++ b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-centos-8/index.md @@ -27,10 +27,10 @@ aliases: [] ## In This Guide -In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running CentOS 8, using NGINX, MariaDB, Node.js, NPM, and Ghost-CLI. For installation instructions for other distributions, click [here](/cloud/guides/websites/cms/ghost/). +In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running CentOS 8, using NGINX, MariaDB, Node.js, NPM, and Ghost-CLI. For installation instructions for other distributions, click [here](/cloud/guides/websites/cms/ghost). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. Replace each instance of `example.com` in this guide with your site’s domain name. {{< /note >}} diff --git a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-debian-10/index.md b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-debian-10/index.md index 72e7f8e0179..3ecc619bd40 100644 --- a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-debian-10/index.md +++ b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-debian-10/index.md @@ -27,10 +27,10 @@ aliases: [] ## In This Guide -In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running Debian 10, using NGINX, MySQL, Node.js, NPM, Ghost-CLI, and Let's Encrypt. For installation instructions for other distributions, click [here](/cloud/guides/websites/cms/ghost/). +In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running Debian 10, using NGINX, MySQL, Node.js, NPM, Ghost-CLI, and Let's Encrypt. For installation instructions for other distributions, click [here](/cloud/guides/websites/cms/ghost). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. Replace each instance of `example.com` in this guide with your site’s domain name. {{< /note >}} diff --git a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-ubuntu-18-04/index.md index 32df077e675..60a189fcdd7 100644 --- a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-ubuntu-18-04/index.md @@ -27,10 +27,10 @@ aliases: [] ## In This Guide -In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running Ubuntu 18.04 LTS, using NGINX, MySQL, Node.js, NPM, Ghost-CLI, and Let's Encrypt. For installation instructions for other distributions, click [here](/cloud/guides/websites/cms/ghost/). +In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running Ubuntu 18.04 LTS, using NGINX, MySQL, Node.js, NPM, Ghost-CLI, and Let's Encrypt. For installation instructions for other distributions, click [here](/cloud/guides/websites/cms/ghost). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. Replace each instance of `example.com` in this guide with your site’s domain name. {{< /note >}} diff --git a/docs/guides/websites/cms/ispconfig/manage-a-debian-5-lenny-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-a-debian-5-lenny-vps-with-ispconfig/index.md index 8bb02187968..31a8f555944 100644 --- a/docs/guides/websites/cms/ispconfig/manage-a-debian-5-lenny-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-a-debian-5-lenny-vps-with-ispconfig/index.md @@ -20,7 +20,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -33,13 +33,13 @@ Ensure your package lists and packages are up to date by issuing the following c ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql). You will need to read the documentation for detailed installation instructions. Issue the following command (all one line): apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 binutils -You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) to determine what the needs of your system will be. In most cases, the defaults are fine. +You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny) to determine what the needs of your system will be. In most cases, the defaults are fine. ## Install Amavisd-new and SpamAssassin @@ -63,7 +63,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be apt-get install vlogger webalizer -More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny). ## Install fail2ban @@ -71,7 +71,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv apt-get install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial). ## Installing ISPConfig @@ -90,7 +90,7 @@ This script will configure services that you installed above to be monitored and Once it has completed, you may log into the control panel. By default, ISPConfig runs on port 8080, so you may find it at `http://12.34.56.78:8080/`. Replace `12.34.56.78` with your Linode's IP. The default login uses "admin" as the username and "admin" as the password. You will want to change these to prevent someone from accessing your system. -Congratulations! You now have ISPConfig installed on your Debian 5 (Lenny) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/guides/tools-reference/file-transfer/), as you'll need to use this method for uploading files to your Linode. +Congratulations! You now have ISPConfig installed on your Debian 5 (Lenny) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/guides/tools-reference/file-transfer), as you'll need to use this method for uploading files to your Linode. ## Monitor for Software Updates and Security Notices @@ -110,7 +110,7 @@ You may wish to consult the following resources for additional information on th - [ISPConfig Home Page](http://www.ispconfig.org/) - [ISPConfig Support](http://www.ispconfig.org/page/en/support.html) - [ISPConfig Community](http://www.ispconfig.org/page/en/community.html) -- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) +- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu) diff --git a/docs/guides/websites/cms/ispconfig/manage-a-debian-6-squeeze-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-a-debian-6-squeeze-vps-with-ispconfig/index.md index 4895d54e880..14e781a66a9 100644 --- a/docs/guides/websites/cms/ispconfig/manage-a-debian-6-squeeze-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-a-debian-6-squeeze-vps-with-ispconfig/index.md @@ -20,7 +20,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before beginning this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -33,13 +33,13 @@ Ensure your package lists and packages are up to date by issuing the following c ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql). You will need to read the documentation for detailed installation instructions. Issue the following command (all one line): apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 binutils -You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) to determine what the needs of your system will be. In most cases, the defaults are fine. +You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny) to determine what the needs of your system will be. In most cases, the defaults are fine. ## Install Amavisd-new and SpamAssassin @@ -63,7 +63,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be apt-get install vlogger webalizer -More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny). ## Install fail2ban @@ -71,7 +71,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv apt-get install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial). ## Installing ISPConfig @@ -90,7 +90,7 @@ This script will configure services that you installed above to be monitored and Once it has completed, you may log into the control panel. By default, ISPConfig runs on port 8080, so you may find it at `http://12.34.56.78:8080/`. Replace `12.34.56.78` with your Linode's IP. The default login uses "admin" as the username and "admin" as the password. You will want to change these to prevent someone from accessing your system. -Congratulations! You now have ISPConfig installed on your Debian 6 (Squeeze) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/guides/tools-reference/file-transfer/), as you'll need to use this method for uploading files to your Linode. +Congratulations! You now have ISPConfig installed on your Debian 6 (Squeeze) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/guides/tools-reference/file-transfer), as you'll need to use this method for uploading files to your Linode. ## Monitor for Software Updates and Security Notices @@ -109,7 +109,7 @@ You may wish to consult the following resources for additional information on th - [ISPConfig Home Page](http://www.ispconfig.org/) - [ISPConfig Support](http://www.ispconfig.org/page/en/support.html) - [ISPConfig Community](http://www.ispconfig.org/page/en/community.html) -- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) +- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu) diff --git a/docs/guides/websites/cms/ispconfig/manage-a-fedora-13-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-a-fedora-13-vps-with-ispconfig/index.md index e75d8143405..f6978c3f349 100644 --- a/docs/guides/websites/cms/ispconfig/manage-a-fedora-13-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-a-fedora-13-vps-with-ispconfig/index.md @@ -20,7 +20,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -37,7 +37,7 @@ Before you can install some components for ISPConfig, you will need to install s ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-fedora-13/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-fedora-13), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql). You will need to read the documentation for detailed installation instructions. Issue the following command: @@ -85,7 +85,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be mv vlogger-1.3/vlogger /usr/sbin/ rm -rf vlogger* -More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-centos-5/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-centos-5). ## Install fail2ban @@ -93,7 +93,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv yum install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial). ## Installing ISPConfig diff --git a/docs/guides/websites/cms/ispconfig/manage-a-fedora-14-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-a-fedora-14-vps-with-ispconfig/index.md index f77233ceaa5..78e5180f159 100644 --- a/docs/guides/websites/cms/ispconfig/manage-a-fedora-14-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-a-fedora-14-vps-with-ispconfig/index.md @@ -50,7 +50,7 @@ Before you can install some components for ISPConfig, you will need to install s ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql). You will need to read the documentation for detailed installation instructions. Issue the following command: @@ -104,7 +104,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv yum install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial). ## Installing ISPConfig diff --git a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-04-lucid-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-04-lucid-vps-with-ispconfig/index.md index ef36a7bbc0c..2ddde6cf147 100644 --- a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-04-lucid-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-04-lucid-vps-with-ispconfig/index.md @@ -20,7 +20,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -33,13 +33,13 @@ When you have saved this file, issue the following commands to refresh your syst ##Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql). You will need to read the documentation for detailed installation instructions. Issue the following command (all one line): apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl maildrop getmail4 binutils -You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) to determine what the needs of your system will be. In most cases, the defaults are fine. +You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid) to determine what the needs of your system will be. In most cases, the defaults are fine. ##Install Amavisd-new and SpamAssassin @@ -64,7 +64,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be apt-get install vlogger webalizer -More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny). ##Install fail2ban @@ -72,7 +72,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv apt-get install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial). ##Installing ISPConfig @@ -91,7 +91,7 @@ This script will configure services that you installed above to be monitored and Once it has completed, you may login to the control panel. By default, ISPConfig runs on port 8080, so you may find it at `http://12.34.56.78:8080/`. Replace `12.34.56.78` with your Linode's IP. The default login uses "admin" as the username and "admin" as the password. You will want to change these to prevent someone from accessing your system. -Congratulations! You now have ISPConfig installed on your Ubuntu 10.04 (Lucid) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/guides/tools-reference/file-transfer/), as you'll need to use this method for uploading files to your Linode. +Congratulations! You now have ISPConfig installed on your Ubuntu 10.04 (Lucid) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/guides/tools-reference/file-transfer), as you'll need to use this method for uploading files to your Linode. ##Monitor for Software Updates and Security Notices @@ -111,7 +111,7 @@ You may wish to consult the following resources for additional information on th - [ISPConfig Home Page](http://www.ispconfig.org/) - [ISPConfig Support](http://www.ispconfig.org/page/en/support.html) - [ISPConfig Community](http://www.ispconfig.org/page/en/community.html) -- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) +- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu) diff --git a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-10-maverick-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-10-maverick-vps-with-ispconfig/index.md index f07cdcccc93..9262ec63345 100644 --- a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-10-maverick-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-10-maverick-vps-with-ispconfig/index.md @@ -20,7 +20,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -33,13 +33,13 @@ When you have saved this file, issue the following commands to refresh your syst ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql). You will need to read the documentation for detailed installation instructions. Issue the following command (all one line): apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl maildrop getmail4 binutils -You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email/postfix/) to determine what the needs of your system will be. In most cases, the defaults are fine. +You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email/postfix) to determine what the needs of your system will be. In most cases, the defaults are fine. ## Install Amavisd-new and SpamAssassin @@ -64,7 +64,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be apt-get install vlogger webalizer -More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny). ## Install fail2ban @@ -72,7 +72,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv apt-get install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial). ## Installing ISPConfig @@ -91,7 +91,7 @@ This script will configure services that you installed above to be monitored and Once the installation has completed, you may login to the control panel. By default, ISPConfig runs on port 8080, so you may find it at `http://12.34.56.78:8080/`. Replace `12.34.56.78` with your Linode's IP. The default login uses "admin" as the username and "admin" as the password. You will want to change these to prevent someone from accessing your system. -Congratulations! You now have ISPConfig installed on your Ubuntu 10.10 (Maverick) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/guides/tools-reference/file-transfer/), as you'll need to use this method for uploading files to your Linode. +Congratulations! You now have ISPConfig installed on your Ubuntu 10.10 (Maverick) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/guides/tools-reference/file-transfer), as you'll need to use this method for uploading files to your Linode. ## Monitor for Software Updates and Security Notices @@ -111,7 +111,7 @@ You may wish to consult the following resources for additional information on th - [ISPConfig Home Page](http://www.ispconfig.org/) - [ISPConfig Support](http://www.ispconfig.org/page/en/support.html) - [ISPConfig Community](http://www.ispconfig.org/page/en/community.html) -- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) +- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu) diff --git a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-9-10-karmic-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-9-10-karmic-vps-with-ispconfig/index.md index 0449db1e668..07308d2d1d4 100644 --- a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-9-10-karmic-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-9-10-karmic-vps-with-ispconfig/index.md @@ -15,7 +15,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -50,13 +50,13 @@ When you have saved this file, issue the following commands to refresh your syst ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/guides/databases/mysql). You will need to read the documentation for detailed installation instructions. Issue the following command (all one line): apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl maildrop getmail4 binutils -You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/) to determine what the needs of your system will be. In most cases, the defaults are fine. +You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic) to determine what the needs of your system will be. In most cases, the defaults are fine. ## Install Amavisd-new and SpamAssassin @@ -80,7 +80,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be apt-get install vlogger webalizer -More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny). ## Install fail2ban @@ -88,7 +88,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv apt-get install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial). ## Installing ISPConfig @@ -107,7 +107,7 @@ This script will configure services that you installed above to be monitored and Once it has completed, you may login to the control panel. By default, ISPConfig runs on port 8080, so you may find it at `http://12.34.56.78:8080/`. Replace `12.34.56.78` with your Linode's IP. The default login uses "admin" as the username and "admin" as the password. You will want to change these to prevent someone from accessing your system. -Congratulations! You now have ISPConfig installed on your Ubuntu 9.10 (Karmic) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/guides/tools-reference/file-transfer/), as you'll need to use this method for uploading files to your Linode. +Congratulations! You now have ISPConfig installed on your Ubuntu 9.10 (Karmic) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/guides/tools-reference/file-transfer), as you'll need to use this method for uploading files to your Linode. ## Monitor for Software Updates and Security Notices @@ -127,8 +127,8 @@ You may wish to consult the following resources for additional information on th - [ISPConfig Home Page](http://www.ispconfig.org/) - [ISPConfig Support](http://www.ispconfig.org/page/en/support.html) - [ISPConfig Community](http://www.ispconfig.org/page/en/community.html) -- [Upload Files to your Linode](/cloud/guides/tools-reference/file-transfer/) -- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) +- [Upload Files to your Linode](/cloud/guides/tools-reference/file-transfer) +- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu) diff --git a/docs/guides/websites/cms/joomla/manage-web-content-with-joomla/index.md b/docs/guides/websites/cms/joomla/manage-web-content-with-joomla/index.md index 1a32785c458..05daba6d836 100644 --- a/docs/guides/websites/cms/joomla/manage-web-content-with-joomla/index.md +++ b/docs/guides/websites/cms/joomla/manage-web-content-with-joomla/index.md @@ -13,13 +13,13 @@ aliases: [] deprecated: true --- -Joomla is an advanced "content management system" (CMS) used to facilitate the easy creation and ongoing maintenance of dynamic websites. Comparable in some respects to other web applications like [Drupal](/cloud/guides/managing-web-content-with-drupal-7/) and [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/), Joomla also has advanced features that resemble web-development frameworks like [Ruby On Rails](/cloud/guides/development/ror/) and [Django](/cloud/guides/development/frameworks/). Deployed on top of the industry standard [LAMP Stack](/cloud/guides/web-servers/lamp/), Joomla is designed to be both easy to use and manage from the end-user's perspective and easy to administer and host. +Joomla is an advanced "content management system" (CMS) used to facilitate the easy creation and ongoing maintenance of dynamic websites. Comparable in some respects to other web applications like [Drupal](/cloud/guides/managing-web-content-with-drupal-7) and [WordPress](/cloud/guides/how-to-install-and-configure-wordpress), Joomla also has advanced features that resemble web-development frameworks like [Ruby On Rails](/cloud/guides/development/ror) and [Django](/cloud/guides/development/frameworks). Deployed on top of the industry standard [LAMP Stack](/cloud/guides/web-servers/lamp), Joomla is designed to be both easy to use and manage from the end-user's perspective and easy to administer and host. -Before installing Joomla, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you will need to follow the [LAMP Guide](/cloud/guides/web-servers/lamp/) appropriate for the distribution you have deployed. +Before installing Joomla, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, you will need to follow the [LAMP Guide](/cloud/guides/web-servers/lamp) appropriate for the distribution you have deployed. ## Installing Prerequisites -After installing the [LAMP stack](/cloud/guides/web-servers/lamp/), you must attend to a few additional prerequisites to complete this Joomla installation. Ensure that your distribution provides `wget` and `unzip` tools. In Debian- and Ubuntu-based systems, issue the following command: +After installing the [LAMP stack](/cloud/guides/web-servers/lamp), you must attend to a few additional prerequisites to complete this Joomla installation. Ensure that your distribution provides `wget` and `unzip` tools. In Debian- and Ubuntu-based systems, issue the following command: apt-get update apt-get upgrade --show-upgraded diff --git a/docs/guides/websites/cms/movable-type/manage-web-content-with-movable-type/index.md b/docs/guides/websites/cms/movable-type/manage-web-content-with-movable-type/index.md index 5a2b5e634c2..d2be20c8066 100644 --- a/docs/guides/websites/cms/movable-type/manage-web-content-with-movable-type/index.md +++ b/docs/guides/websites/cms/movable-type/manage-web-content-with-movable-type/index.md @@ -13,7 +13,7 @@ aliases: [] deprecated: true --- -Movable Type is a free, open source content management system designed to facilitate easy creation of blogs and websites. We assume you have a working LAMP environment set up on your Linode already; if not, please refer to our [LAMP guides](/cloud/guides/web-servers/lamp/) for setup instructions before continuing with this tutorial. +Movable Type is a free, open source content management system designed to facilitate easy creation of blogs and websites. We assume you have a working LAMP environment set up on your Linode already; if not, please refer to our [LAMP guides](/cloud/guides/web-servers/lamp) for setup instructions before continuing with this tutorial. For this example, we'll be using a LAMP server built on Debian Lenny. Your server environment may be based on a different distribution, but the installation steps should be very similar. For additional help beyond the scope of this document, you may want to consult the [Movable Type Install Guide](http://www.movabletype.org/documentation/installation/). diff --git a/docs/guides/websites/cms/phpfusion/manage-web-content-with-phpfusion/index.md b/docs/guides/websites/cms/phpfusion/manage-web-content-with-phpfusion/index.md index 2f510eb5303..07f5634b745 100644 --- a/docs/guides/websites/cms/phpfusion/manage-web-content-with-phpfusion/index.md +++ b/docs/guides/websites/cms/phpfusion/manage-web-content-with-phpfusion/index.md @@ -15,11 +15,11 @@ deprecated: true PHP Fusion is a lightweight content management system built on the popular LAMP stack. Designed for maximum flexibility and broad support it's for internationalization, in its latest version PHP Fusion focuses on standards compliance, security, and modular design. PHP Fusion is an obvious choice for developers who need to deploy a system to manage content and community interaction. -Before installing PHP Fusion, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, prior to installing PHP Fusion, you will need to install a fully functional [LAMP stack](/cloud/guides/web-servers/lamp/) on your Linode. +Before installing PHP Fusion, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, prior to installing PHP Fusion, you will need to install a fully functional [LAMP stack](/cloud/guides/web-servers/lamp) on your Linode. ## Install Prerequisites -After installing the [LAMP stack](/cloud/guides/web-servers/lamp/), there are a few additional prerequisites that you will need in order to complete this installation of PHP Fusion. Ensure that your distribution provides `wget` and `unzip` tools. On Debian and Ubuntu based systems, issue the following command: +After installing the [LAMP stack](/cloud/guides/web-servers/lamp), there are a few additional prerequisites that you will need in order to complete this installation of PHP Fusion. Ensure that your distribution provides `wget` and `unzip` tools. On Debian and Ubuntu based systems, issue the following command: apt-get update apt-get upgrade --show-upgraded diff --git a/docs/guides/websites/cms/plone/manage-web-content-with-plone-on-debian-5-lenny/index.md b/docs/guides/websites/cms/plone/manage-web-content-with-plone-on-debian-5-lenny/index.md index afe93e49e3b..68c2c3c5b1a 100644 --- a/docs/guides/websites/cms/plone/manage-web-content-with-plone-on-debian-5-lenny/index.md +++ b/docs/guides/websites/cms/plone/manage-web-content-with-plone-on-debian-5-lenny/index.md @@ -13,9 +13,9 @@ aliases: [] deprecated: true --- -Plone is an advanced system for managing complex and content rich websites. Written in the Python programing language using the Zope web-framework, Plone provides a flexible substrate on top of the Zope system for developing highly specialized websites and is supported by an active community of developers. Zope provides a vibrant architecture for building complex and usable tools in a Python and web-centric manner. Plone and Zope may strike systems administrators as unique in comparison to other content management systems because they generate content by modifying the behavior of the Zope application server while incoming requests are proxied through a front end server like [Apache](/cloud/guides/web-servers/apache/) or [nginx](/cloud/guides/web-servers/nginx/). +Plone is an advanced system for managing complex and content rich websites. Written in the Python programing language using the Zope web-framework, Plone provides a flexible substrate on top of the Zope system for developing highly specialized websites and is supported by an active community of developers. Zope provides a vibrant architecture for building complex and usable tools in a Python and web-centric manner. Plone and Zope may strike systems administrators as unique in comparison to other content management systems because they generate content by modifying the behavior of the Zope application server while incoming requests are proxied through a front end server like [Apache](/cloud/guides/web-servers/apache) or [nginx](/cloud/guides/web-servers/nginx). -Before installing the Plone content management system, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). At the end of this document, we will briefly discuss configuring the [Apache](/cloud/guides/web-servers/apache/) and [nginx](/cloud/guides/web-servers/nginx/) web servers for use with Plone as a front end server. +Before installing the Plone content management system, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). At the end of this document, we will briefly discuss configuring the [Apache](/cloud/guides/web-servers/apache) and [nginx](/cloud/guides/web-servers/nginx) web servers for use with Plone as a front end server. ## Installing Plone @@ -38,21 +38,21 @@ The installation interface will present several questions during the installatio /etc/init.d/zope2.10 start -Now, assuming that you have an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) for the domain `example.com` pointed to the IP address for the Linode that is running this Plone instance, you can visit the address `http://example.com:8081` to visit the new Plone site. To login to the Zope administrative interface, visit `http://example.com:8081/manage` and authenticate using the credentials created during the installation process. +Now, assuming that you have an [A Record](/cloud/guides/dns-overview#a-and-aaaa) for the domain `example.com` pointed to the IP address for the Linode that is running this Plone instance, you can visit the address `http://example.com:8081` to visit the new Plone site. To login to the Zope administrative interface, visit `http://example.com:8081/manage` and authenticate using the credentials created during the installation process. You can now proceed with the development of your Plone website! ## Using Plone in Production Environments -Although the Plone application server is capable of generating and providing dynamic content, it's advisable to use a more general purpose web server as a front end running on port `80`. You can use either the [Apache HTTP server](/cloud/guides/web-servers/apache/) or the [nginx server](/cloud/guides/web-servers/nginx/). Basic instructions for setting up the front-end proxy servers can be found below. Both options are functionally equivalent, and your choice is simply a matter of personal preference. +Although the Plone application server is capable of generating and providing dynamic content, it's advisable to use a more general purpose web server as a front end running on port `80`. You can use either the [Apache HTTP server](/cloud/guides/web-servers/apache) or the [nginx server](/cloud/guides/web-servers/nginx). Basic instructions for setting up the front-end proxy servers can be found below. Both options are functionally equivalent, and your choice is simply a matter of personal preference. ### Configuring an Apache Front End Proxy -Begin by installing the Apache web server. You can read more about this process in our documentation for [installing Apache for Debian systems](/cloud/guides/apache-2-web-server-on-debian-5-lenny/). Issue the following command: +Begin by installing the Apache web server. You can read more about this process in our documentation for [installing Apache for Debian systems](/cloud/guides/apache-2-web-server-on-debian-5-lenny). Issue the following command: apt-get install apache2 -Edit the `/etc/apache2/mods-available/proxy.conf` file to properly configure the [ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) as follows: +Edit the `/etc/apache2/mods-available/proxy.conf` file to properly configure the [ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny) as follows: {{< file "/etc/apache2/mods-available/proxy.conf" apache >}} @@ -165,8 +165,8 @@ Congratulations, you now have a fully functional Plone system that is ready for You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [The Zope Book](http://docs.zope.org/zope2/zope2book/) -- [Basic nginx configuration](/cloud/guides/how-to-configure-nginx/) -- [ProxyPass Apache to Multiple Webservers](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) +- [Basic nginx configuration](/cloud/guides/how-to-configure-nginx) +- [ProxyPass Apache to Multiple Webservers](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny) diff --git a/docs/guides/websites/cms/solr/add-a-custom-search-to-your-site-with-solr/index.md b/docs/guides/websites/cms/solr/add-a-custom-search-to-your-site-with-solr/index.md index 9acd4ca10ab..8998f09ef42 100644 --- a/docs/guides/websites/cms/solr/add-a-custom-search-to-your-site-with-solr/index.md +++ b/docs/guides/websites/cms/solr/add-a-custom-search-to-your-site-with-solr/index.md @@ -27,7 +27,7 @@ Apache Solr is an open source search platform that provides administrators with 3. Update your system and package repositories and install `wget`. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Java diff --git a/docs/guides/websites/cms/solr/turbocharge-wordpress-search-with-solr/index.md b/docs/guides/websites/cms/solr/turbocharge-wordpress-search-with-solr/index.md index d7d7611092f..ea96e61667f 100644 --- a/docs/guides/websites/cms/solr/turbocharge-wordpress-search-with-solr/index.md +++ b/docs/guides/websites/cms/solr/turbocharge-wordpress-search-with-solr/index.md @@ -17,12 +17,12 @@ The standard search that is built into WordPress does not provide the best searc In this guide, you will learn how to install Java, install and configure Solr on Ubuntu 14.x or Debian 7.x, and integrate it into your WordPress blog using the WPSolr plugin. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites -- WordPress must be already installed and configured. If you have not yet installed WordPress, follow the [Manage Web Content with WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) guide. +- WordPress must be already installed and configured. If you have not yet installed WordPress, follow the [Manage Web Content with WordPress](/cloud/guides/how-to-install-and-configure-wordpress) guide. - Much of this guide assumes that Solr is being installed on the same server as WordPress; however, Solr can be installed on a second server for security or scalability reasons. Alternate steps are provided should Solr be installed on a second server. diff --git a/docs/guides/websites/cms/strapi/using-strapi-cms/index.md b/docs/guides/websites/cms/strapi/using-strapi-cms/index.md index f802b94ecc3..ba4fad1f246 100644 --- a/docs/guides/websites/cms/strapi/using-strapi-cms/index.md +++ b/docs/guides/websites/cms/strapi/using-strapi-cms/index.md @@ -25,7 +25,7 @@ This guide gives you everything you need to get started self-hosting a Strapi in 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Strapi? @@ -34,7 +34,7 @@ This guide is written for a non-root user. Commands that require elevated privil Strapi also works exceptionally well with a Jamstack architecture. Your frontend, using whatever framework you choose, can readily access your content from Strapi APIs, allowing your content to be rendered from markup. And Strapi's APIs can be customized in myriad ways to meet your applications' needs. -To learn more about the Jamstack architecture and what it offers, take a look at our [Getting Started with the Jamstack](/cloud/guides/what-is-jamstack/) guide. +To learn more about the Jamstack architecture and what it offers, take a look at our [Getting Started with the Jamstack](/cloud/guides/what-is-jamstack) guide. ### Why Strapi? @@ -60,7 +60,7 @@ This guide follows Strapi's Node.js setup process, Strapi's preferred installati Strapi runs as a Node.js project, which this guide sets up using the Node Package Manager (NPM). Once you run the Strapi project-setup script, you can start running your instance and create your administrator user. -1. Install the appropriate version of Node using NVM. Follow along with our [Installing and Using NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/#install-nvm) guide, and then use the following command to install Node: +1. Install the appropriate version of Node using NVM. Follow along with our [Installing and Using NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm#install-nvm) guide, and then use the following command to install Node: ```command nvm install node @@ -74,7 +74,7 @@ Strapi runs as a Node.js project, which this guide sets up using the Node Packag 1. Install Python if you intend to use SQLite for Strapi's database. This is the default behavior with Strapi, and the database used in this guide's example. But Strapi also supports other databases, from MySQL to PostgreSQL. - Refer to our [Install Python 3](/cloud/guides/how-to-install-python-on-ubuntu-20-04/) guide for steps to install Python on your system. Use the dropdown at the top of the guide to select the appropriate distribution for you. + Refer to our [Install Python 3](/cloud/guides/how-to-install-python-on-ubuntu-20-04) guide for steps to install Python on your system. Use the dropdown at the top of the guide to select the appropriate distribution for you. 1. Run the Strapi installation script. This uses NPM to run the script, creating the base Strapi project. @@ -117,7 +117,7 @@ Strapi runs as a Node.js project, which this guide sets up using the Node Packag The Strapi API server and administrator panel are ready for access. As shown in the output, the services are running on `localhost:1337`. You need to either access your server over an SSH tunnel or follow the steps in the next section to access the Strapi interfaces. -To use an SSH tunnel, you can see the steps in our guide on [accessing Futon over SSH](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/#establish-an-ssh-connection). Replace the port number in that guide (`5984`) with Strapi's port number — `1337`. +To use an SSH tunnel, you can see the steps in our guide on [accessing Futon over SSH](/cloud/guides/access-futon-over-ssh-using-putty-on-windows#establish-an-ssh-connection). Replace the port number in that guide (`5984`) with Strapi's port number — `1337`. Whichever way you use to access Strapi, start by navigating to its administrator panel. There you are prompted to create an initial administrator user. @@ -128,12 +128,12 @@ From there, you are taken into the administrator panel for your new Strapi insta ![Strapi administrator panel](strapi-welcome.png) {{< note >}} -Subsequent sections of this guide assume you have followed the [Setting Up for Remote Access](/cloud/guides/using-strapi-cms/#setting-up-for-remote-access) section below to configure Strapi for remote access. +Subsequent sections of this guide assume you have followed the [Setting Up for Remote Access](/cloud/guides/using-strapi-cms#setting-up-for-remote-access) section below to configure Strapi for remote access. {{< /note >}} #### Setting Up for Remote Access -By default, Strapi runs its server and administrator panel on `localhost`. Preferably, you would then use a reverse proxy like [NGINX](/cloud/guides/use-nginx-reverse-proxy/) to provide access to the API server endpoints. +By default, Strapi runs its server and administrator panel on `localhost`. Preferably, you would then use a reverse proxy like [NGINX](/cloud/guides/use-nginx-reverse-proxy) to provide access to the API server endpoints. However, Strapi's administrator interface requires some additional configuration if you want to be able to access it remotely. The steps in this section show you how to make the necessary changes. @@ -169,13 +169,13 @@ These steps use `example.com` as the access point, so replace this with your ser 1. Open the port you are using to access Strapi in your system's firewall. - - On **Debian** and **Ubuntu**, manage firewall rules using UFW. Learn more about UFW in our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). With UFW configured and running, you should be able to open the necessary port using the following command: + - On **Debian** and **Ubuntu**, manage firewall rules using UFW. Learn more about UFW in our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). With UFW configured and running, you should be able to open the necessary port using the following command: ```command sudo ufw allow 1337/tcp ``` - - On **CentOS** and similar distributions, manage the firewall rules using Firewalld. Learn more in our guide [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/). With Firewalld configured and running, you should be able to open the necessary port using the following commands: + - On **CentOS** and similar distributions, manage the firewall rules using Firewalld. Learn more in our guide [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos). With Firewalld configured and running, you should be able to open the necessary port using the following commands: ```command sudo firewall-cmd --zone=public --add-port=1337/tcp --permanent @@ -380,7 +380,7 @@ curl http://example.com:1337/api/posts -H "Authorization: bearer }} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Optional PHP Extensions diff --git a/docs/guides/websites/cms/wordpress/high-availability-wordpress/index.md b/docs/guides/websites/cms/wordpress/high-availability-wordpress/index.md index 36910d61042..cec8f76e483 100644 --- a/docs/guides/websites/cms/wordpress/high-availability-wordpress/index.md +++ b/docs/guides/websites/cms/wordpress/high-availability-wordpress/index.md @@ -20,7 +20,7 @@ This guide configures a high availability WordPress site with a two-Linode clust This guide is written for Debian 7 or Ubuntu 14.04. To complete this guide, ensure that there are two Linodes and a NodeBalancer present on your account. Both Linodes need a [Private IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address). Also ensure that both of your Linodes have been configured with SSH keys, and place the opposing Linode's SSH key in the other's `/.ssh/authorized_keys` file. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Required Software Packages diff --git a/docs/guides/websites/cms/wordpress/how-to-install-and-configure-wordpress/index.md b/docs/guides/websites/cms/wordpress/how-to-install-and-configure-wordpress/index.md index 120602a9701..539086059d8 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-and-configure-wordpress/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-and-configure-wordpress/index.md @@ -20,10 +20,10 @@ deprecated_link: websites/cms/install-wordpress-ubuntu-18-04/ WordPress is a popular, dynamic, blog-focused content management system. The software is built upon a LAMP or LEMP stack and features an extensive plugin framework and theme system, which allows site owners and developers to deploy easy-to-use and powerful publishing tools. -If you're using Ubuntu 16.04, please use our guide on how to [Install WordPress on Ubuntu 16.04](/cloud/guides/install-wordpress-on-ubuntu-16-04/). +If you're using Ubuntu 16.04, please use our guide on how to [Install WordPress on Ubuntu 16.04](/cloud/guides/install-wordpress-on-ubuntu-16-04). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Before You Begin @@ -37,7 +37,7 @@ This guide is written for a non-root user. Commands that require elevated privil The first command will output your short hostname; the second, your fully-qualified domain name (FQDN). -- You have a configured web stack set up. This can be a [LAMP](/cloud/guides/web-servers/lamp/) or [LEMP](/cloud/guides/web-servers/lemp/) stack. +- You have a configured web stack set up. This can be a [LAMP](/cloud/guides/web-servers/lamp) or [LEMP](/cloud/guides/web-servers/lemp) stack. - MySQL has a database set up for WordPress. If you do not have a database, create it: diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-almalinux-8/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-almalinux-8/index.md index d2bdfc6ae59..b6a17f101e6 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-almalinux-8/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-almalinux-8/index.md @@ -32,7 +32,7 @@ WordPress is an open-source content management system (CMS). WordPress remains p 1. Replace all instances of `example.com` in this guide with your domain name. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Set Up the Prerequisites @@ -70,9 +70,9 @@ To satisfy these requirements, you can set up a LAMP (Linux, Apache, MySQL, and Both of the guides linked below are for CentOS 8 rather than AlmaLinux 8. However, the steps in these guides have been tested and verified to work on AlmaLinux without requiring any changes. {{< /note >}} - - To create a LAMP stack, follow the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. The `php.ini` file referred to in the guide can be found at the following location: `/etc/opt/remi/php74/php.ini`. + - To create a LAMP stack, follow the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) guide. The `php.ini` file referred to in the guide can be found at the following location: `/etc/opt/remi/php74/php.ini`. - - To create a LEMP stack, follow the [How to Install the LEMP Stack on CentOS 8](/cloud/guides/how-to-install-the-lemp-stack-on-centos-8/) guide. The `www.conf` file referred to in the guide can be found at `/etc/opt/remi/php74/php-fpm.d/www.conf`, and the `php.ini` file can be found at `/etc/opt/remi/php74/php.ini`. + - To create a LEMP stack, follow the [How to Install the LEMP Stack on CentOS 8](/cloud/guides/how-to-install-the-lemp-stack-on-centos-8) guide. The `www.conf` file referred to in the guide can be found at `/etc/opt/remi/php74/php-fpm.d/www.conf`, and the `php.ini` file can be found at `/etc/opt/remi/php74/php.ini`. In addition to the steps in the guide, take the following steps to prepare your NGINX configuration for WordPress. @@ -188,4 +188,4 @@ Your WordPress site is up and running. You can reach the site's dashboard, where To get the most out of your WordPress site, check out WordPress's [First Steps with WordPress](https://wordpress.org/support/article/first-steps-with-wordpress/)guide. It helps you figure out how to start using and customizing your WordPress site. -To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/cloud/guides/configuring-wordpress/) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. +To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/cloud/guides/configuring-wordpress) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-debian-10/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-debian-10/index.md index ae2cbb33b96..39087a05a4a 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-debian-10/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-debian-10/index.md @@ -34,7 +34,7 @@ In this guide, learn how to install WordPress on your Debian 10 server. 1. Replace all instances of `example.com` in this guide with your domain name. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Set Up the Prerequisites @@ -72,7 +72,7 @@ To satisfy these requirements, you can set up a LAMP (Linux, Apache, MySQL, and 1. Complete the installation of a LAMP or LEMP stack by following the appropriate guide linked below. Ignore the sections on installing PHP, and otherwise replace any mention of the PHP version number with **7.4**. - - To create a LAMP stack, follow the [Install a LAMP Stack on Debian 10 ](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. Additionally, you need to ensure that the `rewrite` Apache module is enabled, which you can do with the following steps: + - To create a LAMP stack, follow the [Install a LAMP Stack on Debian 10 ](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide. Additionally, you need to ensure that the `rewrite` Apache module is enabled, which you can do with the following steps: - See what modules are enabled using the below command: @@ -83,7 +83,7 @@ To satisfy these requirements, you can set up a LAMP (Linux, Apache, MySQL, and sudo a2enmod rewrite sudo systemctl restart apache2 - - To create a LEMP stack, follow the [How to Install the LEMP Stack on Debian 10](/cloud/guides/how-to-install-the-lemp-stack-on-debian-10/) guide. Additionally, take the following steps to prepare your NGINX configuration for WordPress. + - To create a LEMP stack, follow the [How to Install the LEMP Stack on Debian 10](/cloud/guides/how-to-install-the-lemp-stack-on-debian-10) guide. Additionally, take the following steps to prepare your NGINX configuration for WordPress. - Add `index.php` to the `location /` block of your site's configuration file. @@ -175,4 +175,4 @@ Congratulations! Your WordPress site is up and running. You can reach the site's To start learning more about getting the most out of your WordPress site, check out WordPress's [First Steps with WordPress](https://wordpress.org/support/article/first-steps-with-wordpress/). It helps you figure out how to start using and making your WordPress site your own. -To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/cloud/guides/configuring-wordpress/) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. +To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/cloud/guides/configuring-wordpress) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-2004/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-2004/index.md index 43c4e27c0fd..a133210c9aa 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-2004/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-2004/index.md @@ -33,7 +33,7 @@ In this guide, learn how to install WordPress on your Ubuntu 20.04 server. 1. Replace all instances of `example.com` in this guide with your domain name. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Set Up the Prerequisites @@ -46,9 +46,9 @@ To satisfy these requirements, you can set up a LAMP (Linux, Apache, MySQL, and 1. Install and configure a LAMP or LEMP stack. For either stack, make sure that you are installing at least PHP version **7.4**. This is the default on Ubuntu 20.04. Additionally, make sure to replace all version numbers in the below guides with the number of the version you are installing. - - To create a LAMP stack, follow the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide. + - To create a LAMP stack, follow the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04) guide. - - To create a LEMP stack, follow the [How to Install the LEMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) guide. + - To create a LEMP stack, follow the [How to Install the LEMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04) guide. 1. If you are using a LAMP stack, make sure the `rewrite` module is enabled. @@ -153,4 +153,4 @@ Congratulations! Your WordPress site is up and running. You can reach the site's To start learning more about getting the most out of your WordPress site, check out WordPress's [First Steps with WordPress](https://wordpress.org/support/article/first-steps-with-wordpress/). It helps you figure out how to start using and making your WordPress site your own. -To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/cloud/guides/configuring-wordpress/) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. +To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/cloud/guides/configuring-wordpress) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-22-04/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-22-04/index.md index 7f98a267350..a57b3510d19 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-22-04/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-22-04/index.md @@ -37,9 +37,9 @@ WordPress can be downloaded to an Ubuntu server using `wget`. It only requires m ## WordPress Prerequisites -A Ubuntu LAMP or LEMP stack satisfies all these prerequisites. A LAMP stack includes the Linux operating system, the [Apache web server](https://httpd.apache.org/docs/2.4/), the [MySQL RDBMS](https://dev.mysql.com/), and the PHP programming language. A LEMP stack substitutes [NGINX](https://www.nginx.com/) (pronounced "engine-x") in place of Apache and sometimes uses the MariaDB database instead of MySQL. Either stack can be installed using the standard Ubuntu library. For information on [installing a LAMP stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/), see the Linode guide. There is also a Linode guide to [installing a LEMP stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04/). +A Ubuntu LAMP or LEMP stack satisfies all these prerequisites. A LAMP stack includes the Linux operating system, the [Apache web server](https://httpd.apache.org/docs/2.4/), the [MySQL RDBMS](https://dev.mysql.com/), and the PHP programming language. A LEMP stack substitutes [NGINX](https://www.nginx.com/) (pronounced "engine-x") in place of Apache and sometimes uses the MariaDB database instead of MySQL. Either stack can be installed using the standard Ubuntu library. For information on [installing a LAMP stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04), see the Linode guide. There is also a Linode guide to [installing a LEMP stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04). -For greater security, WordPress highly recommends HTTPS. However, these instructions work whether HTTPS is configured on the server or not. For information about enabling HTTPS on Ubuntu, see the [Linode guide on enabling HTTPS on Apache](/cloud/guides/enabling-https-using-certbot-with-apache-on-ubuntu/). An alternate guide for [NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) is also available. +For greater security, WordPress highly recommends HTTPS. However, these instructions work whether HTTPS is configured on the server or not. For information about enabling HTTPS on Ubuntu, see the [Linode guide on enabling HTTPS on Apache](/cloud/guides/enabling-https-using-certbot-with-apache-on-ubuntu). An alternate guide for [NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu) is also available. {{< note >}} WordPress sites are almost always accessed using a domain name. For more information on domains and how to create a DNS record, see the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). @@ -54,7 +54,7 @@ WordPress sites are almost always accessed using a domain name. For more informa 1. Fully configure a LAMP or LEMP stack on the Linode and confirm it is working properly. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Prepare the LAMP or LEMP Stack for WordPress @@ -291,7 +291,7 @@ The Ubuntu LAMP or LEMP stack is now fully configured and ready for WordPress. F The WordPress Dashboard is fairly self-explanatory. From the left-menu of the Dashboard, users can access pages allowing them to change settings, select themes, and install new plug-ins. Users can select the **Posts** option to add new pages or modify existing content. -Before proceeding, it is worthwhile to spend more time learning about WordPress. The [First Steps with WordPress guide](https://wordpress.org/support/article/first-steps-with-wordpress/) is very useful. It walks users through the WordPress interface and explains how to perform basic tasks. In addition, [How to Configure WordPress](/cloud/guides/configuring-wordpress/) summarizes how to configure some of the more common WordPress settings. +Before proceeding, it is worthwhile to spend more time learning about WordPress. The [First Steps with WordPress guide](https://wordpress.org/support/article/first-steps-with-wordpress/) is very useful. It walks users through the WordPress interface and explains how to perform basic tasks. In addition, [How to Configure WordPress](/cloud/guides/configuring-wordpress) summarizes how to configure some of the more common WordPress settings. For complete information about WordPress, including all advanced settings, see the [WordPress documentation site](https://wordpress.org/support/). diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-7/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-7/index.md index 78145d90319..99995c75b77 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-7/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-7/index.md @@ -41,15 +41,15 @@ Before moving ahead, make sure you have completed the following steps. 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} -1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. +1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. -1. Follow the [Install a LAMP Stack on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/) guide. **Skip the steps** in the [Configure Apache Virtual Hosts File](/cloud/guides/how-to-install-wordpress-using-wp-cli-on-centos-7/#configure-apache-virtual-hosts-file), the [Create a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/#create-a-mariadb-database), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. +1. Follow the [Install a LAMP Stack on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7) guide. **Skip the steps** in the [Configure Apache Virtual Hosts File](/cloud/guides/how-to-install-wordpress-using-wp-cli-on-centos-7#configure-apache-virtual-hosts-file), the [Create a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7#create-a-mariadb-database), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. {{< note respectIndent=false >}} -When following the steps to [install PHP](#install-php) in the [Install a LAMP Stack on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/) guide, you will need to issue the command included below to install the required PHP packages. The command in the linked guide does not currently work with CentOS 7. +When following the steps to [install PHP](#install-php) in the [Install a LAMP Stack on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7) guide, you will need to issue the command included below to install the required PHP packages. The command in the linked guide does not currently work with CentOS 7. sudo apt install php libapache2-mod-php php-mysql {{< /note >}} diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-8/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-8/index.md index 080a8c060b2..784608244b9 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-8/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-8/index.md @@ -36,17 +36,17 @@ This tutorial covers how to complete the following tasks: Before moving ahead, make sure you have completed the following steps. -1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. +1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. 1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guides. 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} -1. Follow the [Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. **Skip the steps** in the [Configure Name-Based Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/#configure-name-based-virtual-hosts), the [Create a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/#create-a-mariadb-database), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. +1. Follow the [Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) guide. **Skip the steps** in the [Configure Name-Based Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8#configure-name-based-virtual-hosts), the [Create a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8#create-a-mariadb-database), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. ## Install WP-CLI diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-debian-10/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-debian-10/index.md index dc165e63dad..0a0447417f3 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-debian-10/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-debian-10/index.md @@ -41,12 +41,12 @@ Before moving ahead, make sure you have completed the following steps. 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} -1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. +1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. -1. Follow the [Install a LAMP Stack on Debian 10 (Buster)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. Skip the steps in the [Configure Name-Based Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#configure-name-based-virtual-hosts), the [Set Up a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#mariadb), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. +1. Follow the [Install a LAMP Stack on Debian 10 (Buster)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide. Skip the steps in the [Configure Name-Based Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10#configure-name-based-virtual-hosts), the [Set Up a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10#mariadb), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. ## Install WP-CLI diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md index b187882941d..f533cb68c2f 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md @@ -42,12 +42,12 @@ Before moving ahead, make sure you have completed the following steps. 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} -1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. +1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. -1. Follow the [Installation](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#installation), [Apache Configuration](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#apache), and [PHP Configuration](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#php) sections of the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. Skip all other sections. This guide will cover the steps needed to configure your [Apache Virtual Hosts File](#configure-apache-virtual-hosts-file). +1. Follow the [Installation](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04#installation), [Apache Configuration](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04#apache), and [PHP Configuration](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04#php) sections of the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) guide. Skip all other sections. This guide will cover the steps needed to configure your [Apache Virtual Hosts File](#configure-apache-virtual-hosts-file). ## Install WP-CLI diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordprress-using-wp-cli-on-debian-9/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordprress-using-wp-cli-on-debian-9/index.md index 6b1e7d598e7..87670b0123f 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordprress-using-wp-cli-on-debian-9/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordprress-using-wp-cli-on-debian-9/index.md @@ -42,14 +42,14 @@ Before moving ahead, make sure you have completed the following steps. 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} -1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. +1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. -1. Follow the [Install a LAMP Stack on Debian 10 (Buster)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. Skip the steps in the [Configure Name-Based Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#configure-name-based-virtual-hosts), the [Set Up a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#mariadb), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. +1. Follow the [Install a LAMP Stack on Debian 10 (Buster)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide. Skip the steps in the [Configure Name-Based Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10#configure-name-based-virtual-hosts), the [Set Up a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10#mariadb), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. - When following the steps to [install PHP](#install-php) in the [Install a LAMP Stack on Debian 10 (Buster)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, you will need to issue the command included below to install the required PHP packages, as the command in the linked guide does not currently work with Debian 9. + When following the steps to [install PHP](#install-php) in the [Install a LAMP Stack on Debian 10 (Buster)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10) guide, you will need to issue the command included below to install the required PHP packages, as the command in the linked guide does not currently work with Debian 9. sudo apt install php libapache2-mod-php php-mysql diff --git a/docs/guides/websites/cms/wordpress/how-to-secure-wordpress/index.md b/docs/guides/websites/cms/wordpress/how-to-secure-wordpress/index.md index 2bcbe311bb1..b9efdd171c6 100644 --- a/docs/guides/websites/cms/wordpress/how-to-secure-wordpress/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-secure-wordpress/index.md @@ -23,7 +23,7 @@ WordPress is a popular content management and website creation software system u ## Securing Your Website Through HTTPS -The first step in securing your WordPress installation is to ensure that you have a [TLS/SSL certificate](/cloud/guides/what-is-a-tls-certificate/) configured using the TLS v1.2 (or later) protocol. This allows your website to be accessed securely on all major browsers, including Chrome, Firefox, Safari, and Edge (all of which require TLS v1.2 or later as of 2020). You can quickly analyze your site's current connection by navigating to your domain in a web browser. Look for the lock icon to the left of the URL in the address bar. Clicking on this lock should show a message similar to "Connection secure" if your site meets the browser's TLS requirements. You can also check a domain's certificate by using the [SSL Server Test](https://www.ssllabs.com/ssltest/) by Qualys SSL Labs. +The first step in securing your WordPress installation is to ensure that you have a [TLS/SSL certificate](/cloud/guides/what-is-a-tls-certificate) configured using the TLS v1.2 (or later) protocol. This allows your website to be accessed securely on all major browsers, including Chrome, Firefox, Safari, and Edge (all of which require TLS v1.2 or later as of 2020). You can quickly analyze your site's current connection by navigating to your domain in a web browser. Look for the lock icon to the left of the URL in the address bar. Clicking on this lock should show a message similar to "Connection secure" if your site meets the browser's TLS requirements. You can also check a domain's certificate by using the [SSL Server Test](https://www.ssllabs.com/ssltest/) by Qualys SSL Labs. ### Installing a TLS Certificate using Certbot @@ -31,12 +31,12 @@ If your site does not yet have a certificate, you can easily generate one direct Install certbot and configure your TLS certificate by using one of the following guides: -- [How to Use Certbot to Install SSL/TLS Certificates for NGINX on Ubuntu 20.04](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) -- [How to Use Certbot to Install SSL/TLS Certificates for Apache on Ubuntu 20.04](/cloud/guides/enabling-https-using-certbot-with-apache-on-ubuntu/) +- [How to Use Certbot to Install SSL/TLS Certificates for NGINX on Ubuntu 20.04](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu) +- [How to Use Certbot to Install SSL/TLS Certificates for Apache on Ubuntu 20.04](/cloud/guides/enabling-https-using-certbot-with-apache-on-ubuntu) You can also follow the [installation instructions](https://certbot.eff.org/instructions) on certbot's website. This should prompt you to select your web server software as well as the operating system of your server and will output the specific instructions that should work for you. -If you prefer to use a Certificate Authority other then Let's Encrypt, see the [Obtain a Commercially Signed TLS Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) guide for further instructions. +If you prefer to use a Certificate Authority other then Let's Encrypt, see the [Obtain a Commercially Signed TLS Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate) guide for further instructions. ### Configuring the Web Server @@ -44,11 +44,11 @@ Next, you'll want to verify that your web server is properly configured to handl - **Nginx** - **Nginx documentation:** [Configuring HTTPS servers](http://nginx.org/en/docs/http/configuring_https_servers.html) - - **Linode guide:** [Getting Started with NGINX - Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) + - **Linode guide:** [Getting Started with NGINX - Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) - **Apache** - **Apache documentation:** [SSL/TLS Strong Encryption: How-To ](https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html) - - **Linode guide:** [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/) + - **Linode guide:** [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu) ## Enforcing a Strong Password Policy diff --git a/docs/guides/websites/cms/wordpress/how-to-set-up-multiple-wordpress-sites-with-lxd-containers/index.md b/docs/guides/websites/cms/wordpress/how-to-set-up-multiple-wordpress-sites-with-lxd-containers/index.md index aaa0ac75c72..3707079ddf9 100644 --- a/docs/guides/websites/cms/wordpress/how-to-set-up-multiple-wordpress-sites-with-lxd-containers/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-set-up-multiple-wordpress-sites-with-lxd-containers/index.md @@ -65,23 +65,23 @@ For simplicity, the term *container* is used throughout this guide to describe t ## Before You Begin -1. Follow the [A Beginner's Guide to LXD: Setting Up an Apache Web Server In a Container](/cloud/guides/beginners-guide-to-lxd/) guide. Specifically, you only need to follow these sections: the [Before You Begin](/cloud/guides/beginners-guide-to-lxd/#before-you-begin) section, and the [Initialize LXD](/cloud/guides/beginners-guide-to-lxd/#initialize-lxd) section. The guide instructs you to use Ubuntu 19.04 for your server, but you should select Ubuntu 20.04 instead (unless you prefer a different distribution). LXD 4.0.5 is installed by default on Ubuntu 20.04. +1. Follow the [A Beginner's Guide to LXD: Setting Up an Apache Web Server In a Container](/cloud/guides/beginners-guide-to-lxd) guide. Specifically, you only need to follow these sections: the [Before You Begin](/cloud/guides/beginners-guide-to-lxd#before-you-begin) section, and the [Initialize LXD](/cloud/guides/beginners-guide-to-lxd#initialize-lxd) section. The guide instructs you to use Ubuntu 19.04 for your server, but you should select Ubuntu 20.04 instead (unless you prefer a different distribution). LXD 4.0.5 is installed by default on Ubuntu 20.04. {{< note respectIndent=false >}} For this guide LXD version 3.3 or later is needed. Check the version with the following command: lxd --version -If the version is not 3.3 or later, or if your preferred distribution does not have LXD installed by default, update to the latest version. Install the snap package as instructed in [A Beginner's Guide to LXD: Setting Up an Apache Webserver In a Container](/cloud/guides/beginners-guide-to-lxd/). Then use the following command: +If the version is not 3.3 or later, or if your preferred distribution does not have LXD installed by default, update to the latest version. Install the snap package as instructed in [A Beginner's Guide to LXD: Setting Up an Apache Webserver In a Container](/cloud/guides/beginners-guide-to-lxd). Then use the following command: sudo lxd.migrate {{< /note >}} -1. This guide requires you to own a domain name. This guide uses the hostnames `apache1.example.com` and `nginx1.example.com` for the two example WordPress websites. Throughout this guide, replace these names with subdomains under the domain that you own. Be sure to set up their DNS entries to point them to the IP address of your server. Specifically, create [A records](/cloud/guides/dns-overview/#a-and-aaaa) for your subdomains. +1. This guide requires you to own a domain name. This guide uses the hostnames `apache1.example.com` and `nginx1.example.com` for the two example WordPress websites. Throughout this guide, replace these names with subdomains under the domain that you own. Be sure to set up their DNS entries to point them to the IP address of your server. Specifically, create [A records](/cloud/guides/dns-overview#a-and-aaaa) for your subdomains. - If you're not familiar with DNS, review our [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide. After you have registered a domain name, you can choose to use Linode's [DNS Manager](https://www.linode.com/products/dns-manager/) to manage your DNS records. For help with this service, see our [DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Your server's IP address can be found in the Cloud Manager; see our [Find Your Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for help. If you prefer to use a different DNS management service, follow their instructions for creating A records. + If you're not familiar with DNS, review our [DNS Records: An Introduction](/cloud/guides/dns-overview) guide. After you have registered a domain name, you can choose to use Linode's [DNS Manager](https://www.linode.com/products/dns-manager/) to manage your DNS records. For help with this service, see our [DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Your server's IP address can be found in the Cloud Manager; see our [Find Your Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for help. If you prefer to use a different DNS management service, follow their instructions for creating A records. -1. Complete the [Set Up a Reverse Proxy in an LXD Container to Host Multiple Websites](/cloud/guides/beginners-guide-to-lxd-reverse-proxy/) guide. The guide instructs you to create a reverse proxy in a `proxy` container, and two web server containers, `apache1` and `nginx1`. These containers run the Apache 2 and NGINX web servers respectively. Then, the guide sets up Let's Encrypt TLS certificates for both websites. +1. Complete the [Set Up a Reverse Proxy in an LXD Container to Host Multiple Websites](/cloud/guides/beginners-guide-to-lxd-reverse-proxy) guide. The guide instructs you to create a reverse proxy in a `proxy` container, and two web server containers, `apache1` and `nginx1`. These containers run the Apache 2 and NGINX web servers respectively. Then, the guide sets up Let's Encrypt TLS certificates for both websites. After completion of the linked guide, keep all of the containers that were created. Later in the current guide, WordPress is installed in the two web server containers. diff --git a/docs/guides/websites/cms/wordpress/how-to-speed-up-a-wordpress-website/index.md b/docs/guides/websites/cms/wordpress/how-to-speed-up-a-wordpress-website/index.md index 6636253a711..6de3d44751e 100644 --- a/docs/guides/websites/cms/wordpress/how-to-speed-up-a-wordpress-website/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-speed-up-a-wordpress-website/index.md @@ -13,7 +13,7 @@ external_resources: - '[Profiling with XHProf and XHGUI](https://www.engineyard.com/blog/topic/profiling-with-xhprof-and-xhgui)' - '[Tideways XHProf Extension](https://github.com/tideways/php-xhprof-extension)' - '[XHGUI](https://github.com/perftools/xhgui)' -- '[How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/)' +- '[How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose)' aliases: [] --- @@ -289,9 +289,9 @@ When you visit a WordPress page, the page is dynamically generated on each reque After you fix code performance bottlenecks and install other best practice measures, you can fine-tune the basic settings for your web server and database. This involves estimating the average memory and CPU usage of a request, comparing it with the total level of resources for your server, and then adjusting your software configuration to make the most of those resources. Linode has guides on optimizing Apache and MySQL: -- [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server/) +- [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server) -- [How to Optimize MySQL Performance Using MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner/) +- [How to Optimize MySQL Performance Using MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner) ## Optional: Profile Your Own WordPress Site diff --git a/docs/guides/websites/cms/wordpress/how-to-update-php-for-wordpress/index.md b/docs/guides/websites/cms/wordpress/how-to-update-php-for-wordpress/index.md index 250c1b8c3ca..1cf0f883ead 100644 --- a/docs/guides/websites/cms/wordpress/how-to-update-php-for-wordpress/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-update-php-for-wordpress/index.md @@ -45,12 +45,12 @@ Additional best practices for WordPress upgrades are listed below: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. **Do not** follow the *Configure a Firewall* section yet as this guide includes firewall rules specifically for an OpenVPN server. -1. A full LAMP stack must already be installed. See the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide for more details. +1. A full LAMP stack must already be installed. See the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04) guide for more details. -1. WordPress should already be installed. See the Linode guides on [Installing WordPress](/cloud/guides/install-wordpress-ubuntu-18-04/) and [Deploying WordPress from Quick Deploy Apps](/cloud/marketplace-docs/guides/wordpress/). +1. WordPress should already be installed. See the Linode guides on [Installing WordPress](/cloud/guides/install-wordpress-ubuntu-18-04) and [Deploying WordPress from Quick Deploy Apps](/cloud/marketplace-docs/guides/wordpress). {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Update PHP @@ -93,7 +93,7 @@ Although unlikely, the site or its contents could be corrupted during the update The WordPress site can be backed up externally using FTP or SCP. It can also be backed up in a different folder on the Linode. In the long run, it is much safer to back up the files and database to external storage space. This preserves the archive in the event the server hard drive becomes corrupted or access to the server is permanently lost. However, to quickly upgrade WordPress or PHP, a temporary backup copy can be made somewhere else on the Linode. {{< note >}} -For a nominal fee, Linode can take a snapshot of your site through its [Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service). A variety of third-party tools are also available. [cPanel](/cloud/guides/use-cpanel-to-manage-domains-and-databases/) can be used to back up a site, but it has a licensing fee. A variety of third-party WordPress plug-ins are also available for this purpose. +For a nominal fee, Linode can take a snapshot of your site through its [Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service). A variety of third-party tools are also available. [cPanel](/cloud/guides/use-cpanel-to-manage-domains-and-databases) can be used to back up a site, but it has a licensing fee. A variety of third-party WordPress plug-ins are also available for this purpose. {{< /note >}} To back up the WordPress files on the Linode, follow the below steps: @@ -109,7 +109,7 @@ To back up the WordPress files on the Linode, follow the below steps: sudo cp public_html/ -r ~/wpbackup {{< note respectIndent=false >}} -To back up files to another system, launch an FTP application from the other system and connect to Linode. Navigate to the `/var/www/html/yourdomainname.com` and copy over the entire contents of the `public_html` directory. For more information on using FTP, see our [Transfer Files with FileZilla](/cloud/guides/filezilla/) guide. +To back up files to another system, launch an FTP application from the other system and connect to Linode. Navigate to the `/var/www/html/yourdomainname.com` and copy over the entire contents of the `public_html` directory. For more information on using FTP, see our [Transfer Files with FileZilla](/cloud/guides/filezilla) guide. {{< /note >}} There are several alternatives for backing up a WordPress database. The [phpMyAdmin](https://www.phpmyadmin.net/) application is a popular choice. Many plug-ins can also back up the database. However, the MySQL utility `mysqldump` works in all situations without any additional tools. Back up your WordPress database by following the below procedure. @@ -129,7 +129,7 @@ To use a newer version of PHP, all necessary PHP modules must be upgraded to the sudo apt install php7.4 {{< note respectIndent=false >}} -If the `php7.4` component cannot be found on the system, version 7.4 might still be the default version. To determine the default version of the `php` package, run the command `sudo apt list php`. If this displays a reference to version 7.4, run the command `sudo apt install php`. To install a different version of PHP, follow the instructions in the [How to Install a Specific Version of PHP](/cloud/guides/how-to-update-php-for-wordpress/#how-to-install-a-specific-version-of-php) section. +If the `php7.4` component cannot be found on the system, version 7.4 might still be the default version. To determine the default version of the `php` package, run the command `sudo apt list php`. If this displays a reference to version 7.4, run the command `sudo apt install php`. To install a different version of PHP, follow the instructions in the [How to Install a Specific Version of PHP](/cloud/guides/how-to-update-php-for-wordpress#how-to-install-a-specific-version-of-php) section. {{< /note >}} 1. Install the 7.4 version of the other PHP modules, along with the `libapache2-mod-php7.4` component. The following list includes the essential PHP libraries for WordPress. @@ -166,7 +166,7 @@ If NGINX is used as the web server, run the following commands instead: Also, change the `fastcgi_pass` value in `/etc/nginx/conf.d/yourdomain.com.conf` to `fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;`. -Consult the Linode guide on [NGINX and PHP](/cloud/guides/serve-php-php-fpm-and-nginx/) for more details. +Consult the Linode guide on [NGINX and PHP](/cloud/guides/serve-php-php-fpm-and-nginx) for more details. {{< /note >}} 1. Restart the Apache server to apply the changes. @@ -191,7 +191,7 @@ php7.3/focal 7.3.29-1+ubuntu20.04.1+deb.sury.org+1 all 1. Install this version of PHP. sudo apt install php7.3 -1. Update all other PHP packages to the same version at the same time. For example, `php7.3-mysql` and `libapache2-mod-php7.3` must also be installed. See the [Update PHP on Ubuntu 20.04](/cloud/guides/how-to-update-php-for-wordpress/#update-php-on-ubuntu-2004) section for a complete list. +1. Update all other PHP packages to the same version at the same time. For example, `php7.3-mysql` and `libapache2-mod-php7.3` must also be installed. See the [Update PHP on Ubuntu 20.04](/cloud/guides/how-to-update-php-for-wordpress#update-php-on-ubuntu-2004) section for a complete list. If the package is not available, it might be available via the `ondrej` *Personal Package Archive* (PPA), developed by Ondřej Surý. This archive provides access to the most recent versions of PHP. The same naming convention as above is used. diff --git a/docs/guides/websites/cms/wordpress/how-to-use-nginx-fastcgi-page-cache-with-wordpress/index.md b/docs/guides/websites/cms/wordpress/how-to-use-nginx-fastcgi-page-cache-with-wordpress/index.md index 24ca3c5f0ea..47f78e92645 100644 --- a/docs/guides/websites/cms/wordpress/how-to-use-nginx-fastcgi-page-cache-with-wordpress/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-use-nginx-fastcgi-page-cache-with-wordpress/index.md @@ -41,14 +41,14 @@ No additional components or applications are required to enable the NGINX cache. 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Configure a LEMP stack on the server, consisting of the NGINX web server, the MariaDB database, and the PHP programming language. MySQL can be substituted in place of MariaDB. For information on how to install and configure a LEMP stack, see the Linode guide on [installing a LEMP stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04/). +1. Configure a LEMP stack on the server, consisting of the NGINX web server, the MariaDB database, and the PHP programming language. MySQL can be substituted in place of MariaDB. For information on how to install and configure a LEMP stack, see the Linode guide on [installing a LEMP stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04). -1. Ensure WordPress is installed and updated. To install WordPress, review the Linode guide on [installing WordPress on Ubuntu](/cloud/guides/how-to-install-wordpress-ubuntu-22-04/). +1. Ensure WordPress is installed and updated. To install WordPress, review the Linode guide on [installing WordPress on Ubuntu](/cloud/guides/how-to-install-wordpress-ubuntu-22-04). 1. WordPress sites are almost always accessed using a domain name. For more information on domains and how to create a DNS record, see the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## How to Configure the LEMP Stack to Support Caching diff --git a/docs/guides/websites/cms/wordpress/install-wordpress-on-ubuntu-16-04/index.md b/docs/guides/websites/cms/wordpress/install-wordpress-on-ubuntu-16-04/index.md index 74cc316ebd1..aa4e6f4f32f 100644 --- a/docs/guides/websites/cms/wordpress/install-wordpress-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/cms/wordpress/install-wordpress-on-ubuntu-16-04/index.md @@ -25,7 +25,7 @@ In this guide, you'll learn to how to install WordPress on a Linode running Ubun ![Install WordPress on Ubuntu 16.04](wordpress-ubuntu-16-04-title.png "Install WordPress on Ubuntu 16.04") {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. All configuration files should be edited with elevated privileges. Remember to include `sudo` before running your text editor. @@ -43,7 +43,7 @@ Replace each instance of `example.com` in this guide with your site's domain nam The first command will output your short hostname; the second, your fully-qualified domain name (FQDN). -- Configure a [LAMP](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/) or [LEMP](/cloud/guides/how-to-install-a-lemp-server-on-ubuntu-16-04/) web stack. +- Configure a [LAMP](/cloud/guides/install-lamp-stack-on-ubuntu-16-04) or [LEMP](/cloud/guides/how-to-install-a-lemp-server-on-ubuntu-16-04) web stack. - Make sure MySQL has a database set up for WordPress. If you do not have a WordPress database, create one: diff --git a/docs/guides/websites/cms/wordpress/install-wordpress-ubuntu-18-04/index.md b/docs/guides/websites/cms/wordpress/install-wordpress-ubuntu-18-04/index.md index e7b0bbd8c0d..a97351de5bd 100644 --- a/docs/guides/websites/cms/wordpress/install-wordpress-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/wordpress/install-wordpress-ubuntu-18-04/index.md @@ -42,7 +42,7 @@ Replace each instance of `example.com` in this guide with the domain name or IP The first command outputs the short hostname; the second, a fully-qualified domain name (FQDN). -- Configure a [LAMP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) or [LEMP](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) web stack on Ubuntu 18.04 installation. +- Configure a [LAMP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) or [LEMP](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04) web stack on Ubuntu 18.04 installation. - If you are running NGINX, edit the `location /` block of the configuration to set `index.php` as an index for the site: diff --git a/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-14-04/index.md b/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-14-04/index.md index 32e7813a25a..7cc4ee75509 100644 --- a/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-14-04/index.md +++ b/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-14-04/index.md @@ -33,9 +33,9 @@ This guide is written for Ubuntu 14.04. Before moving ahead, make sure you have * [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) * [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) -* [How to Install a LAMP Stack on Ubuntu 14.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) +* [How to Install a LAMP Stack on Ubuntu 14.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install WP-CLI diff --git a/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md index 6ad25e9a108..ab2169175c4 100644 --- a/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md @@ -35,9 +35,9 @@ This guide is written for Ubuntu 18.04. Before moving ahead, make sure you have * [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) * [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) -* [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) +* [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install WP-CLI diff --git a/docs/guides/websites/ecommerce/how-to-install-prestashop-on-ubuntu-16-04/index.md b/docs/guides/websites/ecommerce/how-to-install-prestashop-on-ubuntu-16-04/index.md index ad097784196..9b2f1108b1e 100644 --- a/docs/guides/websites/ecommerce/how-to-install-prestashop-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/ecommerce/how-to-install-prestashop-on-ubuntu-16-04/index.md @@ -23,7 +23,7 @@ If you've ever thought about opening an online store, you may have felt overwhel PrestaShop's ecommerce breadth can make it seem daunting to learn; however, its menus are neatly structured, terms are intuitive, and interface is easily navigable. In addition, customizing your website with PrestaShop's many *What You See Is What You Get* (WYSIWYG) tools makes for a user-friendly set up, without having to inspect and edit source code. Also, PrestaShop comes with many out-of-the-box features and plug-ins that streamline setup and use. -Installing Prestashop on a remote server is more involved and time-consuming than using cloud hosting, but the rewards are greater: you will have better performance, since you have conserved server resources, and greater flexibility, with the freedom to tweak your settings as you see fit. You won't ever have to wait for a cloud-host support team to change PHP settings for you. Furthermore, [high availability](/cloud/guides/intro-to-high-availability-and-disaster-recovery/), [load balancing](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers), advanced [backup schemes](https://techdocs.akamai.com/cloud-computing/docs/backup-service), and other features become easily accessible, allowing you to scale your business and increase your site's reliability. +Installing Prestashop on a remote server is more involved and time-consuming than using cloud hosting, but the rewards are greater: you will have better performance, since you have conserved server resources, and greater flexibility, with the freedom to tweak your settings as you see fit. You won't ever have to wait for a cloud-host support team to change PHP settings for you. Furthermore, [high availability](/cloud/guides/intro-to-high-availability-and-disaster-recovery), [load balancing](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers), advanced [backup schemes](https://techdocs.akamai.com/cloud-computing/docs/backup-service), and other features become easily accessible, allowing you to scale your business and increase your site's reliability. ## Before You Begin @@ -44,7 +44,7 @@ In most cases, you can start out with an Ubuntu 16.04 instance with 1GB of RAM. ## Install Apache and MariaDB -This guide will run PrestaShop on a modified LAMP stack using MariaDB instead of MySQL. You can read more about MariaDB and its features [here](https://mariadb.com/kb/en/the-mariadb-library/mariadb-vs-mysql-features/). If you would prefer to use a traditional LAMP stack, please see our guide, [How to Install a LAMP Stack on Ubuntu 16.04](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/). +This guide will run PrestaShop on a modified LAMP stack using MariaDB instead of MySQL. You can read more about MariaDB and its features [here](https://mariadb.com/kb/en/the-mariadb-library/mariadb-vs-mysql-features/). If you would prefer to use a traditional LAMP stack, please see our guide, [How to Install a LAMP Stack on Ubuntu 16.04](/cloud/guides/install-lamp-stack-on-ubuntu-16-04). 1. Install Apache, PHP, and MariaDB: @@ -265,9 +265,9 @@ max_execution_time = 30 {{% content "email-warning-shortguide" %}} -Setting up mail delivery in PrestaShop is vital because so much happens through email: customer account confirmations, subscriptions, delivery statuses, order confirmations, etc. Although an email server [like this one](/cloud/guides/email-with-postfix-dovecot-and-mysql/) can be hosted on a Linode, it can be complicated to set up and maintain. +Setting up mail delivery in PrestaShop is vital because so much happens through email: customer account confirmations, subscriptions, delivery statuses, order confirmations, etc. Although an email server [like this one](/cloud/guides/email-with-postfix-dovecot-and-mysql) can be hosted on a Linode, it can be complicated to set up and maintain. -It's also possible to use an all-in-one solution like [Mail-in-a-Box](/cloud/guides/mail-in-a-box-email-server/), but the easiest approach is to use a dedicated solution like [Google Workspace](/cloud/guides/using-google-workspace-for-email/) or [Fastmail](https://www.fastmail.com/). This way you can focus on maintaining your store and get dependable email service without worrying about the technical details. +It's also possible to use an all-in-one solution like [Mail-in-a-Box](/cloud/guides/mail-in-a-box-email-server), but the easiest approach is to use a dedicated solution like [Google Workspace](/cloud/guides/using-google-workspace-for-email) or [Fastmail](https://www.fastmail.com/). This way you can focus on maintaining your store and get dependable email service without worrying about the technical details. Once you have decided on an email provider, configure PrestaShop's email system: in the left menu, under **CONFIGURE**, hover over **Advanced Parameters** and click **E-mail** in the submenu. Once the page loads, look for **Set my own SMTP parameters (for advanced users ONLY)**. diff --git a/docs/guides/websites/ecommerce/install-magento-2-4-on-centos-8/index.md b/docs/guides/websites/ecommerce/install-magento-2-4-on-centos-8/index.md index 4f53232b32b..db19292357a 100644 --- a/docs/guides/websites/ecommerce/install-magento-2-4-on-centos-8/index.md +++ b/docs/guides/websites/ecommerce/install-magento-2-4-on-centos-8/index.md @@ -36,7 +36,7 @@ Although this guide covers installation of Magento 2.4, version 2.3 is still ava 1. This guide uses the sample domain name of `example.com` and a Magento root directory of `/var/www/html/example.com/public_html`, along with default username and password variables such as `magentouser` and `magentopassword`. Substitute your own values when you encounter these variables throughout the guide. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Advantages/Drawbacks of Magento @@ -116,7 +116,7 @@ Several other software components must be present and properly configured before 3. PHP 7.4 4. Elasticsearch -Follow the instructions in the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide to install Apache, SQL, and PHP. +Follow the instructions in the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8) guide to install Apache, SQL, and PHP. {{< note type="secondary" title="Install PHP 7.4" isCollapsible=true >}} 1. Enable the repositories by using: ```sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y``` @@ -147,7 +147,7 @@ Follow the instructions in the [How to Install a LAMP Stack on CentOS 8](/cloud/ {{< note respectIndent=false >}} -Most payment processors and financial institutions do not recognise or accept self-signed certificates. Before putting your store into production, you must obtain a commercially-signed certificate. More information can be found in [the Linode guide about SSL certificates](/cloud/guides/obtain-a-commercially-signed-tls-certificate/). +Most payment processors and financial institutions do not recognise or accept self-signed certificates. Before putting your store into production, you must obtain a commercially-signed certificate. More information can be found in [the Linode guide about SSL certificates](/cloud/guides/obtain-a-commercially-signed-tls-certificate). {{< /note >}} 4. Configure the virtual host settings for your website on Apache. There are a variety of ways to structure these settings. One straightforward approach is to add them to the `/etc/httpd/conf.d/vhost.conf` file. Add the following contents to the file, replacing `example.com` with your own domain. The directory specified within the virtual host serves as your Magento root directory. Later on, you will install the Magento software from this location. @@ -191,7 +191,7 @@ Most payment processors and financial institutions do not recognise or accept se sudo systemctl enable httpd.service sudo systemctl restart httpd.service {{< note >}} -If you require more information on setting up Apache or configuring virtual hosts, consult Linode's [Apache on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8/) guide. +If you require more information on setting up Apache or configuring virtual hosts, consult Linode's [Apache on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8) guide. {{< /note >}} {{< note >}} NGINX 1.x can also be used as the Magento web server. @@ -604,7 +604,7 @@ We recommend you disable the ability to display your storefront within a frame t ### SSL Certificates -SSL certificates encrypt and verify sensitive financial and sales data. You should use them when setting up your storefront. A self-signed certificate (as discussed earlier) is sufficient to complete the Magento installation. However, your site requires a commercially-signed certificate in order to interact with most payment processors and to avoid warning messages when customers navigate to your site. More information is available in the Linode guides to [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-centos/). +SSL certificates encrypt and verify sensitive financial and sales data. You should use them when setting up your storefront. A self-signed certificate (as discussed earlier) is sufficient to complete the Magento installation. However, your site requires a commercially-signed certificate in order to interact with most payment processors and to avoid warning messages when customers navigate to your site. More information is available in the Linode guides to [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-centos). The SSL and the HTTPS protocols are enabled on the Magento Admin page. diff --git a/docs/guides/websites/ecommerce/install-magento-on-centos-7/index.md b/docs/guides/websites/ecommerce/install-magento-on-centos-7/index.md index 7294c3a548b..a33f248ff3c 100644 --- a/docs/guides/websites/ecommerce/install-magento-on-centos-7/index.md +++ b/docs/guides/websites/ecommerce/install-magento-on-centos-7/index.md @@ -35,13 +35,13 @@ This guide explains how to install the latest Magento release at the time of pub 2. Complete the sections of our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to create a standard user account, harden SSH access and remove unnecessary network services. -3. Magento runs on a LAMP stack, and this guide assumes you have already installed and configured Apache. If you haven't, refer to our [Apache on CentOS 7](/cloud/guides/install-and-configure-apache-on-centos-7/) guide. However, do not install MariaDB or PHP. We will explain how to install compatible versions of those packages in this guide. +3. Magento runs on a LAMP stack, and this guide assumes you have already installed and configured Apache. If you haven't, refer to our [Apache on CentOS 7](/cloud/guides/install-and-configure-apache-on-centos-7) guide. However, do not install MariaDB or PHP. We will explain how to install compatible versions of those packages in this guide. 3. Update your system: sudo yum update {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prepare Your Server for Magento @@ -58,7 +58,7 @@ Since Magento will be served by Apache, some additional configuration is needed If this shows version 2.2 or another version, upgrade your packages before proceeding. -2. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to our [Apache on CentOS 7](/cloud/guides/install-and-configure-apache-on-centos-7/) guide for additional guidance. +2. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to our [Apache on CentOS 7](/cloud/guides/install-and-configure-apache-on-centos-7) guide for additional guidance. {{< file "/etc/httpd/conf.d/vhost.conf" aconf >}} @@ -211,7 +211,7 @@ When choosing a version, refer to Magento's [prerequisites](http://devdocs.magen scp /path/on/local/Magento-CE-2.*.tar.gz user@yourhost:~/ - Alternatively, you can use an FTP client, like [Filezilla](/cloud/guides/filezilla/), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. + Alternatively, you can use an FTP client, like [Filezilla](/cloud/guides/filezilla), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. 3. Log into your Linode via SSH as your standard user account. Navigate to the document root you specified in your virtual host file: @@ -248,7 +248,7 @@ When choosing a version, refer to Magento's [prerequisites](http://devdocs.magen This allows your `magento` user (and members of the `apache` group) to write to the various files they need to run and serve Magento on your site. {{< note respectIndent=false >}} -The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session, and use tools like [htop & iotop](/cloud/guides/top-htop-iotop/#additional-top-like-programs) to monitor progress. +The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session, and use tools like [htop & iotop](/cloud/guides/top-htop-iotop#additional-top-like-programs) to monitor progress. {{< /note >}} 4. Restart Apache: @@ -297,7 +297,7 @@ The dashboard is functional at this point, but you've still got work to do befor ### Set Cron Jobs -Magento relies on [cron](/cloud/guides/schedule-tasks-with-cron/) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are easy to configure. +Magento relies on [cron](/cloud/guides/schedule-tasks-with-cron) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are easy to configure. 1. Open the crontab for your `magento` user. Perform this step as a user with `sudo` privileges: @@ -343,19 +343,19 @@ At a minimum, you should restrict write access to the `app/etc` directory before Depending on whether you install custom themes or extensions, you may need to do additional configuration. This will vary depending on what you have installed. Once you're ready to deploy your site into production mode, refer to [Magento's ownership and permissions guide](http://devdocs.magento.com/guides/v2.1/config-guide/prod/prod_file-sys-perms.html) for a more comprehensive set of recommendations. {{< note >}} -If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/cloud/guides/linux-users-and-groups/). +If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/cloud/guides/linux-users-and-groups). {{< /note >}} ### Secure your Site with SSL Secure sockets layer (SSL) certificates are a vital part of e-commerce. They enable encrypted transmission of sensitive data, such as credit card numbers, that can be verified and trusted by clients. In fact, some payment vendors such as PayPal, require SSL certificates to be used for customer transactions. -For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-centos/). +For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-centos). {{< note >}} Many payment vendors that require SSL do not support self-signed certificates. Depending on how you handle payments, it is likely you will need to purchase a commercially signed certificate. -When you [configure Apache to use the SSL certificate](/cloud/guides/ssl-apache2-centos/#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site and only want that section to be encrypted, make sure to modify your `` block to match. +When you [configure Apache to use the SSL certificate](/cloud/guides/ssl-apache2-centos#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site and only want that section to be encrypted, make sure to modify your `` block to match. {{< /note >}} Once you've installed your SSL certificate and configured Apache to serve your site securely, you'll need to configure Magento to use secure URLs. diff --git a/docs/guides/websites/ecommerce/install-magento-on-ubuntu-16-04/index.md b/docs/guides/websites/ecommerce/install-magento-on-ubuntu-16-04/index.md index 434a24d5cc1..e7b1729a8cf 100644 --- a/docs/guides/websites/ecommerce/install-magento-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/ecommerce/install-magento-on-ubuntu-16-04/index.md @@ -36,18 +36,18 @@ This guide explains how to install the latest Magento release at the time of pub 2. Complete the sections of our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to create a standard user account, harden SSH access and remove unnecessary network services. -3. Magento runs on a LAMP stack, and this guide assumes you have already installed and configured Apache, MySQL and PHP. If you haven't, refer to our [LAMP on Ubuntu 16.04](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/) guide. Be aware that there are known compatibility issues with PHP 7.0.5, so check your version with `php -v` before proceeding. +3. Magento runs on a LAMP stack, and this guide assumes you have already installed and configured Apache, MySQL and PHP. If you haven't, refer to our [LAMP on Ubuntu 16.04](/cloud/guides/install-lamp-stack-on-ubuntu-16-04) guide. Be aware that there are known compatibility issues with PHP 7.0.5, so check your version with `php -v` before proceeding. 3. Update your system: sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prepare Your Server for Magento -In addition to the standard [LAMP stack](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/) software in our guide, Magento requires a few extra dependencies. To install them: +In addition to the standard [LAMP stack](/cloud/guides/install-lamp-stack-on-ubuntu-16-04) software in our guide, Magento requires a few extra dependencies. To install them: sudo apt-get install php7.0-common php7.0-gd php7.0-mcrypt php7.0-curl php7.0-intl php7.0-xsl php7.0-mbstring php7.0-zip php7.0-iconv mysql-client @@ -65,7 +65,7 @@ Since Magento will be served by Apache, some additional configuration is needed sudo a2enmod rewrite -3. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to the [Configure Virtual Hosts](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/#configure-virtual-hosts) section of the LAMP on Ubuntu 16.04 guide for additional guidance. +3. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to the [Configure Virtual Hosts](/cloud/guides/install-lamp-stack-on-ubuntu-16-04#configure-virtual-hosts) section of the LAMP on Ubuntu 16.04 guide for additional guidance. {{< file "/etc/apache2/sites-available/example.com.conf" conf >}} @@ -168,7 +168,7 @@ When choosing a version, refer to Magento's [prerequisites](http://devdocs.magen scp /path/on/local/Magento-CE-2.*.tar.gz user@yourhost:~/ - Alternatively, you can use an FTP client, like [Filezilla](/cloud/guides/filezilla/), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. + Alternatively, you can use an FTP client, like [Filezilla](/cloud/guides/filezilla), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. 3. Log into your Linode via SSH as your standard user account. Navigate to the document root you specified in your virtual host file: @@ -205,7 +205,7 @@ When choosing a version, refer to Magento's [prerequisites](http://devdocs.magen This allows your `magento` user (and members of the `www-data` group) to write to the various files they need to run and serve Magento on your site. {{< note respectIndent=false >}} -The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session, and use tools like [htop & iotop](/cloud/guides/top-htop-iotop/#additional-top-like-programs) to monitor progress. +The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session, and use tools like [htop & iotop](/cloud/guides/top-htop-iotop#additional-top-like-programs) to monitor progress. {{< /note >}} 4. Restart Apache: @@ -254,7 +254,7 @@ The dashboard is functional at this point, but you've still got work to do befor ### Set Cron Jobs -Magento relies on [cron](/cloud/guides/schedule-tasks-with-cron/) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are very easy to configure. +Magento relies on [cron](/cloud/guides/schedule-tasks-with-cron) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are very easy to configure. 1. Open the crontab for your `magento` user. Perform this step as a user with `sudo` privileges: @@ -298,19 +298,19 @@ At a minimum, you should restrict write access to the `app/etc` directory before Depending on whether you install custom themes or extensions, you may need to do additional configuration. This will vary depending on what you have installed. Once you're ready to deploy your site into production mode, refer to [Magento's ownership and permissions guide](http://devdocs.magento.com/guides/v2.1/config-guide/prod/prod_file-sys-perms.html) for a more comprehensive set of recommendations. {{< note >}} -If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/cloud/guides/linux-users-and-groups/). +If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/cloud/guides/linux-users-and-groups). {{< /note >}} ### Secure your Site with SSL Secure sockets layer (SSL) certificates are a vital part of e-commerce. They enable encrypted transmission of sensitive data, such as credit card numbers, that can be verified and trusted by clients. In fact, some payment vendors such as PayPal, require SSL certificates to be used for customer transactions. -For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-debian-ubuntu/). +For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-debian-ubuntu). {{< note >}} Many payment vendors that require SSL do not support self-signed certificates. Depending on how you handle payments, it is likely you will need to purchase a commercially signed certificate. -When you [configure Apache to use the SSL certificate](/cloud/guides/ssl-apache2-centos/#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site, and only want that section to be encrypted, make sure to modify your `` block to match. +When you [configure Apache to use the SSL certificate](/cloud/guides/ssl-apache2-centos#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site, and only want that section to be encrypted, make sure to modify your `` block to match. {{< /note >}} Once you've installed your SSL certificate and configured Apache to serve your site securely, you'll need to configure Magento to use secure URLs. diff --git a/docs/guides/websites/ecommerce/install-magento-on-ubuntu-18-04/index.md b/docs/guides/websites/ecommerce/install-magento-on-ubuntu-18-04/index.md index ed18889e32b..da149d67a12 100644 --- a/docs/guides/websites/ecommerce/install-magento-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/ecommerce/install-magento-on-ubuntu-18-04/index.md @@ -42,7 +42,7 @@ Considering the resources some Magento plugins demand, we strongly recommend tha sudo apt update && sudo apt upgrade ``` - {{< note respectIndent=false >}} This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} + {{< note respectIndent=false >}} This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install A Magento-compatible LAMP Stack @@ -133,7 +133,7 @@ Since Magento will be served by Apache, some additional configuration is needed sudo a2enmod rewrite ``` -3. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to the [Configure Virtual Hosts](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/#configure-virtual-hosts) section of the LAMP on Ubuntu 16.04 guide for additional guidance. +3. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to the [Configure Virtual Hosts](/cloud/guides/install-lamp-stack-on-ubuntu-16-04#configure-virtual-hosts) section of the LAMP on Ubuntu 16.04 guide for additional guidance. {{< file "/etc/apache2/sites-available/example.com.conf" apache >}} @@ -228,7 +228,7 @@ In this section, we'll explain how to install the Magento Community Edition (CE) scp /path/on/local/Magento-CE-2.*.tar.gz user@host-ip_or_web-url:~/ ``` - Alternatively, you can use an FTP client, like [Filezilla](/cloud/guides/filezilla/), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. + Alternatively, you can use an FTP client, like [Filezilla](/cloud/guides/filezilla), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. 3. Log into your Linode via SSH as your standard user account. Navigate to the document root you specified in your virtual host file: @@ -274,7 +274,7 @@ In this section, we'll explain how to install the Magento Community Edition (CE) This allows your `magento` user (and members of the `www-data` group) to write to the various files they need to run and serve Magento on your site. - {{< note respectIndent=false >}} The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple of minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session, and use tools like [htop & iotop](/cloud/guides/top-htop-iotop/#additional-top-like-programs) to monitor progress. {{< /note >}} + {{< note respectIndent=false >}} The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple of minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session, and use tools like [htop & iotop](/cloud/guides/top-htop-iotop#additional-top-like-programs) to monitor progress. {{< /note >}} 4. Restart Apache: @@ -330,7 +330,7 @@ The dashboard is functional at this point, but you've still got work to do befor ### Set Cron Jobs -Magento relies on [cron](/cloud/guides/schedule-tasks-with-cron/) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are very easy to configure. +Magento relies on [cron](/cloud/guides/schedule-tasks-with-cron) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are very easy to configure. 1. Open the crontab for your `magento` user. Perform this step as a user with `sudo` privileges: @@ -377,17 +377,17 @@ sudo find app/etc -type d -exec chmod g-ws {} \; Depending on whether you install custom themes or extensions, you may need to do additional configuration. This will vary depending on what you have installed. Once you're ready to deploy your site into production mode, refer to [Magento's ownership and permissions guide](https://devdocs.magento.com/guides/v2.2/config-guide/prod/prod_file-sys-perms.html) for a more comprehensive set of recommendations. -{{< note >}} If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/cloud/guides/linux-users-and-groups/). {{< /note >}} +{{< note >}} If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/cloud/guides/linux-users-and-groups). {{< /note >}} ### Secure your Site with SSL Secure sockets layer (SSL) certificates are a vital part of e-commerce. They enable encrypted transmission of sensitive data, such as credit card numbers, that can be verified and trusted by clients. In fact, some payment vendors such as PayPal, require SSL certificates to be used for customer transactions. -For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-debian-ubuntu/). +For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-debian-ubuntu). {{< note >}} Many payment vendors that require SSL do not support self-signed certificates. Depending on how you handle payments, it is likely you will need to purchase a commercially signed certificate. -When you [configure Apache to use the SSL certificate](/cloud/guides/ssl-apache2-centos/#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site, and only want that section to be encrypted, make sure to modify your `` block to match. {{< /note >}} +When you [configure Apache to use the SSL certificate](/cloud/guides/ssl-apache2-centos#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site, and only want that section to be encrypted, make sure to modify your `` block to match. {{< /note >}} Once you've installed your SSL certificate and configured Apache to serve your site securely, you'll need to configure Magento to use secure URLs. diff --git a/docs/guides/websites/ecommerce/install-opencart-on-centos-7/index.md b/docs/guides/websites/ecommerce/install-opencart-on-centos-7/index.md index 90b01285776..c2eab5de2da 100644 --- a/docs/guides/websites/ecommerce/install-opencart-on-centos-7/index.md +++ b/docs/guides/websites/ecommerce/install-opencart-on-centos-7/index.md @@ -29,7 +29,7 @@ relations: ## Before You Begin -1. You should set up [LAMP on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/). +1. You should set up [LAMP on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7). 2. Install the Extra Packages for Enterprise Linux (EPEL) repository. sudo yum install epel-release @@ -149,7 +149,7 @@ Now that you have your OpenCart installation up and running, there are a few mor 1. Make sure you follow our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -2. Secure your website with SSL/TLS. Learn to [Install a SSL certificate with Apache on CentOS 7](/cloud/guides/ssl-apache2-centos/). Once you've installed a certificate, enable **Use SSL** by following the [Opencart Documentation on SSL](http://docs.opencart.com/administration/ssl/). +2. Secure your website with SSL/TLS. Learn to [Install a SSL certificate with Apache on CentOS 7](/cloud/guides/ssl-apache2-centos). Once you've installed a certificate, enable **Use SSL** by following the [Opencart Documentation on SSL](http://docs.opencart.com/administration/ssl/). 3. Follow the [Basic Security Practices](http://docs.opencart.com/administration/security/) from the OpenCart documentation. diff --git a/docs/guides/websites/ecommerce/magento-on-debian-5-lenny/index.md b/docs/guides/websites/ecommerce/magento-on-debian-5-lenny/index.md index 883f4e75df5..e80b6c5366e 100644 --- a/docs/guides/websites/ecommerce/magento-on-debian-5-lenny/index.md +++ b/docs/guides/websites/ecommerce/magento-on-debian-5-lenny/index.md @@ -17,9 +17,9 @@ relations: deprecated: true --- -Magento is a self hosted e-commerce solution used by many people to sell products online. It runs on a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) and offers the user a wide variety of options. +Magento is a self hosted e-commerce solution used by many people to sell products online. It runs on a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11) and offers the user a wide variety of options. -Before installing Magento we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide as well as our [LAMP guide.](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing Magento we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide as well as our [LAMP guide.](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11) If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing Prerequisites @@ -28,7 +28,7 @@ Make sure your package repositories and installed programs are up to date by iss apt-get update apt-get upgrade --show-upgraded -Magento requires Apache to be installed to serve webpages, as well as PHP 5 and MySQL. If you're running an older version of PHP, you can use our [PHP-CGI Apache](/cloud/guides/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/) guide to run PHP5 as a binary. Along with the base PHP5 install, you'll need several other extensions. The following command will attempt to install every required extension and then restart Apache: +Magento requires Apache to be installed to serve webpages, as well as PHP 5 and MySQL. If you're running an older version of PHP, you can use our [PHP-CGI Apache](/cloud/guides/run-php-applications-under-cgi-with-apache-on-debian-5-lenny) guide to run PHP5 as a binary. Along with the base PHP5 install, you'll need several other extensions. The following command will attempt to install every required extension and then restart Apache: apt-get install php5-mysql php5-curl php5-gd php5-mcrypt a2enmod rewrite @@ -50,7 +50,7 @@ You'll also need to create a database for Magento, and a user with permission to GRANT ALL ON magento.* TO 'mage' IDENTIFIED BY 'password'; exit -Please see our [MySQL](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/) document for additional tips for optimizing memory. At this point your server has the prerequisites to install Magento. +Please see our [MySQL](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny) document for additional tips for optimizing memory. At this point your server has the prerequisites to install Magento. ## Installing Magento @@ -73,7 +73,7 @@ From here you can point your browser to the URL you installed Magento at. All of ### SSL Certificates -You may want to install a commercial SSL certificate on your Magento website in order to encrypt the data passed between your customer's computer and your server. After following our [obtaining a commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) document, you can set up your SSL certificate in the Administrative Area. After logging into Magento, scroll over the "System" tab and select "Configuration". Click the "Web" tab on the left-hand side and drop down the "Secure" listing. From here you can alter your Base URL to include the `https` protocol. +You may want to install a commercial SSL certificate on your Magento website in order to encrypt the data passed between your customer's computer and your server. After following our [obtaining a commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate) document, you can set up your SSL certificate in the Administrative Area. After logging into Magento, scroll over the "System" tab and select "Configuration". Click the "Web" tab on the left-hand side and drop down the "Secure" listing. From here you can alter your Base URL to include the `https` protocol. ## More Information diff --git a/docs/guides/websites/ecommerce/magento-on-ubuntu-9-10-karmic/index.md b/docs/guides/websites/ecommerce/magento-on-ubuntu-9-10-karmic/index.md index c94f96620e9..707e0143fc1 100644 --- a/docs/guides/websites/ecommerce/magento-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/websites/ecommerce/magento-on-ubuntu-9-10-karmic/index.md @@ -17,9 +17,9 @@ relations: deprecated: true --- -Magento is a self hosted e-commerce solution used by many people to sell products online. It runs on a [LAMP stack](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/) and offers the user a wide variety of options. +Magento is a self hosted e-commerce solution used by many people to sell products online. It runs on a [LAMP stack](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic) and offers the user a wide variety of options. -Before installing Magento, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) as well as our [LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before installing Magento, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) as well as our [LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Installing Prerequisites @@ -64,7 +64,7 @@ You'll also need to create a database for Magento, and a user with permission to GRANT ALL ON magento.* TO 'mage' IDENTIFIED BY 'password'; exit -Please see our [MySQL](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/) document for additional information regarding MySQL. +Please see our [MySQL](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic) document for additional information regarding MySQL. Additionally you will want to increase PHP's `memory_limit` setting, by editing the `/etc/php5/cli/php.ini` and `/etc/php5/apache2/php.ini` file as follows: @@ -99,7 +99,7 @@ From here you can point your browser to the URL you installed Magento to. All of ### SSL Certificates -You may want to install a commercial SSL certificate on your Magento website in order to encrypt the data passed between your customer's computer and your server. After following our [obtaining a commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) document, you can set up your SSL certificate in the Administrative Area. After logging in to Magento, scroll over the "System" tab and select "Configuration". Click the "Web" tab on the left-hand side and drop down the "Secure" listing. From here you can alter your Base URL to include the `https` protocol. +You may want to install a commercial SSL certificate on your Magento website in order to encrypt the data passed between your customer's computer and your server. After following our [obtaining a commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate) document, you can set up your SSL certificate in the Administrative Area. After logging in to Magento, scroll over the "System" tab and select "Configuration". Click the "Web" tab on the left-hand side and drop down the "Secure" listing. From here you can alter your Base URL to include the `https` protocol. ## More Information diff --git a/docs/guides/websites/ecommerce/opencart-on-centos-6/index.md b/docs/guides/websites/ecommerce/opencart-on-centos-6/index.md index d6eb2443a11..6b57b99b9ec 100644 --- a/docs/guides/websites/ecommerce/opencart-on-centos-6/index.md +++ b/docs/guides/websites/ecommerce/opencart-on-centos-6/index.md @@ -16,7 +16,7 @@ relations: deprecated: true --- -OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/cloud/guides/web-servers/lamp/) on your Linode. You should have also [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). +OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/cloud/guides/web-servers/lamp) on your Linode. You should have also [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). ## PHP Settings diff --git a/docs/guides/websites/ecommerce/opencart-on-debian-6-squeeze/index.md b/docs/guides/websites/ecommerce/opencart-on-debian-6-squeeze/index.md index 0f84f665dbf..b7dbf4284fb 100644 --- a/docs/guides/websites/ecommerce/opencart-on-debian-6-squeeze/index.md +++ b/docs/guides/websites/ecommerce/opencart-on-debian-6-squeeze/index.md @@ -17,7 +17,7 @@ relations: deprecated: true --- -OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/cloud/guides/web-servers/lamp/) on your Linode. You should have also [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). +OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/cloud/guides/web-servers/lamp) on your Linode. You should have also [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). ## PHP Settings diff --git a/docs/guides/websites/ecommerce/opencart-on-fedora-15/index.md b/docs/guides/websites/ecommerce/opencart-on-fedora-15/index.md index fa82db572e8..0344c3374dc 100644 --- a/docs/guides/websites/ecommerce/opencart-on-fedora-15/index.md +++ b/docs/guides/websites/ecommerce/opencart-on-fedora-15/index.md @@ -17,7 +17,7 @@ relations: deprecated: true --- -OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/cloud/guides/web-servers/lamp/) on your Linode. You should have also [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). +OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/cloud/guides/web-servers/lamp) on your Linode. You should have also [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). ## PHP Settings diff --git a/docs/guides/websites/ecommerce/oscommerce-on-debian-5-lenny/index.md b/docs/guides/websites/ecommerce/oscommerce-on-debian-5-lenny/index.md index 33112d8e0f0..d4e83a1ce24 100644 --- a/docs/guides/websites/ecommerce/oscommerce-on-debian-5-lenny/index.md +++ b/docs/guides/websites/ecommerce/oscommerce-on-debian-5-lenny/index.md @@ -19,7 +19,7 @@ deprecated: true osCommerce is an open source solution for creating your own online store. It runs on a LAMP stack and is a strong alternative to Magento, which can be difficult to administer for some. -Before installing osCommerce we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Debian LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/). +Before installing osCommerce we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Debian LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11). ## Installation @@ -82,7 +82,7 @@ From here you can begin customizing your store. The default index page will give ## SSL Certificates -You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: +You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: {{< file "/srv/www/example.com/public\\_html/includes/configure.php" php >}} // Define the webserver and path parameters diff --git a/docs/guides/websites/ecommerce/oscommerce-on-fedora-13/index.md b/docs/guides/websites/ecommerce/oscommerce-on-fedora-13/index.md index 2cf66f670d7..f7554c3d9d8 100644 --- a/docs/guides/websites/ecommerce/oscommerce-on-fedora-13/index.md +++ b/docs/guides/websites/ecommerce/oscommerce-on-fedora-13/index.md @@ -19,7 +19,7 @@ deprecated: true osCommerce is an open source solution for creating your own online store. It runs on a LAMP stack and is a strong alternative to Magento, which can be difficult to administer for some. -Before installing osCommerce, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Fedora LAMP guide](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). +Before installing osCommerce, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Fedora LAMP guide](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux). ## Installation @@ -80,7 +80,7 @@ From here you can begin customizing your store. The default index page will give ## SSL Certificates -You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: +You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: {{< file "/srv/www/example.com/public\\_html/includes/configure.php" php >}} // Define the webserver and path parameters diff --git a/docs/guides/websites/ecommerce/oscommerce-on-ubuntu-9-10-karmic/index.md b/docs/guides/websites/ecommerce/oscommerce-on-ubuntu-9-10-karmic/index.md index eb1cd5a55a1..e5385971f2e 100644 --- a/docs/guides/websites/ecommerce/oscommerce-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/websites/ecommerce/oscommerce-on-ubuntu-9-10-karmic/index.md @@ -19,7 +19,7 @@ deprecated: true osCommerce is an open source solution for creating your own online store. It runs on a LAMP stack and is a strong alternative to Magento, which can be difficult to administer for some. -Before installing osCommerce we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Ubuntu LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/). +Before installing osCommerce we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Ubuntu LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic). ## Installation @@ -103,7 +103,7 @@ From here you can begin customizing your store. The default index page will give ## SSL Certificates -You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: +You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: {{< file "/srv/www/example.com/public\\_html/includes/configure.php" php >}} // Define the webserver and path parameters diff --git a/docs/guides/websites/erp/install-an-odoo-11-stack-on-ubuntu-16-04/index.md b/docs/guides/websites/erp/install-an-odoo-11-stack-on-ubuntu-16-04/index.md index 89fbbf124b2..030a8370ff2 100644 --- a/docs/guides/websites/erp/install-an-odoo-11-stack-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/erp/install-an-odoo-11-stack-on-ubuntu-16-04/index.md @@ -14,9 +14,9 @@ external_resources: - '[Odoo User Documentation](https://www.odoo.com/documentation/user/11.0/)' - '[Odoo Developer Documentation](https://www.odoo.com/documentation/11.0)' - '[PostgreSQL 9.6 Documentation](https://www.postgresql.org/docs/9.6/static/index.html)' - - '[Install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/)' - - '[How to Set up tinc, a Peer-to-Peer VPN](/cloud/guides/how-to-set-up-tinc-peer-to-peer-vpn/)' - - '[Using Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/)' + - '[Install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates)' + - '[How to Set up tinc, a Peer-to-Peer VPN](/cloud/guides/how-to-set-up-tinc-peer-to-peer-vpn)' + - '[Using Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode)' deprecated: true --- @@ -26,7 +26,7 @@ deprecated: true [Odoo](https://www.odoo.com/) (formerly known as OpenERP) is a self-hosted suite of over 10,000 open source applications for a variety of business needs, including CRM, eCommerce, accounting, inventory, point of sale, and project management. These applications are all fully integrated and can be installed and accessed through a web interface, making it easy to automate and manage your company's processes. -For simple installations, Odoo and its dependencies can be installed on a single Linode (see our [Install Odoo 10 on Ubuntu](/cloud/guides/install-odoo-10-on-ubuntu-16-04/) guide for details). However, this single-server setup is not suited for production deployments. This guide covers how to configure a production Odoo 11 cluster in which the Odoo server and PostgreSQL database are hosted on separate Linodes, with database replication for added performance and reliability. +For simple installations, Odoo and its dependencies can be installed on a single Linode (see our [Install Odoo 10 on Ubuntu](/cloud/guides/install-odoo-10-on-ubuntu-16-04) guide for details). However, this single-server setup is not suited for production deployments. This guide covers how to configure a production Odoo 11 cluster in which the Odoo server and PostgreSQL database are hosted on separate Linodes, with database replication for added performance and reliability. ## System Requirements @@ -66,7 +66,7 @@ Ports `22`, `80`, and `5432` are the defaults for SSH, HTTP and PostgreSQL commu sudo ufw allow 22/tcp -For more detailed information about firewall setup please read our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). +For more detailed information about firewall setup please read our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). ## Hostname Assignment diff --git a/docs/guides/websites/erp/install-an-odoo-13-stack-on-debian-10/index.md b/docs/guides/websites/erp/install-an-odoo-13-stack-on-debian-10/index.md index d32107d378d..1338b92e438 100644 --- a/docs/guides/websites/erp/install-an-odoo-13-stack-on-debian-10/index.md +++ b/docs/guides/websites/erp/install-an-odoo-13-stack-on-debian-10/index.md @@ -15,8 +15,8 @@ external_resources: - '[Odoo User Documentation](https://www.odoo.com/documentation/user/13.0/)' - '[Odoo Developer Documentation](https://www.odoo.com/documentation/13.0)' - '[PostgreSQL 11 Documentation](https://www.postgresql.org/docs/11/static/index.html)' - - '[Install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/)' - - '[How to Set up tinc, a Peer-to-Peer VPN](/cloud/guides/how-to-set-up-tinc-peer-to-peer-vpn/)' + - '[Install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates)' + - '[How to Set up tinc, a Peer-to-Peer VPN](/cloud/guides/how-to-set-up-tinc-peer-to-peer-vpn)' relations: platform: key: install-an-odoo-13-stack @@ -28,7 +28,7 @@ relations: [Odoo](https://www.odoo.com/) (formerly known as OpenERP) is a self-hosted suite of over 10,000 open source applications for a variety of business needs. A few popular applications for Odoo include CRMs, eCommerce, accounting, inventory, point of sale, and project management. These applications are all fully integrated and can be installed and accessed through a web interface. Using Odoo's web interface can make it easier to automate and manage your company's processes. -For simple installations, Odoo and its dependencies can be installed on a single Linode. Our [Install Odoo 10 on Ubuntu 16.04](/cloud/guides/install-odoo-10-on-ubuntu-16-04/) guide has an example of this. However, this single-server setup is not suited for production deployments. This guide covers how to configure an Odoo 13 cluster where the Odoo server and PostgreSQL database are hosted on separate Linodes. This configuration gives you more flexibility and scalability while allowing you to use PostgreSQL database replication for added performance and reliability. +For simple installations, Odoo and its dependencies can be installed on a single Linode. Our [Install Odoo 10 on Ubuntu 16.04](/cloud/guides/install-odoo-10-on-ubuntu-16-04) guide has an example of this. However, this single-server setup is not suited for production deployments. This guide covers how to configure an Odoo 13 cluster where the Odoo server and PostgreSQL database are hosted on separate Linodes. This configuration gives you more flexibility and scalability while allowing you to use PostgreSQL database replication for added performance and reliability. ## System Requirements @@ -53,7 +53,7 @@ All examples in this guide are for Debian 10. If you plan to use a different ope 1. This guide uses `sudo` wherever possible. Complete the sections of our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to create a standard user account, harden SSH access, and remove unnecessary network services. {{< note respectIndent=false >}} -Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} 1. Update your systems: @@ -77,9 +77,9 @@ If you want to configure a firewall for your Linodes, open the following ports: - Port `8069` is used by Odoo's webserver. -A convenient way to open these ports is by using the [UFW firewall utility](/cloud/guides/configure-firewall-with-ufw/). However, this utility is not installed by default. Follow these instructions to install and configure UFW: +A convenient way to open these ports is by using the [UFW firewall utility](/cloud/guides/configure-firewall-with-ufw). However, this utility is not installed by default. Follow these instructions to install and configure UFW: {{< note >}} -If you prefer to use a different firewall utility, like [iptables](/cloud/guides/control-network-traffic-with-iptables/), be sure to use the same ports as described in the table above when configuring your software. +If you prefer to use a different firewall utility, like [iptables](/cloud/guides/control-network-traffic-with-iptables), be sure to use the same ports as described in the table above when configuring your software. {{< /note >}} 1. Install `ufw` with the following command: @@ -97,7 +97,7 @@ If you prefer to use a different firewall utility, like [iptables](/cloud/guides sudo ufw allow 22,6010,5432,8069/tcp {{< note respectIndent=false >}} -You may want to only accept connections from certain hosts/IP addresses. The [Advanced Rules](/cloud/guides/configure-firewall-with-ufw/#advanced-rules) section of our UFW guide shows how to specify hosts/IP addresses in your rules. +You may want to only accept connections from certain hosts/IP addresses. The [Advanced Rules](/cloud/guides/configure-firewall-with-ufw#advanced-rules) section of our UFW guide shows how to specify hosts/IP addresses in your rules. {{< /note >}} 1. After configuring your ports, enable the firewall: @@ -108,7 +108,7 @@ You may want to only accept connections from certain hosts/IP addresses. The [Ad sudo ufw status {{< note >}} -For more detailed information about firewall setup please read our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide. +For more detailed information about firewall setup please read our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide. {{< /note >}} @@ -218,7 +218,7 @@ Now that you finished PostgreSQL configuration you can start the `postgresql` se This section shows how to configure your Odoo 13 web application to work with the PostgreSQL database backend. Run the commands in this section on the Linode that you created for your Odoo application server. {{< note >}} -Odoo 13 uses Python 3.6+ instead of Python 3.5. [Debian 10 servers run Python 3.7.3 by default](/cloud/guides/how-to-install-python-on-debian-10/), so you should not have compatibility problems. +Odoo 13 uses Python 3.6+ instead of Python 3.5. [Debian 10 servers run Python 3.7.3 by default](/cloud/guides/how-to-install-python-on-debian-10), so you should not have compatibility problems. {{< /note >}} ### Prepare Linode for Odoo 13 Installation @@ -420,7 +420,7 @@ You have two options to backup your production database: You can later use this interface to restore your database from a specific database backup file. Odoo correctly restores to the database on the **PostgreSQL server**, and not to the database service that was installed on the Odoo application server. This happens because your Odoo configuration is explicit about the database connection. -1. You can use a procedure similar to the one described in our guide [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database/) from the backend **PostgreSQL** Linode. +1. You can use a procedure similar to the one described in our guide [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database) from the backend **PostgreSQL** Linode. ## Update Odoo Modules @@ -454,7 +454,7 @@ You now have Odoo 13 and PostgreSQL installed and configured. There are several You can install a web server as a reverse proxy in front of the Odoo application server. By doing so, your Odoo installation would be accessible on port 80 (HTTP) or port 443 (HTTPS), instead of port 8069. -Our [Use NGINX as a Reverse Proxy](/cloud/guides/use-nginx-reverse-proxy/) guide lists further benefits of setting up a reverse proxy. It also shows how to use NGINX as a reverse proxy for an example Node.js application. The instructions in this guide could be adapted for your Odoo installation. In particular, you could alter the instructions in that guide's [Configure NGINX](/cloud/guides/use-nginx-reverse-proxy/#configure-nginx) section to use port 8069, instead of port 3000. +Our [Use NGINX as a Reverse Proxy](/cloud/guides/use-nginx-reverse-proxy) guide lists further benefits of setting up a reverse proxy. It also shows how to use NGINX as a reverse proxy for an example Node.js application. The instructions in this guide could be adapted for your Odoo installation. In particular, you could alter the instructions in that guide's [Configure NGINX](/cloud/guides/use-nginx-reverse-proxy#configure-nginx) section to use port 8069, instead of port 3000. If you proceed with setting up the reverse proxy, you should also add these lines to your `/etc/odoo-server.conf` Odoo server configuration file: @@ -478,7 +478,7 @@ Finally, allow port 80 in your firewall. If you're using UFW, these lines allow ### Set Up SSL -If you have set up a reverse proxy, you can also choose to serve your Odoo site over HTTPS. To do so, configure the reverse proxy server with an SSL certificate. The directions in our [How to Install Certbot for TLS on Debian 10](/cloud/guides/enabling-https-using-certbot-with-nginx-on-debian/) guide show how to do this with NGINX on Debian 10. +If you have set up a reverse proxy, you can also choose to serve your Odoo site over HTTPS. To do so, configure the reverse proxy server with an SSL certificate. The directions in our [How to Install Certbot for TLS on Debian 10](/cloud/guides/enabling-https-using-certbot-with-nginx-on-debian) guide show how to do this with NGINX on Debian 10. After setting up an SSL certificate, be sure to allow port 443 in your firewall. If you're using UFW, these lines allow the port: diff --git a/docs/guides/websites/erp/install-an-odoo-13-stack-on-ubuntu-18-04/index.md b/docs/guides/websites/erp/install-an-odoo-13-stack-on-ubuntu-18-04/index.md index af7c39562ee..f56e4b92425 100644 --- a/docs/guides/websites/erp/install-an-odoo-13-stack-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/erp/install-an-odoo-13-stack-on-ubuntu-18-04/index.md @@ -15,10 +15,10 @@ external_resources: - '[Odoo User Documentation](https://www.odoo.com/documentation/user/13.0/)' - '[Odoo Developer Documentation](https://www.odoo.com/documentation/13.0)' - '[PostgreSQL 10 Documentation](https://www.postgresql.org/docs/10/static/index.html)' - - '[Install an Odoo 11 Stack on Ubuntu 16.04 using Linode](/cloud/guides/install-an-odoo-11-stack-on-ubuntu-16-04/)' - - '[Install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/)' - - '[How to Set up tinc, a Peer-to-Peer VPN](/cloud/guides/how-to-set-up-tinc-peer-to-peer-vpn/)' - - '[Using Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/)' + - '[Install an Odoo 11 Stack on Ubuntu 16.04 using Linode](/cloud/guides/install-an-odoo-11-stack-on-ubuntu-16-04)' + - '[Install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates)' + - '[How to Set up tinc, a Peer-to-Peer VPN](/cloud/guides/how-to-set-up-tinc-peer-to-peer-vpn)' + - '[Using Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode)' relations: platform: key: install-an-odoo-13-stack @@ -30,7 +30,7 @@ relations: [Odoo](https://www.odoo.com/) (formerly known as OpenERP) is a self-hosted suite of over 10,000 open source applications for a variety of business needs, including CRM, eCommerce, accounting, inventory, point of sale, and project management. These applications are all fully integrated and can be installed and accessed through a web interface, making it easy to automate and manage your company's processes. -For simple installations, Odoo and its dependencies can be installed on a single Linode (see our [Install Odoo 10 on Ubuntu 16.04](/cloud/guides/install-odoo-10-on-ubuntu-16-04/) guide for an example of this). However, this single-server setup is not suited for production deployments. This guide covers how to configure a production Odoo 13 cluster where the Odoo server and PostgreSQL database are hosted on separate Linodes. This configuration gives you more flexibility and scalability while allowing you to use PostgreSQL database replication for added performance and reliability. +For simple installations, Odoo and its dependencies can be installed on a single Linode (see our [Install Odoo 10 on Ubuntu 16.04](/cloud/guides/install-odoo-10-on-ubuntu-16-04) guide for an example of this). However, this single-server setup is not suited for production deployments. This guide covers how to configure a production Odoo 13 cluster where the Odoo server and PostgreSQL database are hosted on separate Linodes. This configuration gives you more flexibility and scalability while allowing you to use PostgreSQL database replication for added performance and reliability. ## System Requirements @@ -66,7 +66,7 @@ Ports `22`, `80`, and `5432` are the defaults for SSH, HTTP, and PostgreSQL comm sudo ufw allow 22/tcp -For more detailed information about firewall setup please read our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). +For more detailed information about firewall setup please read our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). ## Hostname Assignment @@ -362,7 +362,7 @@ You have two options to backup your production database: 1. You can install PostgreSQL 10 on the **Odoo** server using the procedure described on this guide. This installs `pg_dump` and other utilities, allowing you to use the Odoo GUI as before. Since Odoo configuration is explicit about database connection you do not have to worry about anything else. This method restores the database to the **PostgreSQL** server rather than **Odoo**. -2. You can also use a procedure similar to the one described in our guide [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database/) from the backend **PostgreSQL** server. +2. You can also use a procedure similar to the one described in our guide [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database) from the backend **PostgreSQL** server. ### Update Odoo Modules diff --git a/docs/guides/websites/erp/install-odoo-10-on-ubuntu-16-04/index.md b/docs/guides/websites/erp/install-odoo-10-on-ubuntu-16-04/index.md index 1eaf2e0dc4f..bd6902f5f6d 100644 --- a/docs/guides/websites/erp/install-odoo-10-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/erp/install-odoo-10-on-ubuntu-16-04/index.md @@ -32,7 +32,7 @@ This guide covers how to install and configure Odoo in under an hour using Git s ## Configure UFW Firewall for Odoo -Before installing Odoo, we'll set up some basic firewall rules to allow SSH connections and access to the Odoo server. In this example we'll use Odoo's default port `8069`, but this could be any port you specify later in the configuration file. If you plan to run any other services, you can add their ports here as well. Refer to our guide on how to [Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/#use-ufw-to-manage-firewall-rules) for help with rules and settings: +Before installing Odoo, we'll set up some basic firewall rules to allow SSH connections and access to the Odoo server. In this example we'll use Odoo's default port `8069`, but this could be any port you specify later in the configuration file. If you plan to run any other services, you can add their ports here as well. Refer to our guide on how to [Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw#use-ufw-to-manage-firewall-rules) for help with rules and settings: sudo ufw allow ssh sudo ufw allow 8069/tcp @@ -427,4 +427,4 @@ If all your tests pass, you can safely update your production installation. ## Next Steps -If you plan to use Odoo 10 for your business, you may wish to configure SSL/TLS encryption to enable secure connections to your server. To do this, check out our guide on how to [install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/). +If you plan to use Odoo 10 for your business, you may wish to configure SSL/TLS encryption to enable secure connections to your server. To do this, check out our guide on how to [install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates). diff --git a/docs/guides/websites/forums/discussion-forums-with-fluxbb/index.md b/docs/guides/websites/forums/discussion-forums-with-fluxbb/index.md index b5e93c29963..f0049382105 100644 --- a/docs/guides/websites/forums/discussion-forums-with-fluxbb/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-fluxbb/index.md @@ -14,7 +14,7 @@ deprecated: true FluxBB is a web application that powers discussion forums. It strives to be faster and more lightweight than other contenders in this space, and its developers strive for maximum stability and security. Thus, FluxBB is a viable option for those who need a web based discussion forum and require simplicity and stability without an expansive feature set. -Before beginning with this guide we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). To complete this guide, you must also install a web server. This guide will assume that you have completed the appropriate [LAMP guide](/cloud/guides/web-servers/lamp/) for your operating system. +Before beginning with this guide we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). To complete this guide, you must also install a web server. This guide will assume that you have completed the appropriate [LAMP guide](/cloud/guides/web-servers/lamp) for your operating system. ## Installing Prerequisites diff --git a/docs/guides/websites/forums/discussion-forums-with-mybb/index.md b/docs/guides/websites/forums/discussion-forums-with-mybb/index.md index 9382573d820..c76ceb0cc03 100644 --- a/docs/guides/websites/forums/discussion-forums-with-mybb/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-mybb/index.md @@ -14,7 +14,7 @@ deprecated: true MyBB is a popular alternative to large forum systems like SMF and phpBB. It is designed to be lightweight yet fully customizable, and can be modified to suit your needs. While MyBB will work with MySQL and SQLite, this guide will use MySQL as the database engine. -Before we begin, we assume you have followed the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will also need a working [LAMP stack](/cloud/guides/web-servers/lamp/). +Before we begin, we assume you have followed the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will also need a working [LAMP stack](/cloud/guides/web-servers/lamp). ## Prerequisites diff --git a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-centos-5/index.md b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-centos-5/index.md index 0650e393292..871bd209222 100644 --- a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-centos-5/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-centos-5/index.md @@ -25,7 +25,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already started the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/web-servers/lamp/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already started the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/web-servers/lamp) on your Linode. You should be connected to your server via SSH and logged in as root. ## Prerequisites @@ -66,9 +66,9 @@ Before you can install phpBB, you need to make sure that it has access to write chmod 0777 /srv/www/example.com/public_html/forum/config.php -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/lamp-server-on-centos-5/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/lamp-server-on-centos-5), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." -You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/guides/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." +You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/guides/databases/mysql) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." This brings us to the "Administrator Configuration" page where you can set your Administrator username, password, and admin e-mail address. Fill this out, then click "Proceed to next step". Click "Proceed to next step" again on the next page confirming the settings worked. Click "Proceed to next step" again after you reach the next page. diff --git a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-5-lenny/index.md b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-5-lenny/index.md index becf9f8dd08..e5fe0d7152b 100644 --- a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-5-lenny/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11) on your Linode. You should be connected to your server via SSH and logged in as root. ## Downloading and Unpacking @@ -64,7 +64,7 @@ Now, visit the `phpBB3` directory in your browser: In the above example, that wo ## Configure phpBB -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." You will now need to fill in your database information. Using the MySQL database, user and password we created earlier as an example, you would enter `phpbb` into the `database name` field, `phpbb` into the `database username` field, and `password` into the `database password` field. The other fields can remain blank for the defaults. Click "Proceed to next step." diff --git a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-6-squeeze/index.md b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-6-squeeze/index.md index 57bfc90dd9d..2626355947a 100644 --- a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-6-squeeze/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-6-squeeze/index.md @@ -20,7 +20,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/web-servers/lamp/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/web-servers/lamp) on your Linode. You should be connected to your server via SSH and logged in as root. ## Prerequisites @@ -62,9 +62,9 @@ Before you can install phpBB, you need to make sure that it has access to write chmod 0777 /srv/www/example.com/public_html/forum/config.php -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." -You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/guides/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." +You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/guides/databases/mysql) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." This brings us to the "Administrator Configuration" page where you can set your Administrator username, password, and admin e-mail address. Fill this out, then click "Proceed to next step". Click "Proceed to next step" again on the next page confirming the settings worked. Click "Proceed to next step" again after you reach the next page. diff --git a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-fedora-14/index.md b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-fedora-14/index.md index 16da236ff29..12e7a98d9e6 100644 --- a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-fedora-14/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-fedora-14/index.md @@ -20,7 +20,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/web-servers/lamp/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/web-servers/lamp) on your Linode. You should be connected to your server via SSH and logged in as root. ## Prerequisites @@ -69,9 +69,9 @@ Before you can install phpBB, you need to make sure that it has access to write chmod 0777 /srv/www/example.com/public_html/forum/config.php -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." -You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/guides/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." +You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/guides/databases/mysql) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." This brings us to the "Administrator Configuration" page where you can set your Administrator username, password, and admin e-mail address. Fill this out, then click "Proceed to next step". Click "Proceed to next step" again on the next page confirming the settings worked. Click "Proceed to next step" again after you reach the next page. diff --git a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-ubuntu-10-04-lucid/index.md b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-ubuntu-10-04-lucid/index.md index a7f826ce001..a73c6a79d5a 100644 --- a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/web-servers/lamp/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/web-servers/lamp) on your Linode. You should be connected to your server via SSH and logged in as root. ## Prerequisites @@ -61,9 +61,9 @@ Before you can install phpBB, you need to make sure that it has access to write chmod 0777 /srv/www/example.com/public_html/forum/config.php -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." -You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/guides/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." +You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/guides/databases/mysql) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." This brings us to the "Administrator Configuration" page where you can set your Administrator username, password, and admin e-mail address. Fill this out, then click "Proceed to next step". Click "Proceed to next step" again on the next page confirming the settings worked. Click "Proceed to next step" again after you reach the next page. diff --git a/docs/guides/websites/forums/discussion-forums-with-vanilla-forums/index.md b/docs/guides/websites/forums/discussion-forums-with-vanilla-forums/index.md index 3b49df55b77..e145089a823 100644 --- a/docs/guides/websites/forums/discussion-forums-with-vanilla-forums/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-vanilla-forums/index.md @@ -14,7 +14,7 @@ deprecated: true Vanilla is a lightweight and flexible web-based discussion forum engine. Written against the popular LAMP stack, Vanilla combines simplicity and ease of use with a rich and customizable feature set. -Before beginning this guide we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). To complete this guide, you must also install a web server. This guide will assume that you have completed the appropriate [LAMP guide](/cloud/guides/web-servers/lamp/) for your operating system. +Before beginning this guide we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). To complete this guide, you must also install a web server. This guide will assume that you have completed the appropriate [LAMP guide](/cloud/guides/web-servers/lamp) for your operating system. ## Installing Prerequisites diff --git a/docs/guides/websites/forums/install-a-simple-machines-forum-on-your-website/index.md b/docs/guides/websites/forums/install-a-simple-machines-forum-on-your-website/index.md index d49be09a73d..501a731c025 100644 --- a/docs/guides/websites/forums/install-a-simple-machines-forum-on-your-website/index.md +++ b/docs/guides/websites/forums/install-a-simple-machines-forum-on-your-website/index.md @@ -20,10 +20,10 @@ deprecated: true Simple Machines Forum (SMF) is a popular forum solution for small- to large-sized communities that offers a variety of features. With its modular design and flexibility, users can create their own plugins to modify the behavior of SMF in any way they wish. -Before you begin, be sure you have followed the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will also need a working [LAMP stack](/cloud/guides/web-servers/lamp/). +Before you begin, be sure you have followed the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will also need a working [LAMP stack](/cloud/guides/web-servers/lamp). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Prerequisites diff --git a/docs/guides/websites/forums/install-and-run-askbot-on-ubuntu-16-04/index.md b/docs/guides/websites/forums/install-and-run-askbot-on-ubuntu-16-04/index.md index 07547024e6d..604ff5566c2 100644 --- a/docs/guides/websites/forums/install-and-run-askbot-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/forums/install-and-run-askbot-on-ubuntu-16-04/index.md @@ -34,7 +34,7 @@ In this guide, you'll install AskBot and deploy with **NGINX** as a web server, 4. A Fully-Qualified Domain Name configured to point to your Linode. You can learn how to point domain names to Linode by following the [DNS Manager > Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) guide. {{< note >}} -Throughout this guide, replace `example_user` with a non-root user with `sudo` access. If you’re not familiar with Linux user permissions and the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Throughout this guide, replace `example_user` with a non-root user with `sudo` access. If you’re not familiar with Linux user permissions and the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Dependencies and Create a Database @@ -160,7 +160,7 @@ WantedBy=multi-user.target sudo systemctl daemon-reload sudo systemctl restart nginx -5. Use [Let's Encrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/) to obtain an SSL certificate for your domain: +5. Use [Let's Encrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates) to obtain an SSL certificate for your domain: sudo letsencrypt certonly -a webroot --agree-tos --email admin@example.com --webroot-path=/var/www/html -d example.com -d www.example.com diff --git a/docs/guides/websites/forums/launch-discussion-forums-with-phpbb-on-ubuntu-12-04/index.md b/docs/guides/websites/forums/launch-discussion-forums-with-phpbb-on-ubuntu-12-04/index.md index 2121e62b0d2..f2f78069541 100644 --- a/docs/guides/websites/forums/launch-discussion-forums-with-phpbb-on-ubuntu-12-04/index.md +++ b/docs/guides/websites/forums/launch-discussion-forums-with-phpbb-on-ubuntu-12-04/index.md @@ -24,7 +24,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/web-servers/lamp/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/web-servers/lamp) on your Linode. You should be connected to your server via SSH and logged in as root. ## Prerequisites @@ -96,9 +96,9 @@ Before you can install phpBB, you need to make sure that it has access to write chmod 0777 /srv/www/example.com/public_html/forum/config.php -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." -You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/guides/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." +You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/guides/databases/mysql) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." This brings us to the "Administrator Configuration" page where you can set your Administrator username, password, and admin e-mail address. Fill this out, then click "Proceed to next step". Click "Proceed to next step" again on the next page confirming the settings worked. Click "Proceed to next step" again after you reach the next page. diff --git a/docs/guides/websites/hosting/host-a-website-with-high-availability/index.md b/docs/guides/websites/hosting/host-a-website-with-high-availability/index.md index e5ffe55205d..ef27a66d50d 100644 --- a/docs/guides/websites/hosting/host-a-website-with-high-availability/index.md +++ b/docs/guides/websites/hosting/host-a-website-with-high-availability/index.md @@ -25,7 +25,7 @@ This guide is designed to be used in data centers that support the legacy ARP-ba When deploying a website or application, one of the most important elements to consider is availability, or the period of time for which your content is accessible to users. High availability is a term used to describe server setups that eliminate single points of failure by offering redundancy, monitoring, and failover. This ensures that even if one component of your web stack goes down, the content will still be accessible. -This guide shows how to host a highly available website with WordPress. However, you can use this setup to serve other types of content as well. This guide is intended to be a tutorial on the setup of such a system. For more information on how each element in the high availability stack functions, refer to our [introduction to high availability](/cloud/guides/intro-to-high-availability-and-disaster-recovery/). +This guide shows how to host a highly available website with WordPress. However, you can use this setup to serve other types of content as well. This guide is intended to be a tutorial on the setup of such a system. For more information on how each element in the high availability stack functions, refer to our [introduction to high availability](/cloud/guides/intro-to-high-availability-and-disaster-recovery). ## Before You Begin @@ -44,7 +44,7 @@ This guide shows how to host a highly available website with WordPress. However, 1. To create a private network among your Linodes, you'll need a [private IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) for each. {{< note >}} -Most steps in this guide require root privileges. Be sure you're entering the commands as root, or using `sudo` if you're using a limited user account. If you’re not familiar with the `sudo` command, visit our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +Most steps in this guide require root privileges. Be sure you're entering the commands as root, or using `sudo` if you're using a limited user account. If you’re not familiar with the `sudo` command, visit our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## GlusterFS @@ -504,7 +504,7 @@ Install the Apache HTTPD web server package on each of your three application no yum install httpd ``` -At this point, you may also tune your Apache instances to optimize performance based on your site or application's needs. This step is optional, however, and is beyond the scope of this guide. Check [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server/) for more information. +At this point, you may also tune your Apache instances to optimize performance based on your site or application's needs. This step is optional, however, and is beyond the scope of this guide. Check [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server) for more information. ### Configure SELinux Compatibility for Apache @@ -605,7 +605,7 @@ The steps in this section do not work as intended in data centers that use the n So far, we've successfully configured a redundant web stack with three layers of nodes performing a series of tasks. Gluster automatically handles monitoring, and we configured the failover for the file system nodes in our application nodes' `/etc/fstab` files. In this section, we use Keepalived to handle database failover. {{< note >}} -Alternatively, some users prefer to configure HAProxy instead of or in addition to Keepalived. For more information, visit our guide on [how to use HAProxy for load balancing](/cloud/guides/how-to-use-haproxy-for-load-balancing/). +Alternatively, some users prefer to configure HAProxy instead of or in addition to Keepalived. For more information, visit our guide on [how to use HAProxy for load balancing](/cloud/guides/how-to-use-haproxy-for-load-balancing). {{< /note >}} Keepalived is a routing service that can be used to monitor and fail over components in a high availability configuration. In this section, you will be using the additional private IP address, or *floating IP* from your database node to fail over to the others if one should go down. A floating IP address is one that can be assigned to a different node if needed. If you didn't request an additional private IP in the Galera section, [contact support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support) and do so before continuing. @@ -854,16 +854,16 @@ If you're installing WordPress to manage your new highly available website, we'l systemctl restart httpd ``` -1. In a web browser, navigate to the IP address of one of your application nodes (or the NodeBalancer) to access the WordPress admin panel. Use `wordpress` as the database name and user name, enter the password you configured in Step 2, and enter your floating IP address as the database host. For additional WordPress setup instructions, see our guide on [Installing and Configuring WordPress](/cloud/guides/how-to-install-and-configure-wordpress/#configure-wordpress). +1. In a web browser, navigate to the IP address of one of your application nodes (or the NodeBalancer) to access the WordPress admin panel. Use `wordpress` as the database name and user name, enter the password you configured in Step 2, and enter your floating IP address as the database host. For additional WordPress setup instructions, see our guide on [Installing and Configuring WordPress](/cloud/guides/how-to-install-and-configure-wordpress#configure-wordpress). -You've successfully configured a highly available WordPress site, and you're ready to start publishing content. For more information, reference our [WordPress configuration guide](/cloud/guides/how-to-install-and-configure-wordpress/). +You've successfully configured a highly available WordPress site, and you're ready to start publishing content. For more information, reference our [WordPress configuration guide](/cloud/guides/how-to-install-and-configure-wordpress). ## DNS Records The NodeBalancer in the above system directs all incoming traffic to the application servers. As such, its IP address will be the one you should use when configuring your DNS records. To find this information, visit the **NodeBalancers** tab in the Linode Manager and look in the *IP Address* section. -For more information on DNS configuration, refer to our [introduction to DNS records](/cloud/guides/dns-overview/) and our guide on how to use the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). +For more information on DNS configuration, refer to our [introduction to DNS records](/cloud/guides/dns-overview) and our guide on how to use the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). ## Configuration Management -Because a high availability configuration involves so many different components, you may want to consider additional software to help you manage the cluster and create new nodes when necessary. For more information on the options available for managing your nodes, see our guides on [Salt](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/), [Chef](/cloud/guides/beginners-guide-chef/), [Puppet](/cloud/guides/install-and-configure-puppet/), and [Ansible](/cloud/guides/running-ansible-playbooks/). You can also refer to our guide on [Automating Server Builds](https://techdocs.akamai.com/cloud-computing/docs/automate-cloud-resource-deployment) for an overview of how to choose a solution that is right for you. +Because a high availability configuration involves so many different components, you may want to consider additional software to help you manage the cluster and create new nodes when necessary. For more information on the options available for managing your nodes, see our guides on [Salt](/cloud/guides/getting-started-with-salt-basic-installation-and-setup), [Chef](/cloud/guides/beginners-guide-chef), [Puppet](/cloud/guides/install-and-configure-puppet), and [Ansible](/cloud/guides/running-ansible-playbooks). You can also refer to our guide on [Automating Server Builds](https://techdocs.akamai.com/cloud-computing/docs/automate-cloud-resource-deployment) for an overview of how to choose a solution that is right for you. diff --git a/docs/guides/websites/hosting/intro-to-high-availability-and-disaster-recovery/index.md b/docs/guides/websites/hosting/intro-to-high-availability-and-disaster-recovery/index.md index 5b7b312eeb4..25a24ee2702 100644 --- a/docs/guides/websites/hosting/intro-to-high-availability-and-disaster-recovery/index.md +++ b/docs/guides/websites/hosting/intro-to-high-availability-and-disaster-recovery/index.md @@ -10,8 +10,8 @@ keywords: ["high availability", "disaster recovery", "hosting", "website", "fail tags: ["web server","monitoring"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: -- '[Host a Website with High Availability](/cloud/guides/host-a-website-with-high-availability/)' -- '[Deploy a High Availability WordPress Website on Linode](/cloud/guides/high-availability-wordpress/)' +- '[Host a Website with High Availability](/cloud/guides/host-a-website-with-high-availability)' +- '[Deploy a High Availability WordPress Website on Linode](/cloud/guides/high-availability-wordpress)' - '[Configure failover on a Linode](https://techdocs.akamai.com/cloud-computing/docs/configure-failover-on-a-compute-instance)' - '[High availability (HA) control plane on LKE](https://techdocs.akamai.com/cloud-computing/docs/high-availability-ha-control-plane-on-lke)' - '[Monitor and maintain a Linode](https://techdocs.akamai.com/cloud-computing/docs/monitor-and-maintain-a-compute-instance)' @@ -44,14 +44,14 @@ Disaster recovery is a process that is employed in the event of a wider-ranging A disaster recovery plan documents key information and procedures that should be adhered to in these scenarios. This can include lists of staff that are responsible for the plan, inventories of systems and software, activation of backup sites and systems, criteria that should be met during the recovery operation (including [RTO and RPO](#rtorpo)), and other considerations. -Our [Creating a Disaster Recovery Plan: A Definitive Guide](/cloud/guides/disaster-recovery/) contains further guidance for creating a disaster recovery plan. +Our [Creating a Disaster Recovery Plan: A Definitive Guide](/cloud/guides/disaster-recovery) contains further guidance for creating a disaster recovery plan. ## High Availability Architecture This section describes an example of a high availability architecture that features a WordPress website running in a single data center. There are redundant copies of each component in the architecture, and the health of each set of components is continually monitored. If any component fails, automatic failover is triggered and other healthy components are promoted. {{< note >}} -This specific architecture is implemented in the [host a website with high availability](/cloud/guides/host-a-website-with-high-availability/) guide. While some of the technologies used are specific to this example, the concepts can be more broadly applied to other HA systems. +This specific architecture is implemented in the [host a website with high availability](/cloud/guides/host-a-website-with-high-availability) guide. While some of the technologies used are specific to this example, the concepts can be more broadly applied to other HA systems. {{< /note >}} ![High availability server configuration](ha-diagram.svg?diagram-description-id=ha-architecture) @@ -232,7 +232,7 @@ Open source software and tools can support monitoring and failover, including: - **[Keepalived](https://www.keepalived.org/)**: A software package that can run periodic health checks and run notification scripts that are triggered by different health check changes over time. These notification scripts can then interact with features of your cloud platform (like [IP Sharing and BGP-based failover](https://techdocs.akamai.com/cloud-computing/docs/use-keepalived-health-checks-with-bgp-based-failover) on Akamai Cloud) to support failover of infrastructure. In the [high availability architecture](#high-availability-architecture) example in this guide, the database cluster runs keepalived to monitor failures of the primary database server and then promote a backup DB to be the new primary. -- **[HAProxy](/cloud/guides/how-to-configure-haproxy-http-load-balancing-and-health-checks/)**: A dedicated reverse proxy software solution. HAProxy can perform health checks of backend servers and stop routing traffic to backends that experience failures. +- **[HAProxy](/cloud/guides/how-to-configure-haproxy-http-load-balancing-and-health-checks)**: A dedicated reverse proxy software solution. HAProxy can perform health checks of backend servers and stop routing traffic to backends that experience failures. ### Load Balancing @@ -254,11 +254,11 @@ Akamai offers multiple tools to assist with load balancing, including: Open source software and tools can support load balancing, including: -- **Web servers**, like NGINX and Apache: These can be configured as [reverse proxies](/cloud/guides/use-nginx-reverse-proxy/#what-is-a-reverse-proxy) for backend servers. +- **Web servers**, like NGINX and Apache: These can be configured as [reverse proxies](/cloud/guides/use-nginx-reverse-proxy#what-is-a-reverse-proxy) for backend servers. -- **[HAProxy](/cloud/guides/how-to-configure-haproxy-http-load-balancing-and-health-checks/)**: A dedicated reverse proxy software solution. +- **[HAProxy](/cloud/guides/how-to-configure-haproxy-http-load-balancing-and-health-checks)**: A dedicated reverse proxy software solution. -- **[Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/)**: [A range of load balancing functionality](https://kubernetes.io/docs/concepts/services-networking/) is offered by Kubernetes. [Services](https://kubernetes.io/docs/concepts/services-networking/service/) are an abstraction layer for a set of Pods that run your application code, and traffic is collectively routed across them. [LoadBalancer-type Services](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) correspond to cloud load balancing products provided by cloud platforms. +- **[Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction)**: [A range of load balancing functionality](https://kubernetes.io/docs/concepts/services-networking/) is offered by Kubernetes. [Services](https://kubernetes.io/docs/concepts/services-networking/service/) are an abstraction layer for a set of Pods that run your application code, and traffic is collectively routed across them. [LoadBalancer-type Services](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) correspond to cloud load balancing products provided by cloud platforms. ### Replication @@ -277,9 +277,9 @@ Multiple Akamai services provide data replication, or can be used to support dat - **[Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage)**: Akamai Cloud's object storage service uses [an internal replication system](https://www.linode.com/products/object-storage/#accordion-7252094bf6-item-97b2f59293) to ensure that data is highly-available. - Users can enhance redundancy of their object storage data by [synchronizing bucket data across regions using rclone](/cloud/guides/replicate-bucket-contents-with-rclone/), which can support high availability, disaster recovery, and load balancing strategies. + Users can enhance redundancy of their object storage data by [synchronizing bucket data across regions using rclone](/cloud/guides/replicate-bucket-contents-with-rclone), which can support high availability, disaster recovery, and load balancing strategies. - Users can also [backup files from a Linode to Object Storage](/cloud/guides/rclone-object-storage-file-sync/), which can play a role in backup and recovery. + Users can also [backup files from a Linode to Object Storage](/cloud/guides/rclone-object-storage-file-sync), which can play a role in backup and recovery. - **[Managed Databases](https://techdocs.akamai.com/cloud-computing/docs/aiven-database-clusters)**: All database clusters created with Akamai's Managed Databases receive daily backups. For 3-node clusters, built-in data replication, redundancy, and automatic failover are provided. @@ -293,11 +293,11 @@ Multiple Akamai services provide data replication, or can be used to support dat Open source software that supports replication includes: -- **Database replication tools**: Some tools are built into the database system, like MySQL's [source-replica replication mechanism](/cloud/guides/configure-source-replica-replication-in-mysql/). Other tools, like [Galera](https://galeracluster.com/), can be additionally installed to support replication. +- **Database replication tools**: Some tools are built into the database system, like MySQL's [source-replica replication mechanism](/cloud/guides/configure-source-replica-replication-in-mysql). Other tools, like [Galera](https://galeracluster.com/), can be additionally installed to support replication. - **Networked filesystems, like [GlusterFS](https://www.gluster.org/)**: These are used to create distributed storage systems across multiple block storage devices, like a Linode's built-in storage disk, or a Block Storage volume. -- **[Command-line data transfer utilities](/cloud/guides/comparing-data-transfer-utilities/)** like [rsync](/cloud/guides/introduction-to-rsync/) and [rclone](/cloud/guides/rclone-object-storage-file-sync/). +- **[Command-line data transfer utilities](/cloud/guides/comparing-data-transfer-utilities)** like [rsync](/cloud/guides/introduction-to-rsync) and [rclone](/cloud/guides/rclone-object-storage-file-sync). ### Scaling diff --git a/docs/guides/websites/hosting/secure-website-lets-encrypt-acme-sh/index.md b/docs/guides/websites/hosting/secure-website-lets-encrypt-acme-sh/index.md index 4af85d8dee0..ba46a058f0b 100644 --- a/docs/guides/websites/hosting/secure-website-lets-encrypt-acme-sh/index.md +++ b/docs/guides/websites/hosting/secure-website-lets-encrypt-acme-sh/index.md @@ -14,7 +14,7 @@ external_resources: - '[Use Linode domain API (acme.sh wiki)](https://github.com/acmesh-official/acme.sh/wiki/dnsapi#14-use-linode-domain-api)' - '[Let''s Encrypt](https://letsencrypt.org/)' --- -[*acme.sh*](https://acme.sh/) is a client application for ACME-compatible services, like those used by [Let's Encrypt](https://letsencrypt.org/). It is an alternative to the popular [Certbot](/cloud/guides/quick-answers/websites/) application with two big benefits: +[*acme.sh*](https://acme.sh/) is a client application for ACME-compatible services, like those used by [Let's Encrypt](https://letsencrypt.org/). It is an alternative to the popular [Certbot](/cloud/guides/quick-answers/websites) application with two big benefits: - It is written in the Shell language, so it has no dependencies @@ -26,7 +26,7 @@ If you use Linode for your website's DNS, you can use acme.sh to obtain both sin 1. Deploy a Linode by following the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. -1. Ensure that either NGINX or the Apache web server is installed and pre-configured on your distro by following our [web server documentation](/cloud/guides/web-servers/). Ensure that port 443 is open on your firewall to allow for SSL/TLS resolution. +1. Ensure that either NGINX or the Apache web server is installed and pre-configured on your distro by following our [web server documentation](/cloud/guides/web-servers). Ensure that port 443 is open on your firewall to allow for SSL/TLS resolution. 1. Decide which system user you want to issue and renew your certificates and [connect to your Linode as this user via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). If you want to automatically restart a web server, or write certificates to a restricted folder, you likely want to install acme.sh under root. diff --git a/docs/guides/websites/hosting/set-up-web-server-host-website/index.md b/docs/guides/websites/hosting/set-up-web-server-host-website/index.md index 54e239e6ba8..80ed46b8f93 100644 --- a/docs/guides/websites/hosting/set-up-web-server-host-website/index.md +++ b/docs/guides/websites/hosting/set-up-web-server-host-website/index.md @@ -29,9 +29,9 @@ The application you use to serve your website depends on the type of site. Find ### Static Sites -If your website consists entirely of static files like HTML, CSS, JavaScript, and images, then you only need to set up a simple web server to serve the files. Static sites include everything from bare-bones HTML pages to much more complicated [React.js](/cloud/guides/how-to-deploy-a-react-app-on-ubuntu-18-04/) apps. NGINX is a good choice for hosting this type of website. +If your website consists entirely of static files like HTML, CSS, JavaScript, and images, then you only need to set up a simple web server to serve the files. Static sites include everything from bare-bones HTML pages to much more complicated [React.js](/cloud/guides/how-to-deploy-a-react-app-on-ubuntu-18-04) apps. NGINX is a good choice for hosting this type of website. -If you plan to host a simple site such as a blog or photo gallery, another option is to use a [static site generator](/cloud/guides/how-to-choose-static-site-generator/). +If you plan to host a simple site such as a blog or photo gallery, another option is to use a [static site generator](/cloud/guides/how-to-choose-static-site-generator). 1. Install NGINX: @@ -89,17 +89,17 @@ server { If NGINX loads successfully, continue to the [Test your Website](#test-your-website) section below. -This configuration is sufficient to get you started. For more advanced options and optimizations, see our [series on NGINX configuration](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). +This configuration is sufficient to get you started. For more advanced options and optimizations, see our [series on NGINX configuration](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup). ### LAMP Stack -Other sites, such as [WordPress](/cloud/guides/install-wordpress-ubuntu-18-04/), need a database in addition to a web server. This combination is known as a **stack**. WordPress is often used with the extremely popular LAMP stack (Linux, Apache, MariaDB and PHP). To install a LAMP stack manually, find the guide for your distribution in our [LAMP](/cloud/guides/web-servers/lamp/) section. +Other sites, such as [WordPress](/cloud/guides/install-wordpress-ubuntu-18-04), need a database in addition to a web server. This combination is known as a **stack**. WordPress is often used with the extremely popular LAMP stack (Linux, Apache, MariaDB and PHP). To install a LAMP stack manually, find the guide for your distribution in our [LAMP](/cloud/guides/web-servers/lamp) section. -If you are using WordPress, another option is to use Docker. All of the components needed to run WordPress, along with WordPress itself, are bundled into a container that can be deployed with single command. See our [WordPress with Docker Compose](/cloud/guides/wordpress-with-docker-compose/) guide for details. Official Docker images are also available for other CMS platforms including [Ghost](https://hub.docker.com/_/ghost/) and [Joomla](https://hub.docker.com/_/joomla/). +If you are using WordPress, another option is to use Docker. All of the components needed to run WordPress, along with WordPress itself, are bundled into a container that can be deployed with single command. See our [WordPress with Docker Compose](/cloud/guides/wordpress-with-docker-compose) guide for details. Official Docker images are also available for other CMS platforms including [Ghost](https://hub.docker.com/_/ghost/) and [Joomla](https://hub.docker.com/_/joomla/). ### Other Site Types -If none of these application stacks fit your situation, review our [Websites](/cloud/guides/websites/) and [Development](/cloud/guides/development/) sections to find a solution that works for your project. +If none of these application stacks fit your situation, review our [Websites](/cloud/guides/websites) and [Development](/cloud/guides/development) sections to find a solution that works for your project. ## Test your Website diff --git a/docs/guides/websites/hosting/setting-up-round-robin-dns/index.md b/docs/guides/websites/hosting/setting-up-round-robin-dns/index.md index 8ba00776cf4..6658d9dd00d 100644 --- a/docs/guides/websites/hosting/setting-up-round-robin-dns/index.md +++ b/docs/guides/websites/hosting/setting-up-round-robin-dns/index.md @@ -28,7 +28,7 @@ To continue following this guide, you will need a website that's hosted on a Lin - [Add a domain and configure an A record](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your new Linode. When using round-robin DNS, a low TTL is recommended. -- [Install and configure a web server](/cloud/guides/how-to-install-nginx-debian-10/), adding a site that uses your domain name. While any major web server will be able to accommodate round-robin DNS, this guide was specifically created using NGINX. +- [Install and configure a web server](/cloud/guides/how-to-install-nginx-debian-10), adding a site that uses your domain name. While any major web server will be able to accommodate round-robin DNS, this guide was specifically created using NGINX. After creating your Linode, configuring DNS, and setting up your web server, you should be able to freely access a webpage using your domain name: diff --git a/docs/guides/websites/lms/how-to-install-canvas-on-debian-10/index.md b/docs/guides/websites/lms/how-to-install-canvas-on-debian-10/index.md index 02e92d7360b..ad94a07f4c6 100644 --- a/docs/guides/websites/lms/how-to-install-canvas-on-debian-10/index.md +++ b/docs/guides/websites/lms/how-to-install-canvas-on-debian-10/index.md @@ -39,7 +39,7 @@ This guide shows you how to get a Canvas website up and running on a Debian 10 s 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install and configure UFW for managing your machine's firewall rules. Refer to the [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide. +1. Install and configure UFW for managing your machine's firewall rules. Refer to the [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) guide. 1. Prepare an SMTP server that Canvas can use to send email notifications to users. You can use a third-party SMTP service for this purpose. This guide uses [Mailgun](https://www.mailgun.com/) as the third-party SMTP provider in its example configurations. @@ -49,10 +49,10 @@ This guide shows you how to get a Canvas website up and running on a Debian 10 s You can run some of the components of your Canvas installation on separate machines to free up memory. Refer to Canvas's [Production Start](https://github.com/instructure/canvas-lms/wiki/Production-Start) guide for more information on what components can be installed independently. This approach requires that each machine is configured to enable communications between the components, and it is considered an advanced setup. {{< /note >}} -1. Replace `example.com` in this guide with your server's domain name. You can complete the steps mentioned in the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) section to register a domain name for your Linode server. +1. Replace `example.com` in this guide with your server's domain name. You can complete the steps mentioned in the [Add DNS Records](/cloud/guides/set-up-web-server-host-website#add-dns-records) section to register a domain name for your Linode server. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Apache diff --git a/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-22-04/index.md b/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-22-04/index.md index 7afc6c47496..7d1e89a239b 100644 --- a/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-22-04/index.md +++ b/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-22-04/index.md @@ -48,14 +48,14 @@ Some of Moodle's advantages are as follows: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Configure a LAMP Stack, including the Apache web server, the MySQL RDBMS, and PHP. For more information on configuring a LAMP stack, consult the Linode guide on [Installing a LAMP Stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/). +1. Configure a LAMP Stack, including the Apache web server, the MySQL RDBMS, and PHP. For more information on configuring a LAMP stack, consult the Linode guide on [Installing a LAMP Stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04). 1. To properly use Moodle, configure a domain name for the server. For information on domain names and pointing the domain name to a Linode, see the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). 1. **(Optional)** A virtual host for the domain is not strictly required, but is recommended. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Installing the Moodle Prerequisites diff --git a/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-server-2004/index.md b/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-server-2004/index.md index 9e42fd436e9..71ab88f6dc8 100644 --- a/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-server-2004/index.md +++ b/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-server-2004/index.md @@ -26,12 +26,12 @@ relations: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -1. Install and configure a LAMP (Linux, Apache, MySQL, and PHP) stack. Follow the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide for instructions. +1. Install and configure a LAMP (Linux, Apache, MySQL, and PHP) stack. Follow the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04) guide for instructions. For this guide, you do not need to configure a virtual host for Apache. However, you should follow all other non-optional sections in the guide linked above. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install the Prerequisites diff --git a/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2004/index.md b/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2004/index.md index b15c7e3853a..9561285d989 100644 --- a/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2004/index.md +++ b/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2004/index.md @@ -40,16 +40,16 @@ This guide shows you how to get a Canvas website up and running on an Ubuntu 20. 1. Prepare an SMTP server that Canvas can use to send email notifications to users. You can use a third-party SMTP service for this purpose. This guide's example configurations use [Mailgun](https://www.mailgun.com/) as the third-party SMTP provider. - You can, alternatively, create your SMTP server by following the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide. However, because of Canvas's resource demands, you may want to run the SMTP server on a separate machine than the one running Canvas. + You can, alternatively, create your SMTP server by following the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql) guide. However, because of Canvas's resource demands, you may want to run the SMTP server on a separate machine than the one running Canvas. 1. Canvas recommends a minimum of 8 GB of RAM. The website may operate with fewer, but doing so may result in installation and/or runtime issues. This is especially the case when all of the Canvas components are running on a single machine. You can run some of the components of your Canvas installation on separate machines to improve performance if needed. Refer to Canvas's [Production Start](https://github.com/instructure/canvas-lms/wiki/Production-Start) guide for more on what components can be installed independently. Be aware that this approach requires some additional configuration to enable communications between the components. -1. Replace `example.com` in this guide with your server's domain name. You can complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) steps to register a domain name for your Linode server. +1. Replace `example.com` in this guide with your server's domain name. You can complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website#add-dns-records) steps to register a domain name for your Linode server. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Apache diff --git a/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2204/index.md b/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2204/index.md index 87a8e037e21..153403f17cd 100644 --- a/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2204/index.md +++ b/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2204/index.md @@ -44,7 +44,7 @@ The following sections help you install the software you need before you can clo You may have one or more of these software installed. To verify installation, type the name of the software followed by `--version`, such as `git --version`, and press **Enter**. Some products, such as Node.js, use `-v` in place of `--version`. If the version you have installed is equal to or higher than the version used for the guide, then you don’t need to perform another installation. If you have an older software version, update it. -You also need to install an email application. Canvas uses this email service to send notifications to users. There are numerous email server options and the one you choose depends on how you want to configure email for your server. One option is to use a third-party mail service such as [Mailgun](https://www.mailgun.com/). Another option is to install and configure a local email server using a product combination like [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/). You can also use an existing email server that you already have in place. You need to know email essentials like the email domain, the username and password for an email account, and the address of the Simple Mail Transfer Protocol (SMTP) server for this guide. +You also need to install an email application. Canvas uses this email service to send notifications to users. There are numerous email server options and the one you choose depends on how you want to configure email for your server. One option is to use a third-party mail service such as [Mailgun](https://www.mailgun.com/). Another option is to install and configure a local email server using a product combination like [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql). You can also use an existing email server that you already have in place. You need to know email essentials like the email domain, the username and password for an email account, and the address of the Simple Mail Transfer Protocol (SMTP) server for this guide. ### Update and Upgrade Your Ubuntu 22.04 Instance @@ -218,7 +218,7 @@ To install Ruby on Ubuntu 22.04, you don't necessarily need to install the Ruby To install the Ruby Bundler on Ubuntu 22.04, you need to have a few prerequisites installed: -- **Ruby**: The Ruby programming language should be installed on your Ubuntu 22.04 machine. You can install it by following the steps explained in the [Install Ruby](/cloud/guides/install-canvas-lms-on-ubuntu-2204/#install-ruby) section. +- **Ruby**: The Ruby programming language should be installed on your Ubuntu 22.04 machine. You can install it by following the steps explained in the [Install Ruby](/cloud/guides/install-canvas-lms-on-ubuntu-2204#install-ruby) section. - **RubyGems**: RubyGems is a package manager for the Ruby programming language. It should be installed with Ruby by default. You can check if it's installed by running the command `gem -v` in the terminal. If a version number is displayed, then RubyGems is installed. diff --git a/docs/guides/websites/proxies/deploy-multiple-web-servers-with-proxypass-on-ubuntu-12-04/index.md b/docs/guides/websites/proxies/deploy-multiple-web-servers-with-proxypass-on-ubuntu-12-04/index.md index 8703a81d881..96eeb107498 100644 --- a/docs/guides/websites/proxies/deploy-multiple-web-servers-with-proxypass-on-ubuntu-12-04/index.md +++ b/docs/guides/websites/proxies/deploy-multiple-web-servers-with-proxypass-on-ubuntu-12-04/index.md @@ -17,7 +17,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 12.04 (Precise Pangolin) guide](/cloud/guides/apache-web-server-ubuntu-12-04/) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 12.04 (Precise Pangolin) guide](/cloud/guides/apache-web-server-ubuntu-12-04) before proceeding. These steps should be performed as root via a shell session. ## Enable the Proxy Module diff --git a/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-centos-5/index.md b/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-centos-5/index.md index 151e9b66e86..bd20b403f13 100644 --- a/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-centos-5/index.md +++ b/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-centos-5/index.md @@ -18,7 +18,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web-serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on CentOS 5 guide](/cloud/guides/apache-2-web-server-on-centos-5/) before proceeding. These steps should be performed as root via a shell session. +We assume you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on CentOS 5 guide](/cloud/guides/apache-2-web-server-on-centos-5) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-debian-6-squeeze/index.md b/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-debian-6-squeeze/index.md index 92d63ecfcaf..a6198440c08 100644 --- a/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-debian-6-squeeze/index.md +++ b/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-debian-6-squeeze/index.md @@ -15,7 +15,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode; if you don't, you may wish to review our [Apache on Debian 6 (Squeeze) guide](/cloud/guides/apache-2-web-server-on-debian-6-squeeze/) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode; if you don't, you may wish to review our [Apache on Debian 6 (Squeeze) guide](/cloud/guides/apache-2-web-server-on-debian-6-squeeze) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-centos-5/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-centos-5/index.md index 6697ed15fc5..a87c2b92c35 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-centos-5/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-centos-5/index.md @@ -21,9 +21,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a front end server to mange clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a front end server to mange clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a front end server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-centos-5/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a front end server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-centos-5) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -52,11 +52,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/httpd reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-centos-5/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Follow this guide, particularly the section regarding configuring [mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-centos-5/#enabling-the-proxy-module) to ensure that `mod_proxy` is active. +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-centos-5) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Follow this guide, particularly the section regarding configuring [mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-centos-5#enabling-the-proxy-module) to ensure that `mod_proxy` is active. Once `mod_proxy` is enabled and configured, you can insert the following directives into your virtual hosting configuration: @@ -80,7 +80,7 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Back End -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of back end servers, this kind of architecture only makes sense for some kinds of deployments. In many situations, administrators might like to have much more fine-grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backends. +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of back end servers, this kind of architecture only makes sense for some kinds of deployments. In many situations, administrators might like to have much more fine-grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache), we can configure `mod_proxy` to more flexibly pass requests to alternate backends. Before continuing, ensure that you've completed the ProxyPass guide, particularly the section regarding configuring `mod_proxy`. Do not forget to create and configure the `/etc/httpd/conf.d/proxy.conf` file. @@ -155,7 +155,7 @@ In this example, the `RewriteCond` controls the behavior of the `RewriteEngine` All of the previous cases presented in this document outline configurations for using `mod_proxy` in various configurations to make it possible to use your Apache HTTP server as a front end for a more complex architecture. This case takes this one step further by allowing Apache to proxy requests to a group of identical backend servers, and thus be able to handle a much larger load. -Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in the [mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-centos-5/#enabling-the-proxy-module) documentation. Do not forget to reload the Apache configuration again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in the [mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-centos-5#enabling-the-proxy-module) documentation. Do not forget to reload the Apache configuration again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -200,4 +200,4 @@ Apache also contains a "Balancer Manager" interface that you can use to monitor {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a front end! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a front end! diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-debian-5-lenny/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-debian-5-lenny/index.md index 196a034ae58..4d6b5fa21df 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-debian-5-lenny/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-debian-5-lenny/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a front end server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a front end server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a front end server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a front end server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-debian-5-lenny) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -49,11 +49,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/apache2 reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Follow this guide, particularly the section regarding configuring `mod_proxy` and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Follow this guide, particularly the section regarding configuring `mod_proxy` and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http @@ -81,14 +81,14 @@ In essence, the `ProxyPass` directive allows you to distribute serving HTTP reso ## Case Three: Proxy Only Some Requests to a Back End -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of back-end servers, this kind of architecture only makes sense for some kinds of deployments. In many situations, administrators might like to have much more fine-grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate back end servers. Follow this guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/), and ensure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of back-end servers, this kind of architecture only makes sense for some kinds of deployments. In many situations, administrators might like to have much more fine-grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache), we can configure `mod_proxy` to more flexibly pass requests to alternate back end servers. Follow this guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny), and ensure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http a2enmod rewrite /etc/init.d/apache2 restart -Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: +Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: {{< file "Apache Virtual Host Configuration" apache >}} @@ -164,7 +164,7 @@ All of the previous cases presented in this document outline configurations for a2enmod proxy_balancer /etc/init.d/apache2 restart -Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/#enabling-the-proxy-module). Do not forget to reload the configuration Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny#enabling-the-proxy-module). Do not forget to reload the configuration Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -214,7 +214,7 @@ Now include the following location directive in the virtual host where your clus {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is not established at a location that is to be passed to a proxied server. Congratulations, you are now able to configure a fully functional cluster of web servers using the Apache web server as a front end! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is not established at a location that is to be passed to a proxied server. Congratulations, you are now able to configure a fully functional cluster of web servers using the Apache web server as a front end! ## More Information @@ -222,7 +222,7 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-12/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-12/index.md index 9d4fd4967e6..24adb5e656c 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-12/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-12/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-fedora-12/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-fedora-12) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -55,11 +55,11 @@ Reload the web server configuration to create the virtual host. Note that Fedora /etc/init.d/httpd reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/) we outline a method for configuring multiple websites using Apache's `mod_proxy` module. Please follow that guide, particularly the section regarding [configuring mod_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/) to ensure that `mod_proxy` is active. +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12) we outline a method for configuring multiple websites using Apache's `mod_proxy` module. Please follow that guide, particularly the section regarding [configuring mod_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12) to ensure that `mod_proxy` is active. Once `mod_proxy` is enabled and configured, you can insert the following directives into your virtual hosting configuration: @@ -78,11 +78,11 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/) we can configure `mod_proxy` to more flexibly pass requests to alternate backends. +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache) we can configure `mod_proxy` to more flexibly pass requests to alternate backends. -Before continuing, ensure that you've completed the ProxyPass guide, particularly the section regarding [configuring the proxy module](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/). Do not omit to create and configure the `/etc/httpd/conf.d/proxy.conf` file. +Before continuing, ensure that you've completed the ProxyPass guide, particularly the section regarding [configuring the proxy module](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12). Do not omit to create and configure the `/etc/httpd/conf.d/proxy.conf` file. -Once `mod_proxy` is enabled and [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/), you can insert the following directives into your virtual hosting configuration. +Once `mod_proxy` is enabled and [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12), you can insert the following directives into your virtual hosting configuration. {{< file "Apache Virtual Host Configuration" apache >}} @@ -151,7 +151,7 @@ In this example, the `RewriteCond` controls the behavior of the `RewriteEngine` All of the previous cases presented in this document outline configurations for using `mod_proxy` in various configurations to make it possible to use your Apache HTTP server as a frontend for a more complex architecture. This case takes this one step further, by allowing Apache to proxy requests to a group of identical backend servers, and thus be able to handle a much larger load. -Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -196,7 +196,7 @@ Apache also contains a "Balancer Manager" interface that you can use to monitor {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -204,4 +204,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-14/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-14/index.md index 6867f8fb220..cf9e9edefb8 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-14/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-14/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-fedora-14/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-fedora-14) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -55,11 +55,11 @@ Reload the web server configuration to create the virtual host. Note that Fedora /etc/init.d/httpd reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14/) we outline a method for configuring multiple websites using Apache's `mod_proxy` module. Please follow that guide, particularly the section regarding [configuring mod_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14/) to ensure that `mod_proxy` is active. +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14) we outline a method for configuring multiple websites using Apache's `mod_proxy` module. Please follow that guide, particularly the section regarding [configuring mod_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14) to ensure that `mod_proxy` is active. Once `mod_proxy` is enabled and configured, you can insert the following directives into your virtual hosting configuration: @@ -78,11 +78,11 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/) we can configure `mod_proxy` to more flexibly pass requests to alternate backends. +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache) we can configure `mod_proxy` to more flexibly pass requests to alternate backends. -Before continuing, ensure that you've completed the ProxyPass guide, particularly the section regarding [configuring the proxy module](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14/). Do not omit to create and configure the `/etc/httpd/conf.d/proxy.conf` file. +Before continuing, ensure that you've completed the ProxyPass guide, particularly the section regarding [configuring the proxy module](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14). Do not omit to create and configure the `/etc/httpd/conf.d/proxy.conf` file. -Once `mod_proxy` is enabled and [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14/), you can insert the following directives into your virtual hosting configuration. +Once `mod_proxy` is enabled and [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14), you can insert the following directives into your virtual hosting configuration. {{< file "Apache Virtual Host Configuration" apache >}} @@ -151,7 +151,7 @@ In this example, the `RewriteCond` controls the behavior of the `RewriteEngine` All of the previous cases presented in this document outline configurations for using `mod_proxy` in various configurations to make it possible to use your Apache HTTP server as a frontend for a more complex architecture. This case takes this one step further, by allowing Apache to proxy requests to a group of identical backend servers, and thus be able to handle a much larger load. -Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -196,7 +196,7 @@ Apache also contains a "Balancer Manager" interface that you can use to monitor {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -204,4 +204,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-04-lucid/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-04-lucid/index.md index 0ab306bee07..849226569ee 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-04-lucid/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -49,11 +49,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/apache2 reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http @@ -81,14 +81,14 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http a2enmod rewrite /etc/init.d/apache2 restart -Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: +Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: {{< file "Apache Virtual Host Configuration" apache >}} @@ -164,7 +164,7 @@ All of the previous cases presented in this document outline configurations for a2enmod proxy_balancer /etc/init.d/apache2 restart -Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -214,7 +214,7 @@ Now include the following location directive in the virtual host where your clus {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -222,4 +222,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-10-maverick/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-10-maverick/index.md index 4c4fadd1089..1241dc21c98 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-10-maverick/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-10-maverick/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-10-maverick) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -49,11 +49,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/apache2 reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http @@ -81,14 +81,14 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http a2enmod rewrite /etc/init.d/apache2 restart -Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: +Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: {{< file "Apache Virtual Host Configuration" apache >}} @@ -164,7 +164,7 @@ All of the previous cases presented in this document outline configurations for a2enmod proxy_balancer /etc/init.d/apache2 restart -Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -214,7 +214,7 @@ Now include the following location directive in the virtual host where your clus {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -222,4 +222,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-12-04-precise-pangolin/index.md index 61962868f01..5e46a58372a 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-12-04-precise-pangolin/index.md @@ -17,9 +17,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -48,11 +48,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/apache2 reload -Now, place the static files in the `/var/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/var/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http @@ -80,14 +80,14 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http a2enmod rewrite service apache2 restart -Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: +Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: {{< file "Apache Virtual Host Configuration" apache >}} @@ -163,7 +163,7 @@ All of the previous cases presented in this document outline configurations for a2enmod proxy_balancer service apache2 restart -Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -213,7 +213,7 @@ Now include the following location directive in the virtual host where your clus {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -221,4 +221,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-9-10-karmic/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-9-10-karmic/index.md index 482fa92e7da..e17fad8b28c 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-9-10-karmic/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) before continuing with this guide. Additionally, consider our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic) before continuing with this guide. Additionally, consider our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -49,11 +49,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/apache2 reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http @@ -81,14 +81,14 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http a2enmod rewrite /etc/init.d/apache2 restart -Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: +Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: {{< file "Apache Virtual Host Configuration" apache >}} @@ -164,7 +164,7 @@ All of the previous cases presented in this document outline configurations for a2enmod proxy_balancer /etc/init.d/apache2 restart -Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -214,7 +214,7 @@ Now include the following location directive in the virtual host where your clus {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -222,4 +222,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic) diff --git a/docs/guides/websites/puppet/manage-and-automate-systems-configuration-with-puppet/index.md b/docs/guides/websites/puppet/manage-and-automate-systems-configuration-with-puppet/index.md index 5fcee066cfa..7ca50c0da33 100644 --- a/docs/guides/websites/puppet/manage-and-automate-systems-configuration-with-puppet/index.md +++ b/docs/guides/websites/puppet/manage-and-automate-systems-configuration-with-puppet/index.md @@ -22,7 +22,7 @@ deprecated_link: applications/configuration-management/install-and-configure-pup Puppet is an open source "configuration change management" tool that allows users to automate and standardize the configuration of software infrastructure. Using a domain specific language for describing configuration, Puppet allows users to manage configurations in a service-oriented manner. -Because of Puppet's versatility, this guide provides an overview of a number of different Puppet-based deployments. Since there is no single "right way" to integrate Puppet into your network, this document will focus on a collection of independent strategies rather than a single procedure. Before following this document, it is assumed that you have an up-to-date system, have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have installed Puppet according to our [Puppet installation guide](/cloud/guides/install-and-configure-puppet/). +Because of Puppet's versatility, this guide provides an overview of a number of different Puppet-based deployments. Since there is no single "right way" to integrate Puppet into your network, this document will focus on a collection of independent strategies rather than a single procedure. Before following this document, it is assumed that you have an up-to-date system, have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have installed Puppet according to our [Puppet installation guide](/cloud/guides/install-and-configure-puppet). ## Using Puppet @@ -244,7 +244,7 @@ This instructs Puppet to run the specified command, in this case an `rsync` comm This guide only covers the most basic of puppet configurations options. It is certainly possible to deploy much more complex systems, including the following possibilities: -- Store revisions of your manifest files in a [version control system](/cloud/guides/development/version-control/). Version control will make it easier to revert changes if you run into problems. It will also ease replication of manifests throughout a system with multiple Puppetmaster nodes. -- Deploy Puppetmaster with [Passenger](/cloud/guides/development/frameworks/): the default Puppetmaster server is based on WEBrick, which is only capable of supporting 20 or 30 puppet nodes, depending on your configuration, according the Puppet developers. +- Store revisions of your manifest files in a [version control system](/cloud/guides/development/version-control). Version control will make it easier to revert changes if you run into problems. It will also ease replication of manifests throughout a system with multiple Puppetmaster nodes. +- Deploy Puppetmaster with [Passenger](/cloud/guides/development/frameworks): the default Puppetmaster server is based on WEBrick, which is only capable of supporting 20 or 30 puppet nodes, depending on your configuration, according the Puppet developers. - You may consider using Puppet in combination with the [Linode API](http://www.linode.com/api/) and [StackScripts](http://www.linode.com/stackscripts/) to automate provisioning, deprovisioning, and configuration of Linodes. - Use [Puppet's module support](http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Modules) to more easily manage applications which require more complex configurations. diff --git a/docs/guides/websites/static-sites/generating-static-sites-with-gatsby/index.md b/docs/guides/websites/static-sites/generating-static-sites-with-gatsby/index.md index b7502330a28..2e1c9c1eea6 100644 --- a/docs/guides/websites/static-sites/generating-static-sites-with-gatsby/index.md +++ b/docs/guides/websites/static-sites/generating-static-sites-with-gatsby/index.md @@ -40,7 +40,7 @@ Through this tutorial, learn what Gatsby is and what it has to offer. By follow ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What is Gatsby? @@ -73,7 +73,7 @@ Finally, another remarkable difference between the two frameworks is Gatsby's ec These steps walk you through installing the tooling for creating and managing Gatsby projects. The Gatsby framework itself only needs to be installed on a project-by-project basis, but having Gatsby's command-line tool (CLI) installed makes the process of working with Gatsby significantly easier. -1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). Gatsby requires Node.js and NPM. Additionally, NPM can be used later for installing Gatsby plugins. +1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux). Gatsby requires Node.js and NPM. Additionally, NPM can be used later for installing Gatsby plugins. 1. Install the Gatsby CLI as a global NPM package: @@ -93,7 +93,7 @@ These steps walk you through installing the tooling for creating and managing Ga 1. Ensure that your system has Git installed. Gatsby requires Git to download starters, even for the default Gatsby template. - Follow our tutorial on [How to Install Git on Linux](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/#how-to-install-git-on-linux) to see how you can check if Git is installed and, if it is not, how you can install it. + Follow our tutorial on [How to Install Git on Linux](/cloud/guides/how-to-install-git-on-linux-mac-and-windows#how-to-install-git-on-linux) to see how you can check if Git is installed and, if it is not, how you can install it. ## How to Use Gatsby @@ -134,7 +134,7 @@ gatsby develop Then, navigate to `localhost` port `8000` in a web browser. To visit the application remotely, you can use an SSH tunnel: -- On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow our guide on [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/), and use `8000` as the port number. +- On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow our guide on [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty), and use `8000` as the port number. - On **macOS** or **Linux**, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the remote server and `192.0.2.0` with the remote server's IP address: @@ -272,12 +272,12 @@ gatsby build Gatsby uses the `build` command to render your website and store the static files for it in the `public` subdirectory. These are the files you need to copy to the host you plan to use to serve your static site. -You can learn more about that process through our guide on how to [Deploy a Static Site Using Hugo and Object Storage](/cloud/guides/host-static-site-object-storage/#upload-your-static-site-to-linode-object-storage), following the section on uploading a static site to Linode Object Storage. +You can learn more about that process through our guide on how to [Deploy a Static Site Using Hugo and Object Storage](/cloud/guides/host-static-site-object-storage#upload-your-static-site-to-linode-object-storage), following the section on uploading a static site to Linode Object Storage. -Alternatively, take a look at our guides on how to [Set up a Web Server and Host a Website on Linode](/cloud/guides/set-up-web-server-host-website/) or, for something more advanced, on how to [Host a Website with High Availability](/cloud/guides/host-a-website-with-high-availability/). +Alternatively, take a look at our guides on how to [Set up a Web Server and Host a Website on Linode](/cloud/guides/set-up-web-server-host-website) or, for something more advanced, on how to [Host a Website with High Availability](/cloud/guides/host-a-website-with-high-availability). ## Conclusion This guides covered an introduction to Gatsby for creating static sites. -To read further, be sure to peruse the [official Gatsby documentation](https://www.gatsbyjs.com/docs/). You may also be interested in our guide on setting up a [CI/CD Pipeline with Gatsby, Netlify, and Travis CI](/cloud/guides/install-gatsbyjs/). Doing so can give you an efficient process for managing your Gatsby website. +To read further, be sure to peruse the [official Gatsby documentation](https://www.gatsbyjs.com/docs/). You may also be interested in our guide on setting up a [CI/CD Pipeline with Gatsby, Netlify, and Travis CI](/cloud/guides/install-gatsbyjs). Doing so can give you an efficient process for managing your Gatsby website. diff --git a/docs/guides/websites/static-sites/how-to-choose-static-site-generator/index.md b/docs/guides/websites/static-sites/how-to-choose-static-site-generator/index.md index a55918feb88..8d0fe00612c 100644 --- a/docs/guides/websites/static-sites/how-to-choose-static-site-generator/index.md +++ b/docs/guides/websites/static-sites/how-to-choose-static-site-generator/index.md @@ -53,7 +53,7 @@ Since static site generators are easy to set up, it's worth installing a few and * [**Jekyll**](https://jekyllrb.com/): Touts itself as "blog aware," meaning it was made to make blogging easy. Jekyll was built by GitHub and is consistently one of the most popular static site generators. The larger community means a great library of available themes, plugins, and available answers. [GitHub pages](https://help.github.com/articles/using-jekyll-as-a-static-site-generator-with-github-pages/) can be configured to automatically build and host a GitHub repository using Jekyll. Jekyll [installs via RubyGems](https://jekyllrb.com/docs/installation/) and uses [Liquid](https://shopify.github.io/liquid/) for templating. * [**Hugo**](https://gohugo.io/): Builds pages quickly. Hugo has a built-in [LiveReload](https://gohugo.io/getting-started/usage/#livereload), so you can see your changes in a browser as soon as changes to a tracked file are saved. Hugo is written in [Go](https://golang.org/) and uses Go templating. It also uses [shortcodes](https://gohugo.io/content-management/shortcodes/) to easily extend the types of content that can be included in a page. [Hugo can be installed](https://gohugo.io/getting-started/installing/) through a package manager or by downloading a binary. -* [**Hexo**](https://hexo.io/): Focuses on speed and simplicity, and is still flexible enough to use both Jekyll and [Octopress](http://octopress.org/) plugins. One command can deploy a site to your Linode using [Dokku](/cloud/guides/deploy-a-flask-application-with-dokku/) or [SFTP](https://hexo.io/docs/deployment.html). Hexo uses Node.js under the hood, and can be installed with [NPM](https://www.npmjs.com/). +* [**Hexo**](https://hexo.io/): Focuses on speed and simplicity, and is still flexible enough to use both Jekyll and [Octopress](http://octopress.org/) plugins. One command can deploy a site to your Linode using [Dokku](/cloud/guides/deploy-a-flask-application-with-dokku) or [SFTP](https://hexo.io/docs/deployment.html). Hexo uses Node.js under the hood, and can be installed with [NPM](https://www.npmjs.com/). * [**Gatsby**](https://www.gatsbyjs.org/): Gatsby is quickly moving up the list of popular static site generators. Pages are built quickly using React.js, and are created in a way that speeds loads times as well. Gatsby includes hot reloading, and changes are shown in the browser instantly. Because it uses React heavily, some familiarity with JavaScript and React components is helpful when creating a site with Gatsby. [Install Gatsby](https://www.gatsbyjs.org/docs/) using NPM. * [**GitBook**](https://www.gitbook.com): Built around Git, GitBook aims to make many of the features that make Git useful (branches, pull requests, version tracking) accessible to users more familiar with traditional desktop publishing. GitBook is commonly used for technical/API documentation, user manuals, or knowledge bases, and has built-in templates for these and other types of content. @@ -65,7 +65,7 @@ Since static site generators are easy to set up, it's worth installing a few and * Note that each generator requires different meta information. Refer to the official documentation to learn more about available features. 4. Preview your pages if available. 5. Instruct your static site generator to build the site. -6. Move the newly built or updated pages to your [web server](/cloud/guides/web-servers/). +6. Move the newly built or updated pages to your [web server](/cloud/guides/web-servers). ## Use a CMS Front-End diff --git a/docs/guides/websites/static-sites/install-gatsbyjs/index.md b/docs/guides/websites/static-sites/install-gatsbyjs/index.md index 57bae68d0ab..9b1d9fc2018 100644 --- a/docs/guides/websites/static-sites/install-gatsbyjs/index.md +++ b/docs/guides/websites/static-sites/install-gatsbyjs/index.md @@ -15,7 +15,7 @@ aliases: [] ## What is Gatsby? -Gatsby is a [Static Site Generator](/cloud/guides/how-to-choose-static-site-generator/#what-is-a-static-site) for React built on Node.js. Gatsby uses a modern web technology stack based on client-side Javascript, reusable APIs, and prebuilt Markdown, otherwise known as the [*JAMstack*](https://jamstack.org/). This method of building a site is fast, secure, and scalable. All production site pages are prebuilt and static, so Gatsby does not have to build HTML for each page request. +Gatsby is a [Static Site Generator](/cloud/guides/how-to-choose-static-site-generator#what-is-a-static-site) for React built on Node.js. Gatsby uses a modern web technology stack based on client-side Javascript, reusable APIs, and prebuilt Markdown, otherwise known as the [*JAMstack*](https://jamstack.org/). This method of building a site is fast, secure, and scalable. All production site pages are prebuilt and static, so Gatsby does not have to build HTML for each page request. ## What is the CI/CD Pipeline? @@ -59,7 +59,7 @@ This guide sets up the following flow of events: 1. Create a [GitHub](https://github.com/) account if you don't already have one. GitHub is free for open source projects. -1. [Install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) on your local computer. Later in this guide, [Homebrew](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/#install-git-using-homebrew-on-macos) will be used to install Gatsby on a Mac, so it's recommended that you also use Homebrew to install Git if you're using a Mac. +1. [Install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) on your local computer. Later in this guide, [Homebrew](/cloud/guides/how-to-install-git-on-linux-mac-and-windows#install-git-using-homebrew-on-macos) will be used to install Gatsby on a Mac, so it's recommended that you also use Homebrew to install Git if you're using a Mac. ## Prepare Your Production Linode @@ -421,7 +421,7 @@ sudo: false ### Give Travis Permission to Deploy to Your Linode -In order to let Travis push your code to your production Linode, you first need to give the Travis build environment access to the Linode. This will be accomplished by generating a [public-private key pair](/cloud/guides/use-public-key-authentication-with-ssh/) for your build environment and then uploading the public key to your Linode. Your code will be deployed over SSH, and the SSH agent in the build environment will be configured to use your new private key. +In order to let Travis push your code to your production Linode, you first need to give the Travis build environment access to the Linode. This will be accomplished by generating a [public-private key pair](/cloud/guides/use-public-key-authentication-with-ssh) for your build environment and then uploading the public key to your Linode. Your code will be deployed over SSH, and the SSH agent in the build environment will be configured to use your new private key. The private key will also need to be encrypted, as the key file will live in your Gatsby project's Git repository, and you should **never** check a plain-text version of it into version control. diff --git a/docs/guides/websites/varnish/getting-started-with-varnish-cache/index.md b/docs/guides/websites/varnish/getting-started-with-varnish-cache/index.md index afa12e2fc5b..2d03f1028f3 100644 --- a/docs/guides/websites/varnish/getting-started-with-varnish-cache/index.md +++ b/docs/guides/websites/varnish/getting-started-with-varnish-cache/index.md @@ -22,7 +22,7 @@ Varnish works by handling requests before they make it to your backend; whether Additionally, Varnish cache can be used as part of a [highly available environment](#use-varnish-cache-for-high-availability-with-backend-polling), which ensures uptime during high traffic loads or server failures. -If your web server is nginx and you plan to use Varnish cache to serve WordPress, visit Linode's guide to [Using Varnish & nginx to Serve WordPress over SSL & HTTP on Debian 8](/cloud/guides/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/). +If your web server is nginx and you plan to use Varnish cache to serve WordPress, visit Linode's guide to [Using Varnish & nginx to Serve WordPress over SSL & HTTP on Debian 8](/cloud/guides/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8). ## Before You Begin @@ -30,10 +30,10 @@ If your web server is nginx and you plan to use Varnish cache to serve WordPress 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. -3. Install and configure a [web server](/cloud/guides/websites/) like Apache or nginx. +3. Install and configure a [web server](/cloud/guides/websites) like Apache or nginx. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install and Configure Varnish Cache @@ -282,4 +282,4 @@ If Varnish is running on the same Linode as your web server, be sure to allow in If Varnish and your web server are running on separate Linodes, you'll need to accept incoming traffic on port 80 on the Varnish Linode, and port 8080 on the web server. -These two are simply the minimum rule modifications. It is strongly recommended you use additional firewall rules on each, based on the other services you have running. If you're not sure how to set up a firewall, check out our guides on [iptables](/cloud/guides/control-network-traffic-with-iptables/) and [UFW](/cloud/guides/configure-firewall-with-ufw/). +These two are simply the minimum rule modifications. It is strongly recommended you use additional firewall rules on each, based on the other services you have running. If you're not sure how to set up a firewall, check out our guides on [iptables](/cloud/guides/control-network-traffic-with-iptables) and [UFW](/cloud/guides/configure-firewall-with-ufw). diff --git a/docs/guides/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/index.md b/docs/guides/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/index.md index dc0868cb144..6ce5ccf4d66 100644 --- a/docs/guides/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/index.md +++ b/docs/guides/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/index.md @@ -45,9 +45,9 @@ This tutorial assumes that you have SSH access to your Linode running Debian 8 ( 1. Complete the steps in our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. You'll need a standard user account with `sudo` privileges for many commands in this guide. -2. Follow the steps outlined in our [LEMP on Debian 8](/cloud/guides/install-a-lemp-stack-on-debian/) guide. Skip the NGINX configuration section, since we'll address it later in this guide. +2. Follow the steps outlined in our [LEMP on Debian 8](/cloud/guides/install-a-lemp-stack-on-debian) guide. Skip the NGINX configuration section, since we'll address it later in this guide. -3. After configuring NGINX according to this guide, follow the steps in our [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) guide to install and configure WordPress. We'll include a step in the instructions to let you know when it's time to do this. +3. After configuring NGINX according to this guide, follow the steps in our [WordPress](/cloud/guides/how-to-install-and-configure-wordpress) guide to install and configure WordPress. We'll include a step in the instructions to let you know when it's time to do this. ## Install and Configure Varnish @@ -488,7 +488,7 @@ server { For an SSL-encrypted website, you need one server block to receive traffic on port 443 and pass decrypted traffic to Varnish on port `80`, and another server block to serve unencrypted traffic to Varnish on port `8080`, when Varnish asks for it. {{< note type="alert" respectIndent=false >}} -The `ssl_certificate` directive must specify the location and name of the SSL certificate file. Take a look at our guide to using [SSL on NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) for more information, and update the `ssl_certificate` and `ssl_certificate_key` values as needed. +The `ssl_certificate` directive must specify the location and name of the SSL certificate file. Take a look at our guide to using [SSL on NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https) for more information, and update the `ssl_certificate` and `ssl_certificate_key` values as needed. {{< /note >}} Alternately, if you don't have a commercially-signed SSL certificate (issued by a CA), you can issue a self-signed SSL certificate using *openssl*, but this should be done only for testing purposes. Self-signed sites will return a "This Connection is Untrusted" message when opened in a browser. @@ -526,7 +526,7 @@ server { sudo systemctl restart nginx sudo systemctl start varnish -8. Install WordPress, following our [How to Install and Configure WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) guide. Once WordPress is installed, continue with this guide. +8. Install WordPress, following our [How to Install and Configure WordPress](/cloud/guides/how-to-install-and-configure-wordpress) guide. Once WordPress is installed, continue with this guide. 9. After installing WordPress, restart Varnish to clear any cached redirects to the setup page: @@ -588,4 +588,4 @@ By using nginx in conjunction with Varnish, the speed of any WordPress website c You can strengthen the security of the SSL connection by generating a custom Diffie-Hellman (DH) parameter, for a more secure cryptographic key exchange process. -An additional configuration option is to enable Varnish logging for the plain HTTP website, since now Varnish will be the first to receive the client requests, while NGINX only receives requests for those pages that are not found in the cache. For SSL-encrypted websites, the logging should be done by NGINX because client requests pass through it first. Logging becomes even more important if you use log monitoring software such as [Fail2ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/), Awstats or Webalizer. +An additional configuration option is to enable Varnish logging for the plain HTTP website, since now Varnish will be the first to receive the client requests, while NGINX only receives requests for those pages that are not found in the cache. For SSL-encrypted websites, the logging should be done by NGINX because client requests pass through it first. Logging becomes even more important if you use log monitoring software such as [Fail2ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial), Awstats or Webalizer. diff --git a/docs/guides/websites/wikis/dokuwiki-engine/index.md b/docs/guides/websites/wikis/dokuwiki-engine/index.md index 77e08a8d50e..277e07e8070 100644 --- a/docs/guides/websites/wikis/dokuwiki-engine/index.md +++ b/docs/guides/websites/wikis/dokuwiki-engine/index.md @@ -20,7 +20,7 @@ DokuWiki is a flexible and extensible wiki engine that aims to be easy to manage ![Build a Fully Featured Wiki with DokuWiki](dokuwiki_title_graphic.png) -Before beginning the installation of DokuWiki, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). +Before beginning the installation of DokuWiki, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics). ## Install Prerequisites @@ -30,7 +30,7 @@ There are a few prerequisites that you will need before embarking on the install apt-get upgrade apt-get install php5 php-pear apache2 wget -Additionally, you will likely want to configure your Apache instance for virtual hosting according to our guide for [name based virtual hosting](/cloud/guides/apache-2-web-server-on-debian-5-lenny/). On CentOS and Fedora powered systems, issue the following commands to run system updates, install required prerequisites, and ensure that Apache will resume following the next reboot cycle: +Additionally, you will likely want to configure your Apache instance for virtual hosting according to our guide for [name based virtual hosting](/cloud/guides/apache-2-web-server-on-debian-5-lenny). On CentOS and Fedora powered systems, issue the following commands to run system updates, install required prerequisites, and ensure that Apache will resume following the next reboot cycle: yum update yum install php php-pear httpd wget diff --git a/docs/guides/websites/wikis/how-to-install-mediawiki-centos-8/index.md b/docs/guides/websites/wikis/how-to-install-mediawiki-centos-8/index.md index 8d8268755c4..0365354c9d8 100644 --- a/docs/guides/websites/wikis/how-to-install-mediawiki-centos-8/index.md +++ b/docs/guides/websites/wikis/how-to-install-mediawiki-centos-8/index.md @@ -27,7 +27,7 @@ relations: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Apache @@ -41,7 +41,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo systemctl enable httpd.service sudo systemctl start httpd.service -3. See the guide for [How to Install Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8/) for more details and configuration options for the Apache web server. +3. See the guide for [How to Install Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8) for more details and configuration options for the Apache web server. ## Install PHP @@ -86,7 +86,7 @@ MediaWiki supports a variety of database options, including MariaDB, MySQL, and This script gives you the choice to change the MariaDB root password, remove anonymous user accounts, disable root logins outside of localhost, and remove test databases. It is recommended that you answer yes to these options. You can read more about the script in the [MariaDB Knowledge Base](https://mariadb.com/kb/en/mariadb/mysql_secure_installation/). -4. See the guide for [How to Install MariaDB on CentOS 8](/cloud/guides/how-to-install-mariadb-on-centos-8/) for more details and configuration options for the MariaDB installation. +4. See the guide for [How to Install MariaDB on CentOS 8](/cloud/guides/how-to-install-mariadb-on-centos-8) for more details and configuration options for the MariaDB installation. 5. Create a database and a database user for MediaWiki by opening MariaDB as the root user (`sudo mysql -u root -p`) and entering the commands given in the following example. Replace `my_wiki` with the desired database name, `wikiuser` with the desired database username, and `password` with a password for that user, which should not match the database's root password: @@ -122,7 +122,7 @@ MediaWiki supports a variety of database options, including MariaDB, MySQL, and sudo mv /var/www/html/mediawiki-1.35.0 /var/www/html/w {{< note respectIndent=false >}} - Extracting the archive as root makes the root user the files' owner. If this is not your intention, you need to use the `chown` command to change the files' ownership after extraction. For more information, see our guide on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#changing-file-ownership). + Extracting the archive as root makes the root user the files' owner. If this is not your intention, you need to use the `chown` command to change the files' ownership after extraction. For more information, see our guide on [Linux Users and Groups](/cloud/guides/linux-users-and-groups#changing-file-ownership). {{< /note >}} ## Install MediaWiki diff --git a/docs/guides/websites/wikis/how-to-install-mediawiki-ubuntu-2004/index.md b/docs/guides/websites/wikis/how-to-install-mediawiki-ubuntu-2004/index.md index 53c140058e0..1bd4239b17c 100644 --- a/docs/guides/websites/wikis/how-to-install-mediawiki-ubuntu-2004/index.md +++ b/docs/guides/websites/wikis/how-to-install-mediawiki-ubuntu-2004/index.md @@ -27,7 +27,7 @@ relations: 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Apache @@ -45,7 +45,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo systemctl enable apache2 sudo systemctl start apache2 -3. See the guide for [How to Install Apache Web Server on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) for more details and configuration options for the Apache web server. +3. See the guide for [How to Install Apache Web Server on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04) for more details and configuration options for the Apache web server. ## Install PHP @@ -80,7 +80,7 @@ MediaWiki supports a variety of database options, including MariaDB, MySQL, and sudo systemctl enable mariadb sudo systemctl start mariadb -4. See the guide for [How to Install MariaDB on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-mariadb-on-ubuntu-18-04/) for more details and configuration options for the MariaDB installation. +4. See the guide for [How to Install MariaDB on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-mariadb-on-ubuntu-18-04) for more details and configuration options for the MariaDB installation. 5. Create a database and a database user for MediaWiki by opening MariaDB as the root user (`sudo mariadb -u root -p`) and entering the commands given in the following example. Replace `wikidb` with the desired database name, `wikiuser` with the desired database username, and `password` with a password for that user, which should not match the database's root password: @@ -118,7 +118,7 @@ MediaWiki supports a variety of database options, including MariaDB, MySQL, and sudo mv /var/www/html/mediawiki-1.35.0 /var/www/html/w {{< note respectIndent=false >}} - Extracting the archive as root makes the root user the files' owner. If this is not your intention, you need to use the `chown` command to change the files' ownership after extraction. For more information, see our guide on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#changing-file-ownership). + Extracting the archive as root makes the root user the files' owner. If this is not your intention, you need to use the `chown` command to change the files' ownership after extraction. For more information, see our guide on [Linux Users and Groups](/cloud/guides/linux-users-and-groups#changing-file-ownership). {{< /note >}} ## Install MediaWiki diff --git a/docs/guides/websites/wikis/ikiwiki-on-arch-linux/index.md b/docs/guides/websites/wikis/ikiwiki-on-arch-linux/index.md index 38c81dcbc01..3e72f1dff03 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-arch-linux/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-arch-linux/index.md @@ -18,7 +18,7 @@ tags: ["wiki"] deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/guides/web-servers/apache/) or [nginx](/cloud/guides/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git) for version control, and either the [Apache](/cloud/guides/web-servers/apache) or [nginx](/cloud/guides/web-servers/nginx) web server. ## Install Ikiwiki diff --git a/docs/guides/websites/wikis/ikiwiki-on-debian-5-lenny/index.md b/docs/guides/websites/wikis/ikiwiki-on-debian-5-lenny/index.md index c59d1570ec9..02999e455a0 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-debian-5-lenny/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-debian-5-lenny/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/guides/web-servers/apache/) or [nginx](/cloud/guides/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git) for version control, and either the [Apache](/cloud/guides/web-servers/apache) or [nginx](/cloud/guides/web-servers/nginx) web server. ## Basic System Configuration diff --git a/docs/guides/websites/wikis/ikiwiki-on-debian-6-squeeze/index.md b/docs/guides/websites/wikis/ikiwiki-on-debian-6-squeeze/index.md index 2dd97165da7..15fd4826e88 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-debian-6-squeeze/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-debian-6-squeeze/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/guides/web-servers/apache/) or [nginx](/cloud/guides/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git) for version control, and either the [Apache](/cloud/guides/web-servers/apache) or [nginx](/cloud/guides/web-servers/nginx) web server. ## Basic System Configuration diff --git a/docs/guides/websites/wikis/ikiwiki-on-fedora-12/index.md b/docs/guides/websites/wikis/ikiwiki-on-fedora-12/index.md index 786def925ed..7517d960ed4 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-fedora-12/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-fedora-12/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/cloud/guides/development/version-control/) system of your choice, though this guide assumes that you use [git](/cloud/guides/how-to-configure-git/). +Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/cloud/guides/development/version-control) system of your choice, though this guide assumes that you use [git](/cloud/guides/how-to-configure-git). -This guide is written for Fedora 12, and assumes that you've followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/cloud/guides/apache-2-web-server-on-fedora-12/) and a working installation of [git](/cloud/guides/how-to-configure-git/). +This guide is written for Fedora 12, and assumes that you've followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/cloud/guides/apache-2-web-server-on-fedora-12) and a working installation of [git](/cloud/guides/how-to-configure-git). ## Installing Ikiwiki @@ -184,7 +184,7 @@ You may find yourself wondering why there are so many git repositories for a sin ## Notes for Using Gitosis with Ikiwiki -If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/cloud/guides/how-to-configure-git/) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted users. This means running `ikiwiki.cgi` as mode "6755". See the example [Ikiwiki configuration file](657-ikiwiki.setup) for details on how to configure this. +If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/cloud/guides/how-to-configure-git) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted users. This means running `ikiwiki.cgi` as mode "6755". See the example [Ikiwiki configuration file](657-ikiwiki.setup) for details on how to configure this. The files that needed to be owned by the `gitosis` user are the "destination" directory where Ikiwiki puts its output, the "source directory", and the bare repository. Run the following commands to set this ownership. diff --git a/docs/guides/websites/wikis/ikiwiki-on-fedora-13/index.md b/docs/guides/websites/wikis/ikiwiki-on-fedora-13/index.md index 2bb75b17ed7..f3b6be77469 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-fedora-13/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-fedora-13/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/cloud/guides/development/version-control/) system of your choice, though this guide assumes that you use [git](/cloud/guides/how-to-configure-git/). +Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/cloud/guides/development/version-control) system of your choice, though this guide assumes that you use [git](/cloud/guides/how-to-configure-git). -This guide is written for Fedora 13, and assumes that you've followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/cloud/guides/apache-2-web-server-on-fedora-13/) and a working installation of [git](/cloud/guides/how-to-configure-git/). +This guide is written for Fedora 13, and assumes that you've followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/cloud/guides/apache-2-web-server-on-fedora-13) and a working installation of [git](/cloud/guides/how-to-configure-git). ## Installing Ikiwiki @@ -184,7 +184,7 @@ You may find yourself wondering why there are so many git repositories for a sin ## Notes for Using Gitosis with Ikiwiki -If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/cloud/guides/how-to-configure-git/) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing the `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted usersor "6755". See the example [Ikiwiki configuration file](656-ikiwiki.setup) for details on how to configure this. +If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/cloud/guides/how-to-configure-git) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing the `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted usersor "6755". See the example [Ikiwiki configuration file](656-ikiwiki.setup) for details on how to configure this. The files that needed to be owned by the `gitosis` user are the "destination" directory where Ikiwiki puts its output, the "source directory", and the bare repository. Run the following commands to set this ownership. diff --git a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-04-lucid/index.md b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-04-lucid/index.md index 891ee64fc02..98b4d1fa4f8 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-04-lucid/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/guides/web-servers/apache/) or [nginx](/cloud/guides/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git) for version control, and either the [Apache](/cloud/guides/web-servers/apache) or [nginx](/cloud/guides/web-servers/nginx) web server. ## Basic System Configuration diff --git a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-10-maverick/index.md b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-10-maverick/index.md index 54f08a51004..b67f850cf92 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-10-maverick/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/guides/web-servers/apache/) or [nginx](/cloud/guides/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git) for version control, and either the [Apache](/cloud/guides/web-servers/apache) or [nginx](/cloud/guides/web-servers/nginx) web server. ## Basic System Configuration diff --git a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-12-04-precise-pangolin/index.md index b57adf03111..eb83ca33a5f 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-12-04-precise-pangolin/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/guides/web-servers/apache/) or [NGINX](/cloud/guides/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git) for version control, and either the [Apache](/cloud/guides/web-servers/apache) or [NGINX](/cloud/guides/web-servers/nginx) web server. ## Basic System Configuration diff --git a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-9-10-karmic/index.md b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-9-10-karmic/index.md index 73dc4d4891b..5b5b0071512 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-9-10-karmic/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/cloud/guides/development/version-control/) system of your choice, though this guide assumes that you use [git](/cloud/guides/how-to-configure-git/). +Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/cloud/guides/development/version-control) system of your choice, though this guide assumes that you use [git](/cloud/guides/how-to-configure-git). -This guide is written for Ubuntu 9.10 (Karmic), and assumes that you've followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) and a working installation of [git](/cloud/guides/how-to-configure-git/). +This guide is written for Ubuntu 9.10 (Karmic), and assumes that you've followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic) and a working installation of [git](/cloud/guides/how-to-configure-git). ## Installing Ikiwiki @@ -196,7 +196,7 @@ You may find yourself wondering why there are so many git repositories for a sin ## Notes for Using Gitosis with Ikiwiki -If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted users. This means running `ikiwiki.cgi` as mode "6755". See the example [Ikiwiki configuration file](655-ikiwiki.setup) for details on how to configure this. +If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted users. This means running `ikiwiki.cgi` as mode "6755". See the example [Ikiwiki configuration file](655-ikiwiki.setup) for details on how to configure this. The files that needed to be owned by the `gitosis` user are the "destination" directory where Ikiwiki puts its output, the "source directory", and the bare repository. Run the following commands to set this ownership. diff --git a/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1604/index.md b/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1604/index.md index 7737304d200..4711a827bc8 100644 --- a/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1604/index.md +++ b/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1604/index.md @@ -27,7 +27,7 @@ deprecated_link: 'guides/how-to-install-mediawiki-ubuntu-2004/' MediaWiki is a popular, free wiki software package. It's the same software Wikipedia uses. It is fully dynamic and runs on a LAMP stack, taking advantage of the PHP language and the MySQL database backend. With easy installation and configuration, MediaWiki is a good solution when you need a familiar, full-featured, dynamic wiki engine. -This guide assumes that you already have a working [LAMP stack](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/) running on Ubuntu. Your web accessible `DocumentRoot` should be located in `/var/www/html/example.com/public_html/`. You should be connected to your server via SSH and logged in as root. +This guide assumes that you already have a working [LAMP stack](/cloud/guides/install-lamp-stack-on-ubuntu-16-04) running on Ubuntu. Your web accessible `DocumentRoot` should be located in `/var/www/html/example.com/public_html/`. You should be connected to your server via SSH and logged in as root. ## Download and Unpack MediaWiki @@ -73,7 +73,7 @@ From the database section above, you will need: - DB username - DB user's password -Giving MediaWiki superuser access to your MySQL database allows it to create new accounts. If you plan on having a large number of users or content, consider setting up a second Linode as a [dedicated database server](/cloud/guides/standalone-mysql-server/). +Giving MediaWiki superuser access to your MySQL database allows it to create new accounts. If you plan on having a large number of users or content, consider setting up a second Linode as a [dedicated database server](/cloud/guides/standalone-mysql-server). After the installation is finished, MediaWiki will create a `LocalSettings.php` file, with the configurations from the installation process. Move the `LocalSettings.php` file to `/var/www/html/example.com/public_html/mediawiki/` and restrict access to the file: diff --git a/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1804/index.md b/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1804/index.md index d1f57700e98..f001b141ac3 100644 --- a/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1804/index.md +++ b/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1804/index.md @@ -22,7 +22,7 @@ relations: MediaWiki is a popular, free wiki software package. It's the same software Wikipedia uses. It is fully dynamic and runs on a LAMP stack, taking advantage of the PHP language and the MySQL database backend. With easy installation and configuration, MediaWiki is a good solution when you need a familiar, full-featured, dynamic wiki engine. -This guide assumes that you already have a working [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) running on Ubuntu. Your web accessible `DocumentRoot` should be located in `/var/www/html/example.com/public_html/`. You should be connected to your server via SSH and logged in as root. +This guide assumes that you already have a working [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04) running on Ubuntu. Your web accessible `DocumentRoot` should be located in `/var/www/html/example.com/public_html/`. You should be connected to your server via SSH and logged in as root. ## Download and Unpack MediaWiki @@ -67,7 +67,7 @@ From the database section above, you will need: - DB username - DB user's password -Giving MediaWiki superuser access to your MySQL database allows it to create new accounts. If you plan on having a large number of users or content, consider setting up a second Linode as a [dedicated database server](/cloud/guides/standalone-mysql-server/). +Giving MediaWiki superuser access to your MySQL database allows it to create new accounts. If you plan on having a large number of users or content, consider setting up a second Linode as a [dedicated database server](/cloud/guides/standalone-mysql-server). After the installation is finished, MediaWiki will create a `LocalSettings.php` file, with the configurations from the installation process. Move the `LocalSettings.php` file to `/var/www/html/example.com/public_html/mediawiki/` and restrict access to the file: diff --git a/docs/guides/websites/wikis/twiki-on-centos-5/index.md b/docs/guides/websites/wikis/twiki-on-centos-5/index.md index 58f50275539..0cc075efbc7 100644 --- a/docs/guides/websites/wikis/twiki-on-centos-5/index.md +++ b/docs/guides/websites/wikis/twiki-on-centos-5/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-centos-5/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-centos-5). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -135,7 +135,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache) document. When you've completed these modifications, issue the following commands to start the web server for the first time and ensure that the server starts following the next reboot cycle: @@ -163,7 +163,7 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache/) +- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache) diff --git a/docs/guides/websites/wikis/twiki-on-debian-5-lenny/index.md b/docs/guides/websites/wikis/twiki-on-debian-5-lenny/index.md index e6853bcc193..9b93ce064d7 100644 --- a/docs/guides/websites/wikis/twiki-on-debian-5-lenny/index.md +++ b/docs/guides/websites/wikis/twiki-on-debian-5-lenny/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -139,7 +139,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache) document. When you've completed these modifications, reload the web server configuration by issuing the following command: @@ -166,9 +166,9 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache/) -- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-debian-5-lenny/) -- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny/) +- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache) +- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-debian-5-lenny) +- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny) diff --git a/docs/guides/websites/wikis/twiki-on-debian-6-squeeze/index.md b/docs/guides/websites/wikis/twiki-on-debian-6-squeeze/index.md index 76c83f24469..73b7abc0340 100644 --- a/docs/guides/websites/wikis/twiki-on-debian-6-squeeze/index.md +++ b/docs/guides/websites/wikis/twiki-on-debian-6-squeeze/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -139,7 +139,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache) document. When you've completed these modifications, reload the web server configuration by issuing the following command: @@ -166,9 +166,9 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache/) -- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-debian-6-squeeze/) -- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) +- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache) +- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-debian-6-squeeze) +- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze) diff --git a/docs/guides/websites/wikis/twiki-on-fedora-14/index.md b/docs/guides/websites/wikis/twiki-on-fedora-14/index.md index c715d46d085..aa2c590f14d 100644 --- a/docs/guides/websites/wikis/twiki-on-fedora-14/index.md +++ b/docs/guides/websites/wikis/twiki-on-fedora-14/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -135,7 +135,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache) document. When you've completed these modifications, issue the following commands to start the web server for the first time and ensure that the server starts following the next reboot cycle: @@ -163,4 +163,4 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache/) +- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache) diff --git a/docs/guides/websites/wikis/twiki-on-ubuntu-10-04-lucid/index.md b/docs/guides/websites/wikis/twiki-on-ubuntu-10-04-lucid/index.md index 42ddff41262..02248329004 100644 --- a/docs/guides/websites/wikis/twiki-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/websites/wikis/twiki-on-ubuntu-10-04-lucid/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -139,7 +139,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache) document. When you've completed these modifications, reload the web server configuration by issuing the following command: @@ -166,9 +166,9 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache/) -- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/) -- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) +- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache) +- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid) +- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid) diff --git a/docs/guides/websites/wikis/twiki-on-ubuntu-10-10-maverick/index.md b/docs/guides/websites/wikis/twiki-on-ubuntu-10-10-maverick/index.md index d7ef7597c93..d31cb781892 100644 --- a/docs/guides/websites/wikis/twiki-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/websites/wikis/twiki-on-ubuntu-10-10-maverick/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -139,7 +139,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache) document. When you've completed these modifications, reload the web server configuration by issuing the following command: @@ -166,9 +166,9 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache/) -- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick/) -- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) +- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache) +- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick) +- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick) diff --git a/docs/guides/websites/wikis/twiki-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/websites/wikis/twiki-on-ubuntu-12-04-precise-pangolin/index.md index 6ebe741896d..7791243e9ec 100644 --- a/docs/guides/websites/wikis/twiki-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/websites/wikis/twiki-on-ubuntu-12-04-precise-pangolin/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -139,7 +139,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache) document. When you've completed these modifications, reload the web server configuration by issuing the following command: @@ -166,6 +166,6 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache/) -- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/) -- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) +- [Apache HTTP Server Documentation](/cloud/guides/web-servers/apache) +- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid) +- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid) diff --git a/docs/guides/websites/wikis/twiki/index.md b/docs/guides/websites/wikis/twiki/index.md index 4cc30c5c451..1812e90da43 100644 --- a/docs/guides/websites/wikis/twiki/index.md +++ b/docs/guides/websites/wikis/twiki/index.md @@ -13,4 +13,4 @@ tags: ["wiki"] deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. These guides outline a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. These guides outline a basic TWiki installation, setup, and configuration process. diff --git a/docs/marketplace-docs/_shortguides/deploy-marketplace-app-cluster-shortguide/index.md b/docs/marketplace-docs/_shortguides/deploy-marketplace-app-cluster-shortguide/index.md index eb2bc37eb4f..0ae076c724d 100644 --- a/docs/marketplace-docs/_shortguides/deploy-marketplace-app-cluster-shortguide/index.md +++ b/docs/marketplace-docs/_shortguides/deploy-marketplace-app-cluster-shortguide/index.md @@ -9,7 +9,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' description: 'Quick Deploy App cluster shortguide' --- -Akamai Quick Deploy Apps let you easily deploy an application cluster on Compute Instances using Cloud Manager. See [Get Started with Quick Deploy Apps](/cloud/marketplace-docs/get-started/) for complete steps. +Akamai Quick Deploy Apps let you easily deploy an application cluster on Compute Instances using Cloud Manager. See [Get Started with Quick Deploy Apps](/cloud/marketplace-docs/get-started) for complete steps. 1. Log in to [Cloud Manager](https://cloud.linode.com) and select the **Quick Deploy App** link from the left navigation menu. This displays the Linode **Create** page with the **Marketplace** tab pre-selected. diff --git a/docs/marketplace-docs/_shortguides/deploy-marketplace-apps-shortguide/index.md b/docs/marketplace-docs/_shortguides/deploy-marketplace-apps-shortguide/index.md index 66885711bfe..3c3d518d3a1 100644 --- a/docs/marketplace-docs/_shortguides/deploy-marketplace-apps-shortguide/index.md +++ b/docs/marketplace-docs/_shortguides/deploy-marketplace-apps-shortguide/index.md @@ -9,7 +9,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' description: 'Quick Deploy App deployment shortguide' --- -Akamai Quick Deploy Apps let you easily deploy software on a Compute Instance using Cloud Manager. See [Get Started with Quick Deploy Apps](/cloud/marketplace-docs/get-started/) for complete steps. +Akamai Quick Deploy Apps let you easily deploy software on a Compute Instance using Cloud Manager. See [Get Started with Quick Deploy Apps](/cloud/marketplace-docs/get-started) for complete steps. 1. Log in to [Cloud Manager](https://cloud.linode.com) and select the **Quick Deploy Apps** link from the left navigation menu. This displays the Linode **Create** page with the **Marketplace** tab pre-selected. diff --git a/docs/marketplace-docs/_shortguides/marketplace-limited-user-fields-shortguide/index.md b/docs/marketplace-docs/_shortguides/marketplace-limited-user-fields-shortguide/index.md index 52a28bfdfe9..5e2251c03d5 100644 --- a/docs/marketplace-docs/_shortguides/marketplace-limited-user-fields-shortguide/index.md +++ b/docs/marketplace-docs/_shortguides/marketplace-limited-user-fields-shortguide/index.md @@ -15,5 +15,5 @@ You can optionally fill out the following fields to automatically create a limit - **Limited sudo user:** Enter your preferred username for the limited user. - **Password for the limited user:** Enter a *strong* password for the new user. -- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/cloud/guides/use-public-key-authentication-with-ssh/) for instructions on generating a key pair. +- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/cloud/guides/use-public-key-authentication-with-ssh) for instructions on generating a key pair. - **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes* (recommended). You can still switch to the root user once logged in and you can also log in as root through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). \ No newline at end of file diff --git a/docs/marketplace-docs/_shortguides/marketplace-verify-standard-shortguide/index.md b/docs/marketplace-docs/_shortguides/marketplace-verify-standard-shortguide/index.md index d6766172668..4628311e3f7 100644 --- a/docs/marketplace-docs/_shortguides/marketplace-verify-standard-shortguide/index.md +++ b/docs/marketplace-docs/_shortguides/marketplace-verify-standard-shortguide/index.md @@ -9,4 +9,4 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' description: 'Quick Deploy Apps verification shortguide' --- -To verify that the app has been fully installed, see [Get Started with Akamai Quick Deploy Apps > Verify Installation](/cloud/marketplace-docs/get-started/#verify-installation). Once installed, follow the instructions within the [Getting Started After Deployment](#getting-started-after-deployment) section to access the application and start using it. \ No newline at end of file +To verify that the app has been fully installed, see [Get Started with Akamai Quick Deploy Apps > Verify Installation](/cloud/marketplace-docs/get-started#verify-installation). Once installed, follow the instructions within the [Getting Started After Deployment](#getting-started-after-deployment) section to access the application and start using it. \ No newline at end of file diff --git a/docs/marketplace-docs/get-started/index.md b/docs/marketplace-docs/get-started/index.md index 0f4ccc04930..c3b81620dd9 100644 --- a/docs/marketplace-docs/get-started/index.md +++ b/docs/marketplace-docs/get-started/index.md @@ -44,7 +44,7 @@ Since software for a Quick Deploy App is installed *after* a Linode Compute Inst - **Lish console:** Open the [Lish console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and follow along with the installation script. Once the *"Installation Complete!"* notice appears, the install is finished. -- **Log file:** The same *"Installation Complete!"* notice should also appear at the end of the installation's log file, which you can view by logging in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and running: +- **Log file:** The same *"Installation Complete!"* notice should also appear at the end of the installation's log file, which you can view by logging in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and running: ```command grep -i 'installation complete' /var/log/stackscript.log @@ -54,10 +54,10 @@ Since software for a Quick Deploy App is installed *after* a Linode Compute Inst ## Access the App -Since each Quick Deploy App installs different software with different functions, the instructions for accessing an App can vary greatly. In some cases, the App deploys a webpage or admin panel that's accessible over a web browser. In other cases, you may need to log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and navigate to the software directory. To learn how to access the App that you deployed, review the guide that corresponds with your Quick Deploy App. +Since each Quick Deploy App installs different software with different functions, the instructions for accessing an App can vary greatly. In some cases, the App deploys a webpage or admin panel that's accessible over a web browser. In other cases, you may need to log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and navigate to the software directory. To learn how to access the App that you deployed, review the guide that corresponds with your Quick Deploy App. ## Add a Custom Domain For websites like WordPress, WooCommerce, and Drupal, it may be desirable to have a domain name associated with your app. Otherwise, your app is only accessible through the instance's IP address or rDNS value. -For information on how to add a domain name to your app, visit our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. Specifically, you should [set up an *A record*](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) and assign your IP address to it. For more general information about how DNS works, review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide. +For information on how to add a domain name to your app, visit our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. Specifically, you should [set up an *A record*](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) and assign your IP address to it. For more general information about how DNS works, review the [DNS Records: An Introduction](/cloud/guides/dns-overview) guide. diff --git a/docs/marketplace-docs/guides/_index.md b/docs/marketplace-docs/guides/_index.md index b2daf36c853..d87214f77b9 100644 --- a/docs/marketplace-docs/guides/_index.md +++ b/docs/marketplace-docs/guides/_index.md @@ -10,106 +10,106 @@ aliases: [] ## Basics -- [Get Started with Akamai Quick Deploy Apps](/cloud/marketplace-docs/get-started/): Learn how to deploy and access a Quick Deploy App +- [Get Started with Akamai Quick Deploy Apps](/cloud/marketplace-docs/get-started): Learn how to deploy and access a Quick Deploy App ## List of Quick Deploy Apps -- [aaPanel](/cloud/marketplace-docs/guides/aapanel/) -- [Akaunting](/cloud/marketplace-docs/guides/akaunting/) -- [Ant Media Server Enterprise Edition](/cloud/marketplace-docs/guides/antmediaenterpriseserver/) -- [Ant Media Server](/cloud/marketplace-docs/guides/antmediaserver/) -- [Apache Airflow](/cloud/marketplace-docs/guides/apache-airflow/) -- [Apache Cassandra Cluster](/cloud/marketplace-docs/guides/apache-cassandra-cluster/) -- [Apache Kafka Cluster](/cloud/marketplace-docs/guides/apache-kafka-cluster/) -- [Appwrite](/cloud/marketplace-docs/guides/appwrite/) -- [AzuraCast](/cloud/marketplace-docs/guides/azuracast/) -- [Backstage](/cloud/marketplace-docs/guides/backstage/) -- [BeEF](/cloud/marketplace-docs/guides/beef/) -- [Cloudron](/cloud/marketplace-docs/guides/cloudron/) -- [ClusterControl](/cloud/marketplace-docs/guides/clustercontrol/) -- [Couchbase Cluster](/cloud/marketplace-docs/guides/couchbase-cluster/) -- [Counter-Strike Global Offensive](/cloud/marketplace-docs/guides/counter-strike-go/) -- [cPanel](/cloud/marketplace-docs/guides/cpanel/) -- [CyberPanel](/cloud/marketplace-docs/guides/cyberpanel/) -- [Discourse](/cloud/marketplace-docs/guides/discourse/) -- [Django](/cloud/marketplace-docs/guides/django/) -- [Docker](/cloud/marketplace-docs/guides/docker/) -- [Drupal](/cloud/marketplace-docs/guides/drupal/) -- [Easypanel](/cloud/marketplace-docs/guides/easypanel/) -- [FileCloud](/cloud/marketplace-docs/guides/filecloud/) -- [Flask](/cloud/marketplace-docs/guides/flask/) -- [Focalboard](/cloud/marketplace-docs/guides/focalboard/) -- [Galera Cluster](/cloud/marketplace-docs/guides/galera-cluster/) -- [Gitea](/cloud/marketplace-docs/guides/gitea/) -- [Gitlab](/cloud/marketplace-docs/guides/gitlab/) -- [GlusterFS Cluster](/cloud/marketplace-docs/guides/glusterfs-cluster/) -- [Grav](/cloud/marketplace-docs/guides/grav/) -- [Guacamole](/cloud/marketplace-docs/guides/guacamole/) -- [Haltdos Community WAF](/cloud/marketplace-docs/guides/haltdos-community-waf/) -- [Harbor](/cloud/marketplace-docs/guides/harbor/) -- [HashiCorp Nomad](/cloud/marketplace-docs/guides/hashicorp-nomad/) -- [HashiCorp Vault](/cloud/marketplace-docs/guides/hashicorp-vault/) -- [InfluxDB](/cloud/marketplace-docs/guides/influxdb/) -- [Jenkins](/cloud/marketplace-docs/guides/jenkins/) -- [JetBackup](/cloud/marketplace-docs/guides/jetbackup/) -- [Jitsi](/cloud/marketplace-docs/guides/jitsi/) -- [Jitsi Cluster](/cloud/marketplace-docs/guides/jitsi-cluster/) -- [Joomla](/cloud/marketplace-docs/guides/joomla/) -- [Joplin](/cloud/marketplace-docs/guides/joplin/) -- [JupyterLab](/cloud/marketplace-docs/guides/jupyterlab/) -- [Kali Linux](/cloud/marketplace-docs/guides/kali-linux/) -- [LAMP Stack](/cloud/marketplace-docs/guides/lamp-stack/) -- [LEMP Stack](/cloud/marketplace-docs/guides/lemp-stack/) -- [LinuxGSM](/cloud/marketplace-docs/guides/linuxgsm/) -- [LiteSpeed cPanel](/cloud/marketplace-docs/guides/litespeed-cpanel/) -- [LiveSwitch](/cloud/marketplace-docs/guides/liveswitch/) -- [Mastodon](/cloud/marketplace-docs/guides/mastodon/) -- [MEAN Stack](/cloud/marketplace-docs/guides/mean-stack/) -- [MERN Stack](/cloud/marketplace-docs/guides/mern-stack/) -- [Microweber](/cloud/marketplace-docs/guides/microweber/) -- [Minecraft ](/cloud/marketplace-docs/guides/minecraft/) -- [Moodle](/cloud/marketplace-docs/guides/moodle/) -- [MySQL/MariaDB](/cloud/marketplace-docs/guides/mysql/) -- [NATS Single Node](/cloud/marketplace-docs/guides/nats-single-node/) -- [Nextcloud](/cloud/marketplace-docs/guides/nextcloud/) -- [Node.js](/cloud/marketplace-docs/guides/nodejs/) -- [Odoo](/cloud/marketplace-docs/guides/odoo/) -- [ONLYOFFICE](/cloud/marketplace-docs/guides/onlyoffice/) -- [Openbao](/cloud/marketplace-docs/guides/openbao/) -- [OpenLiteSpeed Django](/cloud/marketplace-docs/guides/openlitespeed-django/) -- [OpenLiteSpeed Node.js](/cloud/marketplace-docs/guides/openlitespeed-nodejs/) -- [OpenLiteSpeed Rails](/cloud/marketplace-docs/guides/openlitespeed-rails/) -- [OpenLiteSpeed WordPress](/cloud/marketplace-docs/guides/openlitespeed-wordpress/) -- [OpenVPN](/cloud/marketplace-docs/guides/openvpn/) -- [Owncast](/cloud/marketplace-docs/guides/owncast/) -- [Owncloud Server](/cloud/marketplace-docs/guides/owncloud/) -- [Passky](/cloud/marketplace-docs/guides/passky/) -- [Passbolt](/cloud/marketplace-docs/guides/passbolt/) -- [Peppermint](/cloud/marketplace-docs/guides/peppermint/) -- [phpMyAdmin](/cloud/marketplace-docs/guides/phpmyadmin/) -- [Pi-hole](/cloud/marketplace-docs/guides/pihole/) -- [Plesk](/cloud/marketplace-docs/guides/plesk/) -- [Plex Media Server](/cloud/marketplace-docs/guides/plex/) -- [PostgreSQL](/cloud/marketplace-docs/guides/postgresql/) -- [PostgreSQL Cluster](/cloud/marketplace-docs/guides/postgresql-cluster/) -- [Pritunl](/cloud/marketplace-docs/guides/pritunl/) -- [Prometheus and Grafana](/cloud/marketplace-docs/guides/prometheus-grafana/) -- [RabbitMQ](/cloud/marketplace-docs/guides/rabbitmq/) -- [Redis](/cloud/marketplace-docs/guides/redis/) -- [Redis Sentinel](/cloud/marketplace-docs/guides/redis-cluster/) -- [Rocket.Chat](/cloud/marketplace-docs/guides/rocketchat/) -- [Ruby on Rails](/cloud/marketplace-docs/guides/ruby-on-rails/) -- [Saltcorn](/cloud/marketplace-docs/guides/saltcorn/) -- [Secure Your Server](/cloud/marketplace-docs/guides/secure-your-server/) -- [Shadowsocks](/cloud/marketplace-docs/guides/shadowsocks/) -- [Splunk](/cloud/marketplace-docs/guides/splunk/) -- [Superinsight](/cloud/marketplace-docs/guides/superinsight/) -- [Uptime Kuma](/cloud/marketplace-docs/guides/uptime-kuma/) -- [Valkey](/cloud/marketplace-docs/guides/valkey/) -- [VS Code](/cloud/marketplace-docs/guides/vscode/) -- [Wazuh](/cloud/marketplace-docs/guides/wazuh/) -- [WireGuard](/cloud/marketplace-docs/guides/wireguard/) -- [WooCommerce](/cloud/marketplace-docs/guides/woocommerce/) -- [WordPress](/cloud/marketplace-docs/guides/wordpress/) -- [Yacht](/cloud/marketplace-docs/guides/yacht/) -- [Zabbix](/cloud/marketplace-docs/guides/zabbix/) +- [aaPanel](/cloud/marketplace-docs/guides/aapanel) +- [Akaunting](/cloud/marketplace-docs/guides/akaunting) +- [Ant Media Server Enterprise Edition](/cloud/marketplace-docs/guides/antmediaenterpriseserver) +- [Ant Media Server](/cloud/marketplace-docs/guides/antmediaserver) +- [Apache Airflow](/cloud/marketplace-docs/guides/apache-airflow) +- [Apache Cassandra Cluster](/cloud/marketplace-docs/guides/apache-cassandra-cluster) +- [Apache Kafka Cluster](/cloud/marketplace-docs/guides/apache-kafka-cluster) +- [Appwrite](/cloud/marketplace-docs/guides/appwrite) +- [AzuraCast](/cloud/marketplace-docs/guides/azuracast) +- [Backstage](/cloud/marketplace-docs/guides/backstage) +- [BeEF](/cloud/marketplace-docs/guides/beef) +- [Cloudron](/cloud/marketplace-docs/guides/cloudron) +- [ClusterControl](/cloud/marketplace-docs/guides/clustercontrol) +- [Couchbase Cluster](/cloud/marketplace-docs/guides/couchbase-cluster) +- [Counter-Strike Global Offensive](/cloud/marketplace-docs/guides/counter-strike-go) +- [cPanel](/cloud/marketplace-docs/guides/cpanel) +- [CyberPanel](/cloud/marketplace-docs/guides/cyberpanel) +- [Discourse](/cloud/marketplace-docs/guides/discourse) +- [Django](/cloud/marketplace-docs/guides/django) +- [Docker](/cloud/marketplace-docs/guides/docker) +- [Drupal](/cloud/marketplace-docs/guides/drupal) +- [Easypanel](/cloud/marketplace-docs/guides/easypanel) +- [FileCloud](/cloud/marketplace-docs/guides/filecloud) +- [Flask](/cloud/marketplace-docs/guides/flask) +- [Focalboard](/cloud/marketplace-docs/guides/focalboard) +- [Galera Cluster](/cloud/marketplace-docs/guides/galera-cluster) +- [Gitea](/cloud/marketplace-docs/guides/gitea) +- [Gitlab](/cloud/marketplace-docs/guides/gitlab) +- [GlusterFS Cluster](/cloud/marketplace-docs/guides/glusterfs-cluster) +- [Grav](/cloud/marketplace-docs/guides/grav) +- [Guacamole](/cloud/marketplace-docs/guides/guacamole) +- [Haltdos Community WAF](/cloud/marketplace-docs/guides/haltdos-community-waf) +- [Harbor](/cloud/marketplace-docs/guides/harbor) +- [HashiCorp Nomad](/cloud/marketplace-docs/guides/hashicorp-nomad) +- [HashiCorp Vault](/cloud/marketplace-docs/guides/hashicorp-vault) +- [InfluxDB](/cloud/marketplace-docs/guides/influxdb) +- [Jenkins](/cloud/marketplace-docs/guides/jenkins) +- [JetBackup](/cloud/marketplace-docs/guides/jetbackup) +- [Jitsi](/cloud/marketplace-docs/guides/jitsi) +- [Jitsi Cluster](/cloud/marketplace-docs/guides/jitsi-cluster) +- [Joomla](/cloud/marketplace-docs/guides/joomla) +- [Joplin](/cloud/marketplace-docs/guides/joplin) +- [JupyterLab](/cloud/marketplace-docs/guides/jupyterlab) +- [Kali Linux](/cloud/marketplace-docs/guides/kali-linux) +- [LAMP Stack](/cloud/marketplace-docs/guides/lamp-stack) +- [LEMP Stack](/cloud/marketplace-docs/guides/lemp-stack) +- [LinuxGSM](/cloud/marketplace-docs/guides/linuxgsm) +- [LiteSpeed cPanel](/cloud/marketplace-docs/guides/litespeed-cpanel) +- [LiveSwitch](/cloud/marketplace-docs/guides/liveswitch) +- [Mastodon](/cloud/marketplace-docs/guides/mastodon) +- [MEAN Stack](/cloud/marketplace-docs/guides/mean-stack) +- [MERN Stack](/cloud/marketplace-docs/guides/mern-stack) +- [Microweber](/cloud/marketplace-docs/guides/microweber) +- [Minecraft ](/cloud/marketplace-docs/guides/minecraft) +- [Moodle](/cloud/marketplace-docs/guides/moodle) +- [MySQL/MariaDB](/cloud/marketplace-docs/guides/mysql) +- [NATS Single Node](/cloud/marketplace-docs/guides/nats-single-node) +- [Nextcloud](/cloud/marketplace-docs/guides/nextcloud) +- [Node.js](/cloud/marketplace-docs/guides/nodejs) +- [Odoo](/cloud/marketplace-docs/guides/odoo) +- [ONLYOFFICE](/cloud/marketplace-docs/guides/onlyoffice) +- [Openbao](/cloud/marketplace-docs/guides/openbao) +- [OpenLiteSpeed Django](/cloud/marketplace-docs/guides/openlitespeed-django) +- [OpenLiteSpeed Node.js](/cloud/marketplace-docs/guides/openlitespeed-nodejs) +- [OpenLiteSpeed Rails](/cloud/marketplace-docs/guides/openlitespeed-rails) +- [OpenLiteSpeed WordPress](/cloud/marketplace-docs/guides/openlitespeed-wordpress) +- [OpenVPN](/cloud/marketplace-docs/guides/openvpn) +- [Owncast](/cloud/marketplace-docs/guides/owncast) +- [Owncloud Server](/cloud/marketplace-docs/guides/owncloud) +- [Passky](/cloud/marketplace-docs/guides/passky) +- [Passbolt](/cloud/marketplace-docs/guides/passbolt) +- [Peppermint](/cloud/marketplace-docs/guides/peppermint) +- [phpMyAdmin](/cloud/marketplace-docs/guides/phpmyadmin) +- [Pi-hole](/cloud/marketplace-docs/guides/pihole) +- [Plesk](/cloud/marketplace-docs/guides/plesk) +- [Plex Media Server](/cloud/marketplace-docs/guides/plex) +- [PostgreSQL](/cloud/marketplace-docs/guides/postgresql) +- [PostgreSQL Cluster](/cloud/marketplace-docs/guides/postgresql-cluster) +- [Pritunl](/cloud/marketplace-docs/guides/pritunl) +- [Prometheus and Grafana](/cloud/marketplace-docs/guides/prometheus-grafana) +- [RabbitMQ](/cloud/marketplace-docs/guides/rabbitmq) +- [Redis](/cloud/marketplace-docs/guides/redis) +- [Redis Sentinel](/cloud/marketplace-docs/guides/redis-cluster) +- [Rocket.Chat](/cloud/marketplace-docs/guides/rocketchat) +- [Ruby on Rails](/cloud/marketplace-docs/guides/ruby-on-rails) +- [Saltcorn](/cloud/marketplace-docs/guides/saltcorn) +- [Secure Your Server](/cloud/marketplace-docs/guides/secure-your-server) +- [Shadowsocks](/cloud/marketplace-docs/guides/shadowsocks) +- [Splunk](/cloud/marketplace-docs/guides/splunk) +- [Superinsight](/cloud/marketplace-docs/guides/superinsight) +- [Uptime Kuma](/cloud/marketplace-docs/guides/uptime-kuma) +- [Valkey](/cloud/marketplace-docs/guides/valkey) +- [VS Code](/cloud/marketplace-docs/guides/vscode) +- [Wazuh](/cloud/marketplace-docs/guides/wazuh) +- [WireGuard](/cloud/marketplace-docs/guides/wireguard) +- [WooCommerce](/cloud/marketplace-docs/guides/woocommerce) +- [WordPress](/cloud/marketplace-docs/guides/wordpress) +- [Yacht](/cloud/marketplace-docs/guides/yacht) +- [Zabbix](/cloud/marketplace-docs/guides/zabbix) diff --git a/docs/marketplace-docs/guides/aapanel/index.md b/docs/marketplace-docs/guides/aapanel/index.md index 82a674a69b0..0be18b1a211 100644 --- a/docs/marketplace-docs/guides/aapanel/index.md +++ b/docs/marketplace-docs/guides/aapanel/index.md @@ -52,7 +52,7 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: @@ -66,7 +66,7 @@ This returns passwords that were automatically generated when the instance was d ### Access your aaPanel App -1. Log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Once you've login via SSH you will see the message of the day (MOTD) which includes the login URL for this instance. +1. Log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Once you've login via SSH you will see the message of the day (MOTD) which includes the login URL for this instance. 2. Open the URL and enter the login credentials. diff --git a/docs/marketplace-docs/guides/antmediaenterpriseserver/index.md b/docs/marketplace-docs/guides/antmediaenterpriseserver/index.md index b9c25beb527..d9f3a0468d6 100644 --- a/docs/marketplace-docs/guides/antmediaenterpriseserver/index.md +++ b/docs/marketplace-docs/guides/antmediaenterpriseserver/index.md @@ -19,7 +19,7 @@ marketplace_app_name: "Ant Media Server Enterprise Edition" [Ant Media Server](https://antmedia.io/) is an [open source](https://github.com/ant-media/Ant-Media-Server) video streaming platform known for its scalability and low latency. It supports WebRTC live streaming, as well as CMAF and HLS streaming, and can be ingested through RTMP, WebRTC, or HLS. There are two editions of Ant Media Server: Community Edition and Enterprise Edition. This Quick Deploy App installs the Enterprise Edition, which is equipped with more features and enhanced performance. See this [Comparison Chart](https://github.com/ant-media/Ant-Media-Server/wiki#community-edition--enterprise-edition) for details. {{< note >}} -The Enterprise Edition of Ant Media Server requires a valid license to use the software beyond the initial 14 day [free trial](https://antmedia.io/free-trial/) period. To purchase a license, visit [Ant Media's website](https://antmedia.io/#selfhosted) and select a plan that fits your needs. Licenses are not available directly through Linode. Alternatively, you can deploy the free [Ant Media Server Community Edition Quick Deploy App](/cloud/marketplace-docs/guides/antmediaserver/). +The Enterprise Edition of Ant Media Server requires a valid license to use the software beyond the initial 14 day [free trial](https://antmedia.io/free-trial/) period. To purchase a license, visit [Ant Media's website](https://antmedia.io/#selfhosted) and select a plan that fits your needs. Licenses are not available directly through Linode. Alternatively, you can deploy the free [Ant Media Server Community Edition Quick Deploy App](/cloud/marketplace-docs/guides/antmediaserver). {{< /note >}} ## Deploying a Quick Deploy App @@ -55,7 +55,7 @@ The Enterprise Edition of Ant Media Server requires a valid license to use the s The Ant Media Server will deploy with an administrator account preconfigured using the email entered in the `email address` UDF on deployment. The generated password is in the `/home/$USERNAME/.credentials` along with the sudo user password. {{< /note >}} -1. Using [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) connect to the instance and access the Ant Media Server credentials in the `/home/$USERNAME/.credentials` file. You will find an example of the output below. Keep in mind that $USERNAME will be replaced with your chosen sudo username. +1. Using [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh) connect to the instance and access the Ant Media Server credentials in the `/home/$USERNAME/.credentials` file. You will find an example of the output below. Keep in mind that $USERNAME will be replaced with your chosen sudo username. ```command cat /home/$USERNAME/.credentials diff --git a/docs/marketplace-docs/guides/antmediaserver/index.md b/docs/marketplace-docs/guides/antmediaserver/index.md index 502125a0b14..dec9b79c817 100644 --- a/docs/marketplace-docs/guides/antmediaserver/index.md +++ b/docs/marketplace-docs/guides/antmediaserver/index.md @@ -31,7 +31,7 @@ The Community Edition is a limited version of Ant Media Server Enterprise Editio - Simulcasting to Periscope - Your Live or VoD streams can play anywhere including mobile(Android, iOS) browsers. -If you need adaptive streaming, cluster, load balancer, and hardware encoding, consider using the [Enterprise Edition](/cloud/marketplace-docs/guides/antmediaenterpriseserver/). +If you need adaptive streaming, cluster, load balancer, and hardware encoding, consider using the [Enterprise Edition](/cloud/marketplace-docs/guides/antmediaenterpriseserver). ## Deploying a Quick Deploy App @@ -66,7 +66,7 @@ If you need adaptive streaming, cluster, load balancer, and hardware encoding, c The Ant Media Server will deploy with an administrator account preconfigured using the email entered in the `email address` UDF on deployment. The generated password can be found in `/home/$USERNAME/.credentials`, along with the sudo user password. {{< /note >}} -1. Using [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) connect to the instance and access the Ant Media Server credentials in the `/home/$USERNAME/.credentials` file. You will find an example of the output below. Keep in mind that $USERNAME will be replaced with your chosen sudo username. +1. Using [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh) connect to the instance and access the Ant Media Server credentials in the `/home/$USERNAME/.credentials` file. You will find an example of the output below. Keep in mind that $USERNAME will be replaced with your chosen sudo username. ```command cat /home/$USERNAME/.credentials diff --git a/docs/marketplace-docs/guides/apache-airflow/index.md b/docs/marketplace-docs/guides/apache-airflow/index.md index 2eecf9928b8..280db0096ef 100644 --- a/docs/marketplace-docs/guides/apache-airflow/index.md +++ b/docs/marketplace-docs/guides/apache-airflow/index.md @@ -79,7 +79,7 @@ You can now start using Apache Airflow. If you are unfamiliar with it, consider - [Airflow > Tutorials](https://airflow.apache.org/docs/apache-airflow/stable/tutorial/index.html) - [Airflow > How-to Guides](https://airflow.apache.org/docs/apache-airflow/stable/howto/index.html) -- [Create Connections and Variables in Apache Airflow](/cloud/guides/apache-airflow-tutorial-creating-connections-and-variables/) +- [Create Connections and Variables in Apache Airflow](/cloud/guides/apache-airflow-tutorial-creating-connections-and-variables) {{< note type="warning">}} This Akamai Quick Deploy App deploys Apache Airflow in standalone mode, suitable for development, testing, and initial configurations. Standalone mode is not recommended for [production deployments](https://airflow.apache.org/docs/apache-airflow/stable/production-deployment.html). diff --git a/docs/marketplace-docs/guides/beef/index.md b/docs/marketplace-docs/guides/beef/index.md index 1755a8da0a4..05914895e92 100644 --- a/docs/marketplace-docs/guides/beef/index.md +++ b/docs/marketplace-docs/guides/beef/index.md @@ -49,7 +49,7 @@ marketplace_app_name: "BeEF" 1. Once the app has been *fully* deployed, view the BeEF completion message through one of the methods below: - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. See [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH:** Log in to your Compute Instance over SSH using the `root` user and run the following command. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. + - **SSH:** Log in to your Compute Instance over SSH using the `root` user and run the following command. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh) for assistance. ```command cat /home/$USERNAME/.credentials diff --git a/docs/marketplace-docs/guides/couchbase-cluster/index.md b/docs/marketplace-docs/guides/couchbase-cluster/index.md index 6bd5da9fcc1..b3b37e61e39 100644 --- a/docs/marketplace-docs/guides/couchbase-cluster/index.md +++ b/docs/marketplace-docs/guides/couchbase-cluster/index.md @@ -83,7 +83,7 @@ The Couchbase Cluster deploys with preconfigured UFW firewall rules. These rules Only the *cluster provisioner* has firewall access configured for web and client ports. -The Couchbase Enterprise Server Cluster Quick Deploy App manages these UFW configurations with `application profile` files in the `/etc/ufw/appplications.d` directory. See [Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) for more details on using UFW. +The Couchbase Enterprise Server Cluster Quick Deploy App manages these UFW configurations with `application profile` files in the `/etc/ufw/appplications.d` directory. See [Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) for more details on using UFW. ## Next Steps diff --git a/docs/marketplace-docs/guides/cpanel/index.md b/docs/marketplace-docs/guides/cpanel/index.md index 18249a8f0c0..87ca7714e7c 100644 --- a/docs/marketplace-docs/guides/cpanel/index.md +++ b/docs/marketplace-docs/guides/cpanel/index.md @@ -54,7 +54,7 @@ WHM is the core interface for managing your server and all websites (also called 1. On the same page, you must also enter in the nameservers for this server. Nameservers are the underlying servers of the DNS system that map domain names to IP addresses. Managing DNS through cPanel lets you quickly add sites, configure subdomains, set up email, and more without needing to manually update DNS records. For this step, make sure you have a registered domain name. - 1. Within the nameservers for your domain name, create two [*A records*](/cloud/guides/dns-overview/#a-and-aaaa). The *hostname* / *name* field should be *ns1* (for the first record) and *ns2* (for the second). The IP address should be the IPv4 address of your new Compute Instance. If you do not have a nameserver for your registered domain, consider using Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). + 1. Within the nameservers for your domain name, create two [*A records*](/cloud/guides/dns-overview#a-and-aaaa). The *hostname* / *name* field should be *ns1* (for the first record) and *ns2* (for the second). The IP address should be the IPv4 address of your new Compute Instance. If you do not have a nameserver for your registered domain, consider using Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). 1. Within the cPanel form, enter the following values into the nameserver fields. Replace *example.com* with the domain name you are using. diff --git a/docs/marketplace-docs/guides/cribl/index.md b/docs/marketplace-docs/guides/cribl/index.md index c909ce83fa8..b9c17d528c2 100644 --- a/docs/marketplace-docs/guides/cribl/index.md +++ b/docs/marketplace-docs/guides/cribl/index.md @@ -47,7 +47,7 @@ Once the app is deployed, you need to obtain the credentials from the server. To 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 2. Run the following command to access the contents of the credentials file: diff --git a/docs/marketplace-docs/guides/docker/index.md b/docs/marketplace-docs/guides/docker/index.md index 0f47bea5aff..48471dc6515 100644 --- a/docs/marketplace-docs/guides/docker/index.md +++ b/docs/marketplace-docs/guides/docker/index.md @@ -7,7 +7,7 @@ keywords: ['docker','marketplace', 'container'] tags: ["container","cloud-manager","linode platform","docker","quick deploy apps"] image: Docker_oneclickapps.png external_resources: - - '[Docker Commands Cheat Sheet](/cloud/guides/docker-commands-quick-reference-cheat-sheet/)' + - '[Docker Commands Cheat Sheet](/cloud/guides/docker-commands-quick-reference-cheat-sheet)' - '[Docker Documentation](https://docs.docker.com/)' - '[Play with Docker](https://training.play-with-docker.com/)' - '[Docker Hub](https://www.docker.com/products/docker-hub)' @@ -53,7 +53,7 @@ Docker is now installed and ready to use. The following steps provide a sample a After Docker has finished installing, you can access Docker from your terminal and deploy a sample application or any application that you intend on running. -1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) using the limited user account you may have created during deployment. If you do not yet have one, login as the `root` user and [create a limited user account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) using the limited user account you may have created during deployment. If you do not yet have one, login as the `root` user and [create a limited user account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account). 1. Locate the application or sample application you wish to deploy. @@ -63,15 +63,15 @@ After Docker has finished installing, you can access Docker from your terminal a 1. Learn how to use Docker by running through the [Docker for Beginners](https://github.com/docker/labs/tree/master/beginner/) lab or by reading the documentation below: - - [An Introduction to Docker](/cloud/guides/introduction-to-docker/) - - [How to Deploy an nginx Container with Docker on Linode](/cloud/guides/how-to-deploy-an-nginx-container-with-docker/) - - [Docker Commands Quick Reference Cheat Sheet](/cloud/guides/docker-commands-quick-reference-cheat-sheet/) - - [How to Use Docker Files](/cloud/guides/how-to-use-dockerfiles/) - - [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/) - - [How to Connect Docker Containers](/cloud/guides/docker-container-communication/) - - [How to Create a Docker Swarm Manager and Nodes on a Linode](/cloud/guides/how-to-create-a-docker-swarm-manager-and-nodes-on-linode/) - - [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/cloud/guides/deploy-container-image-to-kubernetes/) - - [Manage a Docker Cluster with Kubernetes](/cloud/guides/manage-a-docker-cluster-with-kubernetes/) + - [An Introduction to Docker](/cloud/guides/introduction-to-docker) + - [How to Deploy an nginx Container with Docker on Linode](/cloud/guides/how-to-deploy-an-nginx-container-with-docker) + - [Docker Commands Quick Reference Cheat Sheet](/cloud/guides/docker-commands-quick-reference-cheat-sheet) + - [How to Use Docker Files](/cloud/guides/how-to-use-dockerfiles) + - [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose) + - [How to Connect Docker Containers](/cloud/guides/docker-container-communication) + - [How to Create a Docker Swarm Manager and Nodes on a Linode](/cloud/guides/how-to-create-a-docker-swarm-manager-and-nodes-on-linode) + - [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/cloud/guides/deploy-container-image-to-kubernetes) + - [Manage a Docker Cluster with Kubernetes](/cloud/guides/manage-a-docker-cluster-with-kubernetes) {{% content "marketplace-update-note-shortguide" %}} \ No newline at end of file diff --git a/docs/marketplace-docs/guides/drupal/index.md b/docs/marketplace-docs/guides/drupal/index.md index e0e9a7b7f2b..a33a39a25b3 100644 --- a/docs/marketplace-docs/guides/drupal/index.md +++ b/docs/marketplace-docs/guides/drupal/index.md @@ -57,7 +57,7 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/flask/index.md b/docs/marketplace-docs/guides/flask/index.md index e044b86b405..64a792dc3fd 100644 --- a/docs/marketplace-docs/guides/flask/index.md +++ b/docs/marketplace-docs/guides/flask/index.md @@ -53,7 +53,7 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: @@ -79,13 +79,13 @@ To get started: In addition to installing Flask, this Quick Deploy App app installs and configures software to support running Flask in a production environment. Below is a list of the installed software: -- The [NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) web server is installed with a basic NGINX configuration, located in `/etc/nginx/sites-enabled/$DOMAIN`. The $DOMAIN will be the domain entered during deployment or the default rDNS address that comes with each instance. +- The [NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) web server is installed with a basic NGINX configuration, located in `/etc/nginx/sites-enabled/$DOMAIN`. The $DOMAIN will be the domain entered during deployment or the default rDNS address that comes with each instance. - An sample Flask application is downloaded to your Linode's `/var/www/flask_project` directory. - [Gunicorn](https://gunicorn.org/), a Python WSGI (web server gateway interface) HTTP Server for UNIX, is installed and running. It is used to forward requests from your NGINX web server to your Flask application. {{< note >}} -Many configuration files can be overwritten to support a new configuration instead of deleted outright. For more information on the default configuration, see our [Flask Installation Guide](/cloud/guides/flask-and-gunicorn-on-ubuntu/) and the [Installed Software Section](/cloud/marketplace-docs/guides/flask/#installed-software) of this guide. +Many configuration files can be overwritten to support a new configuration instead of deleted outright. For more information on the default configuration, see our [Flask Installation Guide](/cloud/guides/flask-and-gunicorn-on-ubuntu) and the [Installed Software Section](/cloud/marketplace-docs/guides/flask#installed-software) of this guide. {{< /note >}} ### Next Steps @@ -95,6 +95,6 @@ Many configuration files can be overwritten to support a new configuration inste Now that you are familiar with all the software installed on your Linode with the Flask Quick Deploy App app, you can explore the following steps: - [Connect to your Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). You will need your Linode's root password to proceed. You can explore the installed programs and update any configurations as needed. Consider following the steps in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to continue hardening your Linode's security. -- Read through our [Deploy a Flask Application on Ubuntu](/cloud/guides/flask-and-gunicorn-on-ubuntu/) guide, which takes a deeper dive into the example Flask app that is deployed by the Quick Deploy App app. -- Visit our [Create a GIS Application using Flask, Stadia Maps, and MongoDB](/cloud/guides/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb/) guide to learn how to create your own GIS application. -- Consult our [How To Create an OAuth App with the Linode Python API Library](/cloud/guides/create-an-oauth-app-with-the-python-api-library/) to learn how to develop a Flask app using Linode's API to automate creating Linode resources. +- Read through our [Deploy a Flask Application on Ubuntu](/cloud/guides/flask-and-gunicorn-on-ubuntu) guide, which takes a deeper dive into the example Flask app that is deployed by the Quick Deploy App app. +- Visit our [Create a GIS Application using Flask, Stadia Maps, and MongoDB](/cloud/guides/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb) guide to learn how to create your own GIS application. +- Consult our [How To Create an OAuth App with the Linode Python API Library](/cloud/guides/create-an-oauth-app-with-the-python-api-library) to learn how to develop a Flask app using Linode's API to automate creating Linode resources. diff --git a/docs/marketplace-docs/guides/galera-cluster/index.md b/docs/marketplace-docs/guides/galera-cluster/index.md index 6268044d0a7..2d0aa0bce42 100644 --- a/docs/marketplace-docs/guides/galera-cluster/index.md +++ b/docs/marketplace-docs/guides/galera-cluster/index.md @@ -20,7 +20,7 @@ marketplace_app_name: "Galera Cluster" Galera provides a performant MariaDB database solution with synchronous replication to achieve high availability. Galera is deployed with MariaDB, which is an open-source database management system that uses a relational database and SQL (Structured Query Language) to manage its data. MariaDB was originally based off of MySQL and maintains backward compatibility. {{< note type="warning" title="Quick Deploy App Cluster Notice" >}} -This Quick Deploy App deploys 3 Compute Instances to create a highly available and redundant MariaDB Galera cluster, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy MariaDB on a single Compute Instance, see [Deploy MySQL/MariaDB](/cloud/marketplace-docs/guides/mysql/). +This Quick Deploy App deploys 3 Compute Instances to create a highly available and redundant MariaDB Galera cluster, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy MariaDB on a single Compute Instance, see [Deploy MySQL/MariaDB](/cloud/marketplace-docs/guides/mysql). {{< /note >}} ## Deploying a Quick Deploy App @@ -174,4 +174,4 @@ The standard tool for interacting with MariaDB is the `mysql` client which insta For more on MySQL/MariaDB, checkout the following guides: -- [MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) +- [MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu) diff --git a/docs/marketplace-docs/guides/gemma3/index.md b/docs/marketplace-docs/guides/gemma3/index.md index 81681ab3f14..96c29d29751 100644 --- a/docs/marketplace-docs/guides/gemma3/index.md +++ b/docs/marketplace-docs/guides/gemma3/index.md @@ -64,7 +64,7 @@ Before deployment, you need a Hugging Face API token to access the Gemma 3 model Your Open WebUI admin credentials are stored in a `.credentials` file on your instance. To retrieve them: -1. Log in to your instance via SSH or Lish. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance, or use the [Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to your instance via SSH or Lish. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh) for assistance, or use the [Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Once logged in, retrieve your credentials from the `.credentials` file: diff --git a/docs/marketplace-docs/guides/gitea/index.md b/docs/marketplace-docs/guides/gitea/index.md index 05777b74caf..785a20549a8 100644 --- a/docs/marketplace-docs/guides/gitea/index.md +++ b/docs/marketplace-docs/guides/gitea/index.md @@ -62,7 +62,7 @@ The Gitea Quick Deploy App installs the following software on your Compute Insta |:--------------|:------------| | [**Gitea**](https://gitea.io/) | Open source remote Git repository software. [v1.13.0](https://github.com/go-gitea/gitea/releases/tag/v1.13.0) | | [**PostgreSQL**](https://www.postgresql.org/) | Open source object-relational database system. | -| [**NGINX**](https://www.nginx.com/) | Open source web server. Used as a reverse proxy by this app. See our guide on [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) for more information. | -| [**UFW**](https://wiki.ubuntu.com/UncomplicatedFirewall) | Firewall utility. Ports 22/tcp, 80/tcp, and 443/tcp for IPv4 and IPv6 are enabled with installation of this app. Additional ports must be opened to send email from your Compute Instance for use with this app. See our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) for instructions. | +| [**NGINX**](https://www.nginx.com/) | Open source web server. Used as a reverse proxy by this app. See our guide on [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) for more information. | +| [**UFW**](https://wiki.ubuntu.com/UncomplicatedFirewall) | Firewall utility. Ports 22/tcp, 80/tcp, and 443/tcp for IPv4 and IPv6 are enabled with installation of this app. Additional ports must be opened to send email from your Compute Instance for use with this app. See our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw) for instructions. | {{% content "marketplace-update-note-shortguide" %}} diff --git a/docs/marketplace-docs/guides/gitlab/index.md b/docs/marketplace-docs/guides/gitlab/index.md index 26bb0cb1c39..528f73b0166 100644 --- a/docs/marketplace-docs/guides/gitlab/index.md +++ b/docs/marketplace-docs/guides/gitlab/index.md @@ -54,7 +54,7 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/harbor/index.md b/docs/marketplace-docs/guides/harbor/index.md index eb2a15e44d5..5e4ab30cea2 100644 --- a/docs/marketplace-docs/guides/harbor/index.md +++ b/docs/marketplace-docs/guides/harbor/index.md @@ -53,7 +53,7 @@ Harbor is an excellent compliment to the [Linode Kubernetes Engine (LKE)](https: 1. To locate your Harbor login credentials, view the Harbor credentials file through one of the methods below: - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. See [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH:** Log in to your Compute Instance over SSH using the `root` user and run the following command. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. + - **SSH:** Log in to your Compute Instance over SSH using the `root` user and run the following command. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh) for assistance. ```command cat /home/$USERNAME/.credentials diff --git a/docs/marketplace-docs/guides/hashicorp-nomad-clients-cluster/index.md b/docs/marketplace-docs/guides/hashicorp-nomad-clients-cluster/index.md index ec3d5b85777..cf11af9ad68 100644 --- a/docs/marketplace-docs/guides/hashicorp-nomad-clients-cluster/index.md +++ b/docs/marketplace-docs/guides/hashicorp-nomad-clients-cluster/index.md @@ -13,10 +13,10 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' The [HashiCorp Nomad](https://www.nomadproject.io/) Clients Cluster deploys 3, 5 or 7 Compute Instances as clients to horizontally scale an *existing HashiCorp Nomad Cluster*. The plan type and size you select is applied to each individual instance. -See our guide on deploying a [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster/) if you have not already deployed a cluster. +See our guide on deploying a [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster) if you have not already deployed a cluster. {{< note >}} -Please be aware that each Compute Instance will appear on your invoice as a separate item. If you would rather deploy HashiCorp Nomad on a single Compute Instance, see [Deploy Hashicorp Nomad](/cloud/marketplace-docs/guides/hashicorp-nomad/). +Please be aware that each Compute Instance will appear on your invoice as a separate item. If you would rather deploy HashiCorp Nomad on a single Compute Instance, see [Deploy Hashicorp Nomad](/cloud/marketplace-docs/guides/hashicorp-nomad). {{< /note >}} ## Deploying a Quick Deploy App @@ -43,9 +43,9 @@ Please be aware that each Compute Instance will appear on your invoice as a sepa - **Limited sudo user** *(required)*: A limited user account with sudo access is created as part of this cluster deployment. Enter your preferred username for this limited user. The password is automatically created. -- **consul_nomad_autojoin_token generated by Nomad Server OCC** *(required)*: This token is generated by the [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster/) deployment and can be found in the `~/.deployment_secrets.txt` file created in your original cluster. +- **consul_nomad_autojoin_token generated by Nomad Server OCC** *(required)*: This token is generated by the [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster) deployment and can be found in the `~/.deployment_secrets.txt` file created in your original cluster. -- **cluster_uuid** *(required)*: This is the tag applied to the [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster/) deployment and can be found in the `~/.deployment_secrets.txt` file created in your original cluster or in Cloud Manager. +- **cluster_uuid** *(required)*: This is the tag applied to the [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster) deployment and can be found in the `~/.deployment_secrets.txt` file created in your original cluster or in Cloud Manager. - **Add Account SSH Keys to All Nodes?** If you select *yes*, any SSH Keys that are added to the root user account (in the **SSH Keys** section), are also added to your limited user account on all deployed Compute Instances. @@ -59,6 +59,6 @@ After deployment, you can confirm your clients have been successfully added to y ![Screenshot of Nomad Web UI Clients tab](NomadClientsTab.jpg) -Please see [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster/) for information on accessing the Nomad Web UI and managing your cluster. +Please see [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster) for information on accessing the Nomad Web UI and managing your cluster. {{% content "marketplace-update-note-shortguide" %}} \ No newline at end of file diff --git a/docs/marketplace-docs/guides/hashicorp-nomad-cluster/index.md b/docs/marketplace-docs/guides/hashicorp-nomad-cluster/index.md index c2be566d62d..9a5a4ba78fe 100644 --- a/docs/marketplace-docs/guides/hashicorp-nomad-cluster/index.md +++ b/docs/marketplace-docs/guides/hashicorp-nomad-cluster/index.md @@ -18,7 +18,7 @@ marketplace_app_name: "HashiCorp Nomad Cluster" {{< note type="warning" title="Quick Deploy App Cluster Notice" >}} This Quick Deploy App deploys 6 Compute Instances to create a highly available, redundant Hashicorp Nomad Cluster. The plan type and size you select is applied to each individual instance. -Please be aware that each Compute Instance will appear on your invoice as a separate item. If you would rather deploy Hashicorp Nomad on a single Compute Instance, see [Deploy Hashicorp Nomad](/cloud/marketplace-docs/guides/hashicorp-nomad/). +Please be aware that each Compute Instance will appear on your invoice as a separate item. If you would rather deploy Hashicorp Nomad on a single Compute Instance, see [Deploy Hashicorp Nomad](/cloud/marketplace-docs/guides/hashicorp-nomad). {{< /note >}} ## Deploying a Quick Deploy App @@ -96,6 +96,6 @@ Please be aware that each Compute Instance will appear on your invoice as a sepa The HashiCorp Nomad Cluster provides default configurations to get you started. We recommend reviewing HashiCorp's [Configuration](https://www.nomadproject.io/docs/configuration) and [Job Spec](https://www.nomadproject.io/docs/job-specification) documentation to customize your Nomad Cluster for your specific workload. -If you find that you need additional Clients for your Nomad Cluster, the [Nomad Clients Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-clients-cluster/) deployment lets you scale horizontally by deploying 3, 5, or 7 additional Compute Instances as Clients. +If you find that you need additional Clients for your Nomad Cluster, the [Nomad Clients Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-clients-cluster) deployment lets you scale horizontally by deploying 3, 5, or 7 additional Compute Instances as Clients. {{% content "marketplace-update-note-shortguide" %}} diff --git a/docs/marketplace-docs/guides/hashicorp-vault/index.md b/docs/marketplace-docs/guides/hashicorp-vault/index.md index bd179226fa3..f8c283a0598 100644 --- a/docs/marketplace-docs/guides/hashicorp-vault/index.md +++ b/docs/marketplace-docs/guides/hashicorp-vault/index.md @@ -41,7 +41,7 @@ The data within Vault is protected by a series of encryption keys. The first lay Follow the instructions below to view the unseal key and root token. -1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) using the root user credentials you created during deployment. +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) using the root user credentials you created during deployment. 1. Run the following command to display all five portions of the unseal key. These portions can be used together to decrypt the root key and unseal Vault. diff --git a/docs/marketplace-docs/guides/joomla/index.md b/docs/marketplace-docs/guides/joomla/index.md index f6108db204c..6eb0422431c 100644 --- a/docs/marketplace-docs/guides/joomla/index.md +++ b/docs/marketplace-docs/guides/joomla/index.md @@ -14,7 +14,7 @@ marketplace_app_id: 985372 marketplace_app_name: "Joomla" --- -[Joomla](https://www.joomla.org/) is an advanced CMS (content management system) used to facilitate the easy creation and ongoing maintenance of dynamic websites. Comparable in some respects to other web applications like [Drupal](https://www.drupal.org/) and [WordPress](https://wordpress.org/), Joomla also has advanced features that resemble web-development frameworks like [Ruby On Rails](https://rubyonrails.org/) and [Django](https://www.djangoproject.com/). Deployed on top of the industry standard [LAMP Stack](/cloud/guides/web-servers/lamp/), Joomla is designed to be both easy to use and manage from the end user's perspective and easy to administer and host. +[Joomla](https://www.joomla.org/) is an advanced CMS (content management system) used to facilitate the easy creation and ongoing maintenance of dynamic websites. Comparable in some respects to other web applications like [Drupal](https://www.drupal.org/) and [WordPress](https://wordpress.org/), Joomla also has advanced features that resemble web-development frameworks like [Ruby On Rails](https://rubyonrails.org/) and [Django](https://www.djangoproject.com/). Deployed on top of the industry standard [LAMP Stack](/cloud/guides/web-servers/lamp), Joomla is designed to be both easy to use and manage from the end user's perspective and easy to administer and host. ## Deploying a Quick Deploy App diff --git a/docs/marketplace-docs/guides/lamp-stack/index.md b/docs/marketplace-docs/guides/lamp-stack/index.md index d91a265b157..85c5728ba7c 100644 --- a/docs/marketplace-docs/guides/lamp-stack/index.md +++ b/docs/marketplace-docs/guides/lamp-stack/index.md @@ -58,13 +58,13 @@ After your LAMP stack has finished deploying, you can: - Consult the following guides to learn more about working with the various components of the LAMP stack: - - [Secure HTTP Traffic with Certbot](/cloud/guides/secure-http-traffic-certbot/) - - [Apache Configuration Basics](/cloud/guides/apache-configuration-basics/) - - [How to Optimize MySQL Performance Using MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner/) + - [Secure HTTP Traffic with Certbot](/cloud/guides/secure-http-traffic-certbot) + - [Apache Configuration Basics](/cloud/guides/apache-configuration-basics) + - [How to Optimize MySQL Performance Using MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner) -- Upload files to your web root directory with an SFTP application like [FileZilla](/cloud/guides/filezilla/). Use the same root credentials that you would use for SSH. +- Upload files to your web root directory with an SFTP application like [FileZilla](/cloud/guides/filezilla). Use the same root credentials that you would use for SSH. -- Assign a domain name to your Linode's IP address. Review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview/) for general information about how DNS works. +- Assign a domain name to your Linode's IP address. Review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview) for general information about how DNS works. ## Software Included diff --git a/docs/marketplace-docs/guides/lemp-stack/index.md b/docs/marketplace-docs/guides/lemp-stack/index.md index 422927b45b1..fe836053131 100644 --- a/docs/marketplace-docs/guides/lemp-stack/index.md +++ b/docs/marketplace-docs/guides/lemp-stack/index.md @@ -16,7 +16,7 @@ marketplace_app_id: 606691 marketplace_app_name: "LEMP" --- -The LEMP stack (Linux, [NGINX](https://www.nginx.com/), [MySQL](https://www.mysql.com/), [PHP](https://www.php.net/)) is a popular, free, and open-source web software bundle used for hosting websites on the Linux operating system. While similar to the [LAMP Stack](/cloud/marketplace-docs/guides/lamp-stack/), a LEMP stack uses the NGINX web server instead of [Apache](https://httpd.apache.org/). NGINX is preferred by many users for a variety of reasons, including its flexibility, speed, and ability to perform under high load. +The LEMP stack (Linux, [NGINX](https://www.nginx.com/), [MySQL](https://www.mysql.com/), [PHP](https://www.php.net/)) is a popular, free, and open-source web software bundle used for hosting websites on the Linux operating system. While similar to the [LAMP Stack](/cloud/marketplace-docs/guides/lamp-stack), a LEMP stack uses the NGINX web server instead of [Apache](https://httpd.apache.org/). NGINX is preferred by many users for a variety of reasons, including its flexibility, speed, and ability to perform under high load. ## Deploying a Quick Deploy App @@ -51,17 +51,17 @@ The LEMP stack (Linux, [NGINX](https://www.nginx.com/), [MySQL](https://www.mysq After your LEMP stack has finished deploying, you can view it and upload your own files using one of the methods below: -- Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) using either the `root` user or limited user and the associated password you entered when creating the instance. Your application's web files are located in the `/var/www/html` directory. +- Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh) using either the `root` user or limited user and the associated password you entered when creating the instance. Your application's web files are located in the `/var/www/html` directory. - Navigate to the domain entered during the creation of the Linode instance. If you did not enter a domain, you can also use your Compute Instance's rDNS, which may look like `123-0-123-0.ip.linodeusercontent.com`. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing and setting the rDNS value. - Consult the following guides to learn more about working with the various components of the LEMP stack: - - [Secure HTTP Traffic with Certbot](/cloud/guides/secure-http-traffic-certbot/) - - [How to Configure NGINX](/cloud/guides/how-to-configure-nginx/) - - [How to Optimize MySQL Performance Using MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner/) + - [Secure HTTP Traffic with Certbot](/cloud/guides/secure-http-traffic-certbot) + - [How to Configure NGINX](/cloud/guides/how-to-configure-nginx) + - [How to Optimize MySQL Performance Using MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner) -- Upload files to your web root directory with an SFTP application like [FileZilla](/cloud/guides/filezilla/). Use the same root credentials that you would use for SSH. +- Upload files to your web root directory with an SFTP application like [FileZilla](/cloud/guides/filezilla). Use the same root credentials that you would use for SSH. ## Software Included diff --git a/docs/marketplace-docs/guides/litespeed-cpanel/index.md b/docs/marketplace-docs/guides/litespeed-cpanel/index.md index f0d740ba17d..58226bdec50 100644 --- a/docs/marketplace-docs/guides/litespeed-cpanel/index.md +++ b/docs/marketplace-docs/guides/litespeed-cpanel/index.md @@ -46,7 +46,7 @@ LiteSpeed offers both free and paid plans. Visit [LiteSpeed's website](https://w ## Verify Installation -To determine if the installation has completed successfully, log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and run: +To determine if the installation has completed successfully, log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and run: ```command tail -3 /var/log/stackscript.log @@ -106,7 +106,7 @@ Now that you’ve accessed your LiteSpeed instance, check out [the official Lite ### Accessing the LiteSpeed WebAdmin Interface -1. Log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Run the following script to reset the password: diff --git a/docs/marketplace-docs/guides/mean-stack/index.md b/docs/marketplace-docs/guides/mean-stack/index.md index 06519b9703b..8c64b0bb7e8 100644 --- a/docs/marketplace-docs/guides/mean-stack/index.md +++ b/docs/marketplace-docs/guides/mean-stack/index.md @@ -65,7 +65,7 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: @@ -85,7 +85,7 @@ The MEAN stack components are organized as follows: To access these components within the command line: -1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Go to the backend directory: diff --git a/docs/marketplace-docs/guides/memgraph/index.md b/docs/marketplace-docs/guides/memgraph/index.md index de9cf2fc96e..c1054c808a2 100644 --- a/docs/marketplace-docs/guides/memgraph/index.md +++ b/docs/marketplace-docs/guides/memgraph/index.md @@ -57,7 +57,7 @@ When deployment completes, the system automatically generates credentials to adm 1. Log in to your Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 2. Run the following command to access the contents of the `.credentials` file: diff --git a/docs/marketplace-docs/guides/mern-stack/index.md b/docs/marketplace-docs/guides/mern-stack/index.md index 4a8b5273c7d..298d747bb85 100644 --- a/docs/marketplace-docs/guides/mern-stack/index.md +++ b/docs/marketplace-docs/guides/mern-stack/index.md @@ -64,7 +64,7 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: @@ -78,8 +78,8 @@ This returns passwords that were automatically generated when the instance was d - Consult the following guides to learn more about working with the various components of the MERN stack: - - [Build Database Clusters with MongoDB](/cloud/guides/build-database-clusters-with-mongodb/) - - [Deploy a React Application on Linode](/cloud/guides/how-to-deploy-a-react-app-on-debian-10/) + - [Build Database Clusters with MongoDB](/cloud/guides/build-database-clusters-with-mongodb) + - [Deploy a React Application on Linode](/cloud/guides/how-to-deploy-a-react-app-on-debian-10) ## Software Included diff --git a/docs/marketplace-docs/guides/milvus/index.md b/docs/marketplace-docs/guides/milvus/index.md index cd2a3e33f82..74806c24a7f 100644 --- a/docs/marketplace-docs/guides/milvus/index.md +++ b/docs/marketplace-docs/guides/milvus/index.md @@ -49,7 +49,7 @@ When deployment completes, the system automatically generates credentials for in 1. Log in to your Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 2. Run the following command to access the `.credentials` file: diff --git a/docs/marketplace-docs/guides/minecraft/index.md b/docs/marketplace-docs/guides/minecraft/index.md index 39cba322cd8..7d2665f2775 100644 --- a/docs/marketplace-docs/guides/minecraft/index.md +++ b/docs/marketplace-docs/guides/minecraft/index.md @@ -69,7 +69,7 @@ With over 100 million users around the world, [Minecraft](https://www.minecraft. - **Port Number:** The server's listening port number. *Advanced Configuration*. - **Snooper Enabled:** Determines if the server sends stats to [https://snoop.minecraft.net](https://snoop.minecraft.net). *Advanced Configuration*. - **Use Native Transport Enabled:** Improve server performance by optimizing sent and received packets. *Advanced Configuration*. -- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/cloud/guides/use-public-key-authentication-with-ssh/) for instructions on generating a key pair. +- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/cloud/guides/use-public-key-authentication-with-ssh) for instructions on generating a key pair. - **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes* (recommended). You can still switch to the root user once logged in and you can also log in as root through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). {{% content "marketplace-special-character-limitations-shortguide" %}} diff --git a/docs/marketplace-docs/guides/mongodb-cluster/index.md b/docs/marketplace-docs/guides/mongodb-cluster/index.md index dac50c06d61..64f41df5921 100644 --- a/docs/marketplace-docs/guides/mongodb-cluster/index.md +++ b/docs/marketplace-docs/guides/mongodb-cluster/index.md @@ -70,7 +70,7 @@ The following fields (in addition to the domain field above) are used when creat After your cluster has been fully provisioned, use the instructs below to obtain and save passwords that were generated on your behalf during deployment. -1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. +1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. 1. The passwords have been saved in a `.deployment-secrets.txt` file located in your user's home directory. You can view this file in your preferred text editor or through the `cat` command. In the command below, replace *[username]* with the limited sudo user you created during deployment. @@ -102,7 +102,7 @@ After your cluster has been fully provisioned, use the instructs below to obtain After MongoDB has finished deploying, you can access and administer it directly from the console. -1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Launch the [mongo shell](https://docs.mongodb.com/v4.4/mongo/) by running the following command. When prompted, enter the admin user password you set when creating this instance. @@ -150,5 +150,5 @@ For more information on access control and user management, as well as other tip For more on MongoDB, checkout the following guides: -- [Creating a MongoDB Replica Set](/cloud/guides/create-a-mongodb-replica-set/) -- [Building Database Clusters with MongoDB](/cloud/guides/build-database-clusters-with-mongodb/) +- [Creating a MongoDB Replica Set](/cloud/guides/create-a-mongodb-replica-set) +- [Building Database Clusters with MongoDB](/cloud/guides/build-database-clusters-with-mongodb) diff --git a/docs/marketplace-docs/guides/mongodb/index.md b/docs/marketplace-docs/guides/mongodb/index.md index 30f6196a38c..2baae70818d 100644 --- a/docs/marketplace-docs/guides/mongodb/index.md +++ b/docs/marketplace-docs/guides/mongodb/index.md @@ -54,7 +54,7 @@ MongoDB seeks to provide an alternative to traditional relational database manag After MongoDB has finished deploying, you can access and administer it directly from the console. -1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Launch the [mongo shell](https://docs.mongodb.com/v4.4/mongo/) by running the following command. When prompted, enter the admin user password you set when creating this instance. @@ -94,5 +94,5 @@ For more information on access control and user management, as well as other tip For more on MongoDB, checkout the following guides: -- [Creating a MongoDB Replica Set](/cloud/guides/create-a-mongodb-replica-set/) -- [Building Database Clusters with MongoDB](/cloud/guides/build-database-clusters-with-mongodb/) +- [Creating a MongoDB Replica Set](/cloud/guides/create-a-mongodb-replica-set) +- [Building Database Clusters with MongoDB](/cloud/guides/build-database-clusters-with-mongodb) diff --git a/docs/marketplace-docs/guides/moodle/index.md b/docs/marketplace-docs/guides/moodle/index.md index 2182d6dd4ec..d1f935fbea1 100644 --- a/docs/marketplace-docs/guides/moodle/index.md +++ b/docs/marketplace-docs/guides/moodle/index.md @@ -55,7 +55,7 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/mysql/index.md b/docs/marketplace-docs/guides/mysql/index.md index 52f0fcf1dc8..6d380c93bf7 100644 --- a/docs/marketplace-docs/guides/mysql/index.md +++ b/docs/marketplace-docs/guides/mysql/index.md @@ -53,7 +53,7 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: @@ -141,4 +141,4 @@ The standard tool for interacting with MySQL is the `mysql` client which install For more on MySQL/MariaDB, checkout the following guides: -- [MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) +- [MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu) diff --git a/docs/marketplace-docs/guides/neo4j/index.md b/docs/marketplace-docs/guides/neo4j/index.md index 3d30c088297..b5be9fbb348 100644 --- a/docs/marketplace-docs/guides/neo4j/index.md +++ b/docs/marketplace-docs/guides/neo4j/index.md @@ -58,7 +58,7 @@ When deployment completes, the system automatically generates and stores credent 1. Log in to your Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 2. Run the following command to access the contents of the `.credentials` file: @@ -71,7 +71,7 @@ Once your app has finished deploying, you can log into Neo4j UI using your brows 1. Open your web browser and navigate to `https://$DOMAIN$:7473/browser`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. -**Please Note** If you did not add your local IP to the allow list at the beginning of the deployment, you will need to add it to the firewall in order to access the UI. You can utilize [UFW firewall guide](/cloud/guides/configure-firewall-with-ufw/) to add your IP to the allow list. +**Please Note** If you did not add your local IP to the allow list at the beginning of the deployment, you will need to add it to the firewall in order to access the UI. You can utilize [UFW firewall guide](/cloud/guides/configure-firewall-with-ufw) to add your IP to the allow list. Log in using the credentials from the `/home/$USERNAME/.credentialsoffic` file. diff --git a/docs/marketplace-docs/guides/netfoundry/index.md b/docs/marketplace-docs/guides/netfoundry/index.md index 218a6873c89..dd25d0daddd 100644 --- a/docs/marketplace-docs/guides/netfoundry/index.md +++ b/docs/marketplace-docs/guides/netfoundry/index.md @@ -49,7 +49,7 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/nextcloud/index.md b/docs/marketplace-docs/guides/nextcloud/index.md index be117774f41..389b4e30e7d 100644 --- a/docs/marketplace-docs/guides/nextcloud/index.md +++ b/docs/marketplace-docs/guides/nextcloud/index.md @@ -92,5 +92,5 @@ After performing the [initial setup and configuration steps](#configure-nextclou {{% content "marketplace-update-note-shortguide" %}} -- [Configure Nextcloud to use Linode Object Storage as an External Storage Mount](/cloud/guides/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount/). You can use Object Storage as a secondary place to store your Nextcloud files. Using Linode Object Storage to store files prevents you from running out of storage space that is limited by your Linode's plan size. +- [Configure Nextcloud to use Linode Object Storage as an External Storage Mount](/cloud/guides/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount). You can use Object Storage as a secondary place to store your Nextcloud files. Using Linode Object Storage to store files prevents you from running out of storage space that is limited by your Linode's plan size. - Install the [Nextcloud desktop synchronization client](https://docs.nextcloud.com/desktop/2.3/installing.html) on a local computer to easily synchronize the desktop files to the Nextcloud server. \ No newline at end of file diff --git a/docs/marketplace-docs/guides/nodejs/index.md b/docs/marketplace-docs/guides/nodejs/index.md index 3f5a56f7ee1..16c16301984 100644 --- a/docs/marketplace-docs/guides/nodejs/index.md +++ b/docs/marketplace-docs/guides/nodejs/index.md @@ -48,13 +48,13 @@ The Node.js Quick Deploy App is running [Nginx](https://www.nginx.com/), [Node.j The Node.js sample application is stored in the `app.js` file within `/var/www/[domain]/`. -1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Navigate to the directory in which the application is stored: cd /var/www/[domain] -1. Open the sample application with your preferred command line text editor, such as [nano](/cloud/guides/use-nano-to-edit-files-in-linux/) or [vim](/cloud/guides/what-is-vi/). +1. Open the sample application with your preferred command line text editor, such as [nano](/cloud/guides/use-nano-to-edit-files-in-linux) or [vim](/cloud/guides/what-is-vi). nano app.js diff --git a/docs/marketplace-docs/guides/ollama/index.md b/docs/marketplace-docs/guides/ollama/index.md index 2cba478ad77..b16bafc833e 100644 --- a/docs/marketplace-docs/guides/ollama/index.md +++ b/docs/marketplace-docs/guides/ollama/index.md @@ -59,7 +59,7 @@ When deployment completes, the system generates the necessary environment config 1. Log in to your Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 2. Run the following command to access the contents of the `.credentials` file: diff --git a/docs/marketplace-docs/guides/openlitespeed-django/index.md b/docs/marketplace-docs/guides/openlitespeed-django/index.md index 3cb6a499c60..97370e20b11 100644 --- a/docs/marketplace-docs/guides/openlitespeed-django/index.md +++ b/docs/marketplace-docs/guides/openlitespeed-django/index.md @@ -47,7 +47,7 @@ The OpenLiteSpeed Django app automatically installs Linux, the performance web s ### Accessing the OpenLiteSpeed Django App -1. Log in to your Compute Instance over SSH, using the sudo user created during deployment or `root`. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. You should see output similar to the following: +1. Log in to your Compute Instance over SSH, using the sudo user created during deployment or `root`. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh) for assistance. You should see output similar to the following: ```output ********************************************************* @@ -67,7 +67,7 @@ The OpenLiteSpeed Django app automatically installs Linux, the performance web s 1. The Django page is automatically configured with the custom domain provided during deployment, or the default rDNS. {{< note >}} - For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview/) for general information about how DNS works. + For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview) for general information about how DNS works. {{< /note >}} Now that you’ve accessed your OpenLiteSpeed Django instance, check out [the official OpenLiteSpeed Django documentation](https://docs.litespeedtech.com/cloud/images/django/) for further configuration steps. diff --git a/docs/marketplace-docs/guides/openlitespeed-nodejs/index.md b/docs/marketplace-docs/guides/openlitespeed-nodejs/index.md index af55687242d..d8843b393ae 100644 --- a/docs/marketplace-docs/guides/openlitespeed-nodejs/index.md +++ b/docs/marketplace-docs/guides/openlitespeed-nodejs/index.md @@ -37,14 +37,14 @@ The OpenLiteSpeed Node.js One-Click app automatically installs the performance w ### Accessing the OpenLiteSpeed Node.js App 1. Log in to your Compute Instance over SSH. See [Connecting to a Remote Server Over SSH -](/cloud/guides/connect-to-server-over-ssh/) for assistance. You should see output similar to the following: +](/cloud/guides/connect-to-server-over-ssh) for assistance. You should see output similar to the following: ![OpenLiteSpeed Nose.js setup information](setupinfo-nodejs.png) 1. You are then prompted to enter the domain you'd like to use for this instance. You can optionally use a custom domain provided you've already configured the *A Records* to point to this server's IPv4 and IPv6 addresses. Otherwise, you can skip this by pressing *CTRL+C* which will use the IP address or default RDNS of the Compute Instance. {{< note >}} - For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview/) for general information about how DNS works. + For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview) for general information about how DNS works. {{< /note >}} Now that you’ve accessed your OpenLiteSpeed Node.js instance, check out [the official OpenLiteSpeed Node.js documentation](https://docs.litespeedtech.com/cloud/images/nodejs/) to learn how to further configure your OpenLiteSpeed Node.js instance. diff --git a/docs/marketplace-docs/guides/openlitespeed-rails/index.md b/docs/marketplace-docs/guides/openlitespeed-rails/index.md index ce5cbeaff5f..31cf6599a11 100644 --- a/docs/marketplace-docs/guides/openlitespeed-rails/index.md +++ b/docs/marketplace-docs/guides/openlitespeed-rails/index.md @@ -37,14 +37,14 @@ The OpenLiteSpeed Rails app automatically installs the performance web server Op ### Accessing the OpenLiteSpeed Rails App 1. Log in to your Compute Instance over SSH. See [Connecting to a Remote Server Over SSH -](/cloud/guides/connect-to-server-over-ssh/) for assistance. You should see output similar to the following: +](/cloud/guides/connect-to-server-over-ssh) for assistance. You should see output similar to the following: ![OpenLiteSpeed Rails setup information](setupinfo-rails.png) 1. You are then prompted to enter the domain you'd like to use for this instance. You can optionally use a custom domain provided you've already configured the *A Records* to point to this server's IPv4 and IPv6 addresses. Otherwise, you can skip this by pressing *CTRL+C* which will use the IP address or default RDNS of the Compute Instance. {{< note >}} - For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview/) for general information about how DNS works. + For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview) for general information about how DNS works. {{< /note >}} Now that you’ve accessed your OpenLiteSpeed Rails instance, check out [the official OpenLiteSpeed Rails documentation](https://docs.litespeedtech.com/cloud/images/rails/) to learn how to further configure your OpenLiteSpeed Rails instance. diff --git a/docs/marketplace-docs/guides/openlitespeed-wordpress/index.md b/docs/marketplace-docs/guides/openlitespeed-wordpress/index.md index 2a3de9b7052..4e01460a6c4 100644 --- a/docs/marketplace-docs/guides/openlitespeed-wordpress/index.md +++ b/docs/marketplace-docs/guides/openlitespeed-wordpress/index.md @@ -54,7 +54,7 @@ This Quick Deploy App installs the OpenLiteSpeed web server, WordPress, the Lite ## Getting Started After Deployment -Log in to your Compute Instance over SSH, using the `root` user or the sudo user created during deployment. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. Once logged in, you should see Message of the Day output which includes OpenLiteSpeed HTTPS URLs: +Log in to your Compute Instance over SSH, using the `root` user or the sudo user created during deployment. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh) for assistance. Once logged in, you should see Message of the Day output which includes OpenLiteSpeed HTTPS URLs: ```command cat /etc/motd @@ -107,7 +107,7 @@ Now that OpenLiteSpeed WordPress has been fully deployed, you can begin adding c - See the Linode tab at: https://docs.litespeedtech.com/cloud/images/wordpress/ - [WordPress Support](https://wordpress.org/support/): Learn the basic workflows for using WordPress. -- [Securing WordPress](/cloud/guides/how-to-secure-wordpress/): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. +- [Securing WordPress](/cloud/guides/how-to-secure-wordpress): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. - [WordPress Themes](https://wordpress.org/themes/#): A collection of *thousands* of WordPress themes. - [Quick Deploy Apps Repository](https://github.com/akamai-compute-marketplace/marketplace-apps): Review the deployment Ansible playbooks. diff --git a/docs/marketplace-docs/guides/openvpn/index.md b/docs/marketplace-docs/guides/openvpn/index.md index 97f273f05c2..e1575244d16 100644 --- a/docs/marketplace-docs/guides/openvpn/index.md +++ b/docs/marketplace-docs/guides/openvpn/index.md @@ -84,6 +84,6 @@ To obtain your OpenVPN password, run this command: ### Open a Connection to your VPN -To open a connection to your OpenVPN server from your computer, you'll need to install the OpenVPN client software. Follow the instructions in the [Client Software Installation](/cloud/guides/install-openvpn-access-server-on-linux/#client-software-installation) section of our [OpenVPN](/cloud/guides/install-openvpn-access-server-on-linux/#client-software-installation) guide for a detailed explanation of how to install and use this software. +To open a connection to your OpenVPN server from your computer, you'll need to install the OpenVPN client software. Follow the instructions in the [Client Software Installation](/cloud/guides/install-openvpn-access-server-on-linux#client-software-installation) section of our [OpenVPN](/cloud/guides/install-openvpn-access-server-on-linux#client-software-installation) guide for a detailed explanation of how to install and use this software. {{% content "marketplace-update-note-shortguide" %}} \ No newline at end of file diff --git a/docs/marketplace-docs/guides/owncast/index.md b/docs/marketplace-docs/guides/owncast/index.md index 01c4712994b..8fff381a91f 100644 --- a/docs/marketplace-docs/guides/owncast/index.md +++ b/docs/marketplace-docs/guides/owncast/index.md @@ -52,7 +52,7 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/percona-monitoring-management/index.md b/docs/marketplace-docs/guides/percona-monitoring-management/index.md index cb287c0ee15..fbd232cc3cf 100644 --- a/docs/marketplace-docs/guides/percona-monitoring-management/index.md +++ b/docs/marketplace-docs/guides/percona-monitoring-management/index.md @@ -90,8 +90,8 @@ After the [PMM Server](https://www.percona.com/doc/percona-monitoring-and-manage To begin monitoring a database node, you will need to install the [PMM Client](https://www.percona.com/doc/percona-monitoring-and-management/2.x/concepts/architecture.html#pmm-client) on the Linode that hosts your database and connect the node to the PMM Server. For instructions on setting up a database on Linode that you can connect to your PMM Server, see our guides on: -- [Deploying MySQL/MariaDB with Quick Deploy Apps](/cloud/marketplace-docs/guides/mysql/) -- [Deploying PostgreSQL with Quick Deploy Apps](/cloud/marketplace-docs/guides/postgresql/) +- [Deploying MySQL/MariaDB with Quick Deploy Apps](/cloud/marketplace-docs/guides/mysql) +- [Deploying PostgreSQL with Quick Deploy Apps](/cloud/marketplace-docs/guides/postgresql) {{< note >}} The PMM Server deployed with Linode's Percona (PMM) Quick Deploy App is compatible with [**PMM Client version 2**](https://www.percona.com/doc/percona-monitoring-and-management/2.x/index.html). diff --git a/docs/marketplace-docs/guides/pgvector/index.md b/docs/marketplace-docs/guides/pgvector/index.md index 85b48d1ec66..0ae97e15731 100644 --- a/docs/marketplace-docs/guides/pgvector/index.md +++ b/docs/marketplace-docs/guides/pgvector/index.md @@ -47,7 +47,7 @@ When deployment completes, the system automatically generates credentials to adm 1. Log in to your Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 2. Run the following command to access the contents of the `.credentials` file: diff --git a/docs/marketplace-docs/guides/pihole/index.md b/docs/marketplace-docs/guides/pihole/index.md index db79ec2ab50..0ab11462139 100644 --- a/docs/marketplace-docs/guides/pihole/index.md +++ b/docs/marketplace-docs/guides/pihole/index.md @@ -51,7 +51,7 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/plex/index.md b/docs/marketplace-docs/guides/plex/index.md index 4a8a3b63c3c..f9432292ecf 100644 --- a/docs/marketplace-docs/guides/plex/index.md +++ b/docs/marketplace-docs/guides/plex/index.md @@ -140,7 +140,7 @@ Media on your Volume is now accessible through the Plex web interface at the mou Your Plex Server is set up to access media files in the `~/plex/media` directory. You have many options for uploading or downloading media to your Plex Server. This section shows you how to organize and upload files to your Plex Server using the `scp` command. {{< note >}} -This section directs you to run commands either on your Plex Server Linode through an SSH connection as your [Limited User](#plex-options), or from the workstation [terminal](/cloud/guides/using-the-terminal/) where the media files you wish to upload are stored. +This section directs you to run commands either on your Plex Server Linode through an SSH connection as your [Limited User](#plex-options), or from the workstation [terminal](/cloud/guides/using-the-terminal) where the media files you wish to upload are stored. {{< /note >}} 1. On your Plex Server Linode, create a subdirectory within `~/plex/media` to store your media files. Plex recommends [organizing media by type](https://support.plex.tv/articles/naming-and-organizing-your-movie-media-files/), so pick a subdirectory name that matches the type of media you plan to upload. For example, to create a directory to store movie files, enter the following command: @@ -154,7 +154,7 @@ This section directs you to run commands either on your Plex Server Linode throu Depending on the files' size, this may take a few minutes. {{< note >}} - There are other ways to upload files to your Plex Server Linode. See our section in [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server) for more information. + There are other ways to upload files to your Plex Server Linode. See our section in [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics#upload-files-to-a-remote-server) for more information. {{< /note >}} ### Adding Media Libraries @@ -193,8 +193,8 @@ The Plex Quick Deploy App installs the following required software on your Linod | **Software** | **Description** | |:--------------|:------------| -| [**NGINX**](https://www.nginx.com/) | Open Source webserver and reverse proxy. See our guide on [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) for more information. | -| [**UFW**](https://wiki.ubuntu.com/UncomplicatedFirewall) | Firewall utility. Ports 22/tcp, 80/tcp, and 443/tcp for IPv4 and IPv6 are enabled with installation of this app. Additional ports must be opened to send email from your Linode for use with this app. To learn more, see [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). | +| [**NGINX**](https://www.nginx.com/) | Open Source webserver and reverse proxy. See our guide on [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup) for more information. | +| [**UFW**](https://wiki.ubuntu.com/UncomplicatedFirewall) | Firewall utility. Ports 22/tcp, 80/tcp, and 443/tcp for IPv4 and IPv6 are enabled with installation of this app. Additional ports must be opened to send email from your Linode for use with this app. To learn more, see [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw). | | [**Plex Media Server**](https://hub.docker.com/r/plexinc/pms-docker/) | The Plex Media Server transmits locally-stored media files, enabling you to stream your personal media collection to any device that can support a [Plex Client](https://www.plex.tv/apps-devices/). The Latest release in Plex's Public Main branch is installed by this deployment. | diff --git a/docs/marketplace-docs/guides/postgresql-cluster/index.md b/docs/marketplace-docs/guides/postgresql-cluster/index.md index c91fafb2408..7288b68b380 100644 --- a/docs/marketplace-docs/guides/postgresql-cluster/index.md +++ b/docs/marketplace-docs/guides/postgresql-cluster/index.md @@ -18,7 +18,7 @@ marketplace_app_name: "PostgreSQL Cluster" The PostgreSQL relational database system is a powerful, scalable, and standards-compliant open-source database platform. It is designed to handle a range of workloads, from single machines to data warehouses or Web services with many concurrent users. {{< note type="warning" title="Quick Deploy App Cluster Notice" >}} -This Quick Deploy App deploys 3 Compute Instances to create a highly available and redundant PostgreSQL cluster, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy PostgreSQL on a single Compute Instance, see [Deploy PostgreSQL](/cloud/marketplace-docs/guides/postgresql/). +This Quick Deploy App deploys 3 Compute Instances to create a highly available and redundant PostgreSQL cluster, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy PostgreSQL on a single Compute Instance, see [Deploy PostgreSQL](/cloud/marketplace-docs/guides/postgresql). {{< /note >}} ## Deploying a Quick Deploy App @@ -56,7 +56,7 @@ This Quick Deploy App deploys 3 Compute Instances to create a highly available a After your cluster has been fully provisioned, use the instructs below to obtain and save passwords that were generated on your behalf during deployment. -1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. +1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. 1. The passwords have been saved in a `.deployment-secrets.txt` file located in your user's home directory. You can view this file in your preferred text editor or through the `cat` command. In the command below, replace *[username]* with the limited sudo user you created during deployment. @@ -198,4 +198,4 @@ The example commands in this section should be run as the `postgres` Linux user. For more on PostgreSQL, checkout the following guides: -- [Securely Manage Remote PostgreSQL Servers](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) diff --git a/docs/marketplace-docs/guides/postgresql/index.md b/docs/marketplace-docs/guides/postgresql/index.md index 8909292a04b..f07592a3abe 100644 --- a/docs/marketplace-docs/guides/postgresql/index.md +++ b/docs/marketplace-docs/guides/postgresql/index.md @@ -50,7 +50,7 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: @@ -150,4 +150,4 @@ The example commands in this section should be run as the `postgres` Linux user. For more on PostgreSQL, checkout the following guides: -- [Securely Manage Remote PostgreSQL Servers](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x) diff --git a/docs/marketplace-docs/guides/pritunl/index.md b/docs/marketplace-docs/guides/pritunl/index.md index 5f5596a033b..ceb655e062e 100644 --- a/docs/marketplace-docs/guides/pritunl/index.md +++ b/docs/marketplace-docs/guides/pritunl/index.md @@ -52,7 +52,7 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/prometheus-grafana/index.md b/docs/marketplace-docs/guides/prometheus-grafana/index.md index 0196d0c5215..f5296ad6176 100644 --- a/docs/marketplace-docs/guides/prometheus-grafana/index.md +++ b/docs/marketplace-docs/guides/prometheus-grafana/index.md @@ -87,7 +87,7 @@ Once the app has been *fully* deployed, you need to obtain the credentials from 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. Log in as the `root` user. See [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH:** Log in to your Compute Instance over SSH using the `root` user, or with the sudo user created during deployment. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. + - **SSH:** Log in to your Compute Instance over SSH using the `root` user, or with the sudo user created during deployment. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh) for assistance. 1. Once logged in, find the URLs and credential files listed in the MOTD: diff --git a/docs/marketplace-docs/guides/qwen/index.md b/docs/marketplace-docs/guides/qwen/index.md index 807eadf151f..d3cd9da7497 100644 --- a/docs/marketplace-docs/guides/qwen/index.md +++ b/docs/marketplace-docs/guides/qwen/index.md @@ -61,7 +61,7 @@ When deployment completes, the system automatically generates credentials to adm 1. Log in to your Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 2. Run the following command to access the contents of the `.credentials` file: diff --git a/docs/marketplace-docs/guides/rabbitmq/index.md b/docs/marketplace-docs/guides/rabbitmq/index.md index 8bcb3e0148d..40899268c12 100644 --- a/docs/marketplace-docs/guides/rabbitmq/index.md +++ b/docs/marketplace-docs/guides/rabbitmq/index.md @@ -57,7 +57,7 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/redis-cluster/index.md b/docs/marketplace-docs/guides/redis-cluster/index.md index b254ec9fd63..0f5bcb026b0 100644 --- a/docs/marketplace-docs/guides/redis-cluster/index.md +++ b/docs/marketplace-docs/guides/redis-cluster/index.md @@ -18,7 +18,7 @@ marketplace_app_name: "Redis Sentinel" [Redis](https://redis.io/) is an open-source, in-memory, data-structure store, with the optional ability to write and persist data to a disk, which can be used as a key-value database, cache, and message broker. Redis features built-in transactions, replication, and support for a variety of data structures such as strings, hashes, lists, sets, and others. {{< note type="warning" title="Quick Deploy App Cluster Notice" >}} -This Quick Deploy App deploys 3 or 5 Compute Instances to create a highly available and redundant Redis cluster using Redis Sentinel, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy Redis on a single Compute Instance, see [Deploy Redis](/cloud/marketplace-docs/guides/redis/). +This Quick Deploy App deploys 3 or 5 Compute Instances to create a highly available and redundant Redis cluster using Redis Sentinel, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy Redis on a single Compute Instance, see [Deploy Redis](/cloud/marketplace-docs/guides/redis). {{< /note >}} ## Deploying a Quick Deploy App @@ -66,7 +66,7 @@ The following fields are used when creating your self-signed TLS/SSL certificate After your cluster has been fully provisioned, use the instructs below to obtain and save passwords that were generated on your behalf during deployment. -1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. +1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. 1. The passwords have been saved in a `.deployment-secrets.txt` file located in your user's home directory. You can view this file in your preferred text editor or through the `cat` command. In the command below, replace *[username]* with the limited sudo user you created during deployment. @@ -91,7 +91,7 @@ After your cluster has been fully provisioned, use the instructs below to obtain ### Access the Redis CLI -1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) using either the `root` user or limited user and the associated password you entered when creating the instance. +1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh) using either the `root` user or limited user and the associated password you entered when creating the instance. 1. To use the redis-cli, run either of the commands below: diff --git a/docs/marketplace-docs/guides/redis/index.md b/docs/marketplace-docs/guides/redis/index.md index 716b31db444..6b098e060a5 100644 --- a/docs/marketplace-docs/guides/redis/index.md +++ b/docs/marketplace-docs/guides/redis/index.md @@ -68,7 +68,7 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/rocketchat/index.md b/docs/marketplace-docs/guides/rocketchat/index.md index afbf475c825..b3d516de285 100644 --- a/docs/marketplace-docs/guides/rocketchat/index.md +++ b/docs/marketplace-docs/guides/rocketchat/index.md @@ -51,7 +51,7 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/ruby-on-rails/index.md b/docs/marketplace-docs/guides/ruby-on-rails/index.md index 2121516279c..45d9db7f601 100644 --- a/docs/marketplace-docs/guides/ruby-on-rails/index.md +++ b/docs/marketplace-docs/guides/ruby-on-rails/index.md @@ -55,7 +55,7 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: @@ -74,7 +74,7 @@ The Ruby on Rails Quick Deploy App is running [Nginx](https://www.nginx.com/), [ The Ruby on Rails sample application can be found in the `/var/www/$APPNAME` directory. -1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Go to the directory in which the application is stored, by running the following command: diff --git a/docs/marketplace-docs/guides/secure-your-server/index.md b/docs/marketplace-docs/guides/secure-your-server/index.md index 60dbdfcab0f..fa5b6c3f2c6 100644 --- a/docs/marketplace-docs/guides/secure-your-server/index.md +++ b/docs/marketplace-docs/guides/secure-your-server/index.md @@ -13,7 +13,7 @@ marketplace_app_id: 692092 marketplace_app_name: "Secure Your Server" --- -This Quick Deploy App automatically configures a new Compute Instance with a limited user account and other best practices discussed in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. It also configures a basic firewall through [UFW](/cloud/guides/configure-firewall-with-ufw/) and enables [Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +This Quick Deploy App automatically configures a new Compute Instance with a limited user account and other best practices discussed in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. It also configures a basic firewall through [UFW](/cloud/guides/configure-firewall-with-ufw) and enables [Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial). ## Deploying a Quick Deploy App diff --git a/docs/marketplace-docs/guides/shadowsocks/index.md b/docs/marketplace-docs/guides/shadowsocks/index.md index 8d89899d45c..47e4ce29a2a 100644 --- a/docs/marketplace-docs/guides/shadowsocks/index.md +++ b/docs/marketplace-docs/guides/shadowsocks/index.md @@ -44,7 +44,7 @@ Shadowsocks is a lightweight SOCKS5 web proxy tool primarily used to bypass netw Once the Shadowsocks server is up and running, you must install the [Shadowsocks Client](https://shadowsocks.org/en/download/clients.html) on any device or devices that you'd like to have connect to the service. There are currently client services available for [Windows](https://github.com/shadowsocks/shadowsocks-windows/releases), [Mac OS X](https://github.com/Jigsaw-Code/outline-client/), [Linux](https://github.com/Jigsaw-Code/outline-client/), [Android](https://play.google.com/store/apps/details?id=com.github.shadowsocks), and [iOS](http://apt.thebigboss.org/onepackage.php?bundleid=com.linusyang.shadowsocks). -For a full set of instructions on how to install Shadowsocks on Windows and Mac OS X, see the [Install a Shadowsocks Client](/cloud/guides/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/#install-a-shadowsocks-client) section of our guide for [Creating a Shadowsocks Server Manually](/cloud/guides/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/). +For a full set of instructions on how to install Shadowsocks on Windows and Mac OS X, see the [Install a Shadowsocks Client](/cloud/guides/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7#install-a-shadowsocks-client) section of our guide for [Creating a Shadowsocks Server Manually](/cloud/guides/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7). When the client has completed the installation process, ensure that you're setting up your client to connect using the following unique information: diff --git a/docs/marketplace-docs/guides/team-fortress-2/index.md b/docs/marketplace-docs/guides/team-fortress-2/index.md index a4364f299b2..b9cbba7d9f4 100644 --- a/docs/marketplace-docs/guides/team-fortress-2/index.md +++ b/docs/marketplace-docs/guides/team-fortress-2/index.md @@ -15,7 +15,7 @@ contributors: ["Akamai"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- {{< note type="warning" title="This app is no longer available for deployment" >}} -Team Fortress 2 has been removed from Quick Deploy Apps and can no longer be deployed. This guide is retained for reference only. For information on how to deploy and set up Team Fortress 2 manually on a Compute Instance, see our [Team Fortress 2 on Debian and Ubuntu](/cloud/guides/team-fortress2-on-debian-and-ubuntu/) guide. +Team Fortress 2 has been removed from Quick Deploy Apps and can no longer be deployed. This guide is retained for reference only. For information on how to deploy and set up Team Fortress 2 manually on a Compute Instance, see our [Team Fortress 2 on Debian and Ubuntu](/cloud/guides/team-fortress2-on-debian-and-ubuntu) guide. {{< /note >}} Team Fortress 2 (TF2) is a team-based multiplayer first-person shooter game. In TF2, you and your team choose from 9 unique classes and play against an enemy team in a variety of game modes. These modes include capture the flag, king of the hill, and even a battle pitting your team against a robotic horde. diff --git a/docs/marketplace-docs/guides/terraria/index.md b/docs/marketplace-docs/guides/terraria/index.md index df22351df7a..e1f8c2b7029 100644 --- a/docs/marketplace-docs/guides/terraria/index.md +++ b/docs/marketplace-docs/guides/terraria/index.md @@ -17,7 +17,7 @@ contributors: ["Akamai"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- {{< note type="warning" title="This app is no longer available for deployment" >}} -Terraria has been removed from Quick Deploy Apps and can no longer be deployed. This guide is retained for reference only. For information on how to deploy and set up Terraria manually on a Compute Instance, see our [How to Setup a Terraria Linux Server](/cloud/guides/host-a-terraria-server-on-your-linode/) guide. +Terraria has been removed from Quick Deploy Apps and can no longer be deployed. This guide is retained for reference only. For information on how to deploy and set up Terraria manually on a Compute Instance, see our [How to Setup a Terraria Linux Server](/cloud/guides/host-a-terraria-server-on-your-linode) guide. {{< /note >}} Terraria is a two-dimensional sandbox game in which players explore the world, collect resources, build structures, and battle enemies in procedurally generated environments. In Terraria a player begins by digging for ore, and the further they dig the more adventure they find. Multiplayer mode can be either cooperative or PvP. diff --git a/docs/marketplace-docs/guides/uptime-kuma/index.md b/docs/marketplace-docs/guides/uptime-kuma/index.md index 849b8799da3..4180b90f0cf 100644 --- a/docs/marketplace-docs/guides/uptime-kuma/index.md +++ b/docs/marketplace-docs/guides/uptime-kuma/index.md @@ -52,7 +52,7 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/valheim/index.md b/docs/marketplace-docs/guides/valheim/index.md index 92174e0f69f..039874b1b0d 100644 --- a/docs/marketplace-docs/guides/valheim/index.md +++ b/docs/marketplace-docs/guides/valheim/index.md @@ -50,7 +50,7 @@ Install Valheim on Linode with the Valheim Game Server Quick Deploy App to maxim #### SSH Options (Optional) -- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/cloud/guides/use-public-key-authentication-with-ssh/) for instructions on generating a key pair. +- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/cloud/guides/use-public-key-authentication-with-ssh) for instructions on generating a key pair. - **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes* (recommended). You can still switch to the root user once logged in and you can also log in as root through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). {{% content "marketplace-special-character-limitations-shortguide" %}} diff --git a/docs/marketplace-docs/guides/virtualmin/index.md b/docs/marketplace-docs/guides/virtualmin/index.md index 99b82be3a12..c2eef34a2e6 100644 --- a/docs/marketplace-docs/guides/virtualmin/index.md +++ b/docs/marketplace-docs/guides/virtualmin/index.md @@ -48,12 +48,12 @@ Virtualmin has been removed from the App Quick Deploy App and can no longer be d #### Additional Security Configuration - **Configure automatic security updates?** Select **Yes** to enable automatic security updates for your Linode. -- **Use fail2ban to prevent automated instrusion attempts?** Select **Yes** to enable [SSH login protection with Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/) as an additional security measure. +- **Use fail2ban to prevent automated instrusion attempts?** Select **Yes** to enable [SSH login protection with Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial) as an additional security measure. {{% content "marketplace-custom-domain-fields-shortguide" %}} - **SOA Email for your domain** The email address to register as your Start of Authority (SOA). This field is required for creating DNS records for a new domain. -- **Do you need an MX record for this domain?** Select **Yes** to automatically configure an [MX record](/cloud/guides/dns-overview/#mx) for the purpose of sending emails from your instance. -- **Do you need an SPF record for this domain?** Select **Yes** to automatically configure an [SPF record](/cloud/guides/dns-overview/#spf) for the purpose of sending emails from your instance. +- **Do you need an MX record for this domain?** Select **Yes** to automatically configure an [MX record](/cloud/guides/dns-overview#mx) for the purpose of sending emails from your instance. +- **Do you need an SPF record for this domain?** Select **Yes** to automatically configure an [SPF record](/cloud/guides/dns-overview#spf) for the purpose of sending emails from your instance. {{% content "marketplace-special-character-limitations-shortguide" %}} diff --git a/docs/marketplace-docs/guides/vscode/index.md b/docs/marketplace-docs/guides/vscode/index.md index 52c581a1e29..353b6dec020 100644 --- a/docs/marketplace-docs/guides/vscode/index.md +++ b/docs/marketplace-docs/guides/vscode/index.md @@ -53,7 +53,7 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/weaviate/index.md b/docs/marketplace-docs/guides/weaviate/index.md index f6d35b388cd..94b33cb2f8f 100644 --- a/docs/marketplace-docs/guides/weaviate/index.md +++ b/docs/marketplace-docs/guides/weaviate/index.md @@ -46,7 +46,7 @@ Weaviate should be fully installed within 5-10 minutes after your instance has f Weaviate is a database service accessed programmatically through its API rather than through a web-based user interface. Your deployment includes two API keys stored in a credentials file. -1. Log in to your instance via SSH or Lish. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance, or use the [Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to your instance via SSH or Lish. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh) for assistance, or use the [Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Once logged in, retrieve your API keys from the `.credentials` file: diff --git a/docs/marketplace-docs/guides/webmin/index.md b/docs/marketplace-docs/guides/webmin/index.md index cc46e34315a..fe6a397d819 100644 --- a/docs/marketplace-docs/guides/webmin/index.md +++ b/docs/marketplace-docs/guides/webmin/index.md @@ -49,12 +49,12 @@ Webmin has been removed from Quick Deploy Apps and can no longer be deployed. Th #### Additional Security Configuration - **Configure automatic security updates?** Select **Yes** to enable automatic security updates for your Linode. -- **Use fail2ban to prevent automated instrusion attempts?** Select **Yes** to enable [SSH login protection with Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/) as an additional security measure. +- **Use fail2ban to prevent automated instrusion attempts?** Select **Yes** to enable [SSH login protection with Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial) as an additional security measure. {{% content "marketplace-custom-domain-fields-shortguide" %}} - **SOA Email for your domain** The email address to register as your Start of Authority (SOA). This field is required for creating DNS records for a new domain. -- **Do you need an MX record for this domain?** Select **Yes** to automatically configure an [MX record](/cloud/guides/dns-overview/#mx) for the purpose of sending emails from your instance. -- **Do you need an SPF record for this domain?** Select **Yes** to automatically configure an [SPF record](/cloud/guides/dns-overview/#spf) for the purpose of sending emails from your instance. +- **Do you need an MX record for this domain?** Select **Yes** to automatically configure an [MX record](/cloud/guides/dns-overview#mx) for the purpose of sending emails from your instance. +- **Do you need an SPF record for this domain?** Select **Yes** to automatically configure an [SPF record](/cloud/guides/dns-overview#spf) for the purpose of sending emails from your instance. {{% content "marketplace-special-character-limitations-shortguide" %}} diff --git a/docs/marketplace-docs/guides/woocommerce/index.md b/docs/marketplace-docs/guides/woocommerce/index.md index e6642222182..ebbb85a4c68 100644 --- a/docs/marketplace-docs/guides/woocommerce/index.md +++ b/docs/marketplace-docs/guides/woocommerce/index.md @@ -67,7 +67,7 @@ Once the app has been *fully* deployed, you need to obtain the credentials from 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. Log in as the `root` user. See [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH:** Log in to your Compute Instance over SSH using the `root` user. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. + - **SSH:** Log in to your Compute Instance over SSH using the `root` user. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh) for assistance. 1. Once logged in, access the credentials file by running the following command: @@ -118,7 +118,7 @@ Open a web browser and navigate to `http://[domain]`, replacing *[domain]* with Now that your WordPress installation is deployed, you can start adding content and modifying it to suit your needs. Here are a few links to help get you started: - [WordPress Support](https://wordpress.org/support/): Learn the basic workflows for using WordPress. -- [Securing WordPress](/cloud/guides/how-to-secure-wordpress/): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. +- [Securing WordPress](/cloud/guides/how-to-secure-wordpress): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. - [WordPress Themes](https://wordpress.org/themes/#): A collection of *thousands* of WordPress themes. - [Quick Deploy Apps Repository](https://github.com/akamai-compute-marketplace/marketplace-apps): Review the deployment Ansible playbooks. diff --git a/docs/marketplace-docs/guides/wordpress/index.md b/docs/marketplace-docs/guides/wordpress/index.md index edb8939b224..b8218d0237a 100644 --- a/docs/marketplace-docs/guides/wordpress/index.md +++ b/docs/marketplace-docs/guides/wordpress/index.md @@ -61,7 +61,7 @@ Once the app has been *fully* deployed, you need to obtain the credentials from 1. Log in to your new Compute Instance using one of the methods below: - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. Log in as the `root` user. See [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - - **SSH:** Log in to your Compute Instance over SSH using the `root` user. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. + - **SSH:** Log in to your Compute Instance over SSH using the `root` user. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh) for assistance. 1. Once logged in, access the credentials file by running the following command: @@ -97,7 +97,7 @@ Open a web browser and navigate to `https://[domain]`, replacing *[domain]* with If you didn't set up a domain during the deployment process, you can add it manually following the instructions in this section. Before beginning, make sure you have a registered domain name. -1. Within the *name servers* for your domain name, create an [*A record*](/cloud/guides/dns-overview/#a-and-aaaa). The *hostname* / *name* field should be *@* for a bare domain (`example.tld`) or should specify the subdomain you wish to use, such as *app* for `app.example.tld`. It's common to create two A records, one using *@* and one using *www*. The IP address should be the IPv4 address of your new Compute Instance. If you do not have a name server, consider using Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). +1. Within the *name servers* for your domain name, create an [*A record*](/cloud/guides/dns-overview#a-and-aaaa). The *hostname* / *name* field should be *@* for a bare domain (`example.tld`) or should specify the subdomain you wish to use, such as *app* for `app.example.tld`. It's common to create two A records, one using *@* and one using *www*. The IP address should be the IPv4 address of your new Compute Instance. If you do not have a name server, consider using Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). 1. Update WordPress so that it uses your new domain name. This can be done directly in the WordPress Admin panel or through the command line. See [Changing The Site URL](https://wordpress.org/support/article/changing-the-site-url/) to learn more. @@ -117,7 +117,7 @@ If you didn't set up a domain during the deployment process, you can add it manu If you need to reset your admin user's password and you aren't receiving the password reset request email, you can update the password from command line. This method also lets you update the email address for your admin account without needing an email confirmation. -1. Log in to the Compute Instance using [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). +1. Log in to the Compute Instance using [SSH](/cloud/guides/connect-to-server-over-ssh) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Navigate to the `public_html` directory of your WordPress installation:. @@ -144,7 +144,7 @@ If you need to reset your admin user's password and you aren't receiving the pas Now that your WordPress installation is deployed, you can start adding content and modifying it to suit your needs. Here are a few links to help get you started: - [WordPress Support](https://wordpress.org/support/): Learn the basic workflows for using WordPress. -- [Securing WordPress](/cloud/guides/how-to-secure-wordpress/): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. +- [Securing WordPress](/cloud/guides/how-to-secure-wordpress): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. - [WordPress Themes](https://wordpress.org/themes/#): A collection of *thousands* of WordPress themes. - [Quick Deploy Apps Repository](https://github.com/akamai-compute-marketplace/marketplace-apps): Review the deployment Ansible playbooks. diff --git a/docs/reference-architecture/auto-scaling-prometheus/_index.md b/docs/reference-architecture/auto-scaling-prometheus/_index.md index 531f2f6a10e..7c0b0c093d3 100644 --- a/docs/reference-architecture/auto-scaling-prometheus/_index.md +++ b/docs/reference-architecture/auto-scaling-prometheus/_index.md @@ -11,7 +11,7 @@ tab_group_main: ## Abstract -This abstract provides a concrete example of how to autoscale a generic, highly available application runtime running on Compute Instances using Prometheus and a Jenkins CI/CD pipeline. For an introduction to CI/CD pipelines and use cases see [Introduction to Continuous Integration and Continuous Delivery (CI/CD)](/cloud/guides/introduction-ci-cd/). +This abstract provides a concrete example of how to autoscale a generic, highly available application runtime running on Compute Instances using Prometheus and a Jenkins CI/CD pipeline. For an introduction to CI/CD pipelines and use cases see [Introduction to Continuous Integration and Continuous Delivery (CI/CD)](/cloud/guides/introduction-ci-cd). Cloud-based highly available workloads often need to scale horizontally when faced with periods of high demand, which can include traffic bursts based on marketing campaigns, new product launches, industry-based cyclical usage patterns, or unanticipated demand. Regardless of the reason, having the flexibility to reduce your costs when traffic is low, while also having the capability to expand your workload capacity on-demand, can be critical to customer satisfaction, your reputation, and your bottom line. This reference architecture demonstrates how to scale your workloads up or down within Akamai Cloud using Compute Instances hosting your application runtime. @@ -19,7 +19,7 @@ Cloud-based highly available workloads often need to scale horizontally when fac !["Traditional implementation"](traditional-cloud-build-implementation.png) -Figure 1 illustrates a common highly available application runtime that includes a delivery pipeline for developers to build the application, integration with [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary) through our [Terraform provider](https://registry.terraform.io/namespaces/linode), [Ansible community package](https://github.com/linode/ansible_linode), or [Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/cli-1). The system baseline illustrated here uses GitHub for source control management (although GitLab, Bitbucket, or other SCMs that Jenkins supports would work as well), Jenkins deployed on Compute Instances (Linode virtual machines), and using Object Storage as a artifact repository. For additional practical details on setting Jenkins up, see How to [Automate Builds with Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/). +Figure 1 illustrates a common highly available application runtime that includes a delivery pipeline for developers to build the application, integration with [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary) through our [Terraform provider](https://registry.terraform.io/namespaces/linode), [Ansible community package](https://github.com/linode/ansible_linode), or [Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/cli-1). The system baseline illustrated here uses GitHub for source control management (although GitLab, Bitbucket, or other SCMs that Jenkins supports would work as well), Jenkins deployed on Compute Instances (Linode virtual machines), and using Object Storage as a artifact repository. For additional practical details on setting Jenkins up, see How to [Automate Builds with Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu). This use case assumes a web service deployed in a highly available configuration as shown in Figure 1, with at least two web servers behind a traffic manager. This example uses a NodeBalancer as a ingress proxy and Compute Instances for compute running the application. In summary, this baseline example illustrates the capability to maintain a typical application lifecycle with the tools shown. diff --git a/docs/reference-architecture/cloud-based-document-management-system/_index.md b/docs/reference-architecture/cloud-based-document-management-system/_index.md index 4f9f782618d..5edd4c1f136 100644 --- a/docs/reference-architecture/cloud-based-document-management-system/_index.md +++ b/docs/reference-architecture/cloud-based-document-management-system/_index.md @@ -53,4 +53,4 @@ The PostgreSQL databases are implemented as an active-active cluster, using [Buc ## Diagrams -[![Thumbnail of Cloud-base document management system reference architecture](document-management-diagram-thumbnail.png)](/cloud/reference-architecture/cloud-based-document-management-system/diagrams/) \ No newline at end of file +[![Thumbnail of Cloud-base document management system reference architecture](document-management-diagram-thumbnail.png)](/cloud/reference-architecture/cloud-based-document-management-system/diagrams) \ No newline at end of file diff --git a/docs/reference-architecture/cloud-based-document-management-system/guides/implementing-cloud-based-document-management-system/index.md b/docs/reference-architecture/cloud-based-document-management-system/guides/implementing-cloud-based-document-management-system/index.md index 6b928a7b62e..0056d4f5258 100644 --- a/docs/reference-architecture/cloud-based-document-management-system/guides/implementing-cloud-based-document-management-system/index.md +++ b/docs/reference-architecture/cloud-based-document-management-system/guides/implementing-cloud-based-document-management-system/index.md @@ -22,7 +22,7 @@ Follow along to fully provision your own production-ready and highly available d Numerous cloud EDMS services exist to handle document management. However, these may not meet your individual needs, especially as your number of documents increases. Implementing your own cloud-based document management system can provide a solution more fit to your particular needs. The architecture for a cloud-based document management system outlined here aims to be a strong base for that. The result is a highly available system that leverages technologies like Linode's Cloud Firewall and VLANs to ensure secure and efficient communication between nodes. -The best way to learn more about the architecture and what it offers is our overview documentation for [Redundant Cross-Datacenter Applications](/cloud/reference-architecture/redundant-cross-datacenter-applications/). You may also be interested in reading our blog post, [Highly Available Mayan EDMS Reference Architecture](https://www.linode.com/blog/databases/deploy-a-cloud-based-electronic-document-management-system/). +The best way to learn more about the architecture and what it offers is our overview documentation for [Redundant Cross-Datacenter Applications](/cloud/reference-architecture/redundant-cross-datacenter-applications). You may also be interested in reading our blog post, [Highly Available Mayan EDMS Reference Architecture](https://www.linode.com/blog/databases/deploy-a-cloud-based-electronic-document-management-system/). ## How to Provision a Cloud-based Document Management System @@ -40,7 +40,7 @@ Before you get started provisioning the architecture, you need to prepare the fo Install Terraform by following the [official installation guide](https://learn.hashicorp.com/tutorials/terraform/install-cli). This sets you up with the Terraform command line interface (CLI). - You can learn more about using Terraform, particularly for provisioning Linode instances, in our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/). + You can learn more about using Terraform, particularly for provisioning Linode instances, in our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform). - A domain name set up for use with your cloud-based document management system. Linode does not provide domain names, but Linode does employ DNS servers. These allow you to manage your domain name within the Linode Cloud Manager. More importantly for this tutorial, using Linode's DNS servers allows for the Certbot `dns_linode` plugin. This automates the process of procuring SSL certificates, which allows the Terraform process to completely handle the SSL setup. @@ -95,7 +95,7 @@ On Linux systems, you may need to install `unzip` in order to unzip the package. - `WEBMASTER_EMAIL_ADDRESS` should be the email address to be associated with the application. Specifically, this email address is used for registering an SSL certificate. {{< note type="warning" >}} - Sensitive infrastructure data, such as passwords and tokens, are visible in plain text within the `terraform.tfvars` file. Review [Secrets Management with Terraform](/cloud/applications/configuration-management/secrets-management-with-terraform/#how-to-manage-your-state-file) for guidance on how to secure these secrets. + Sensitive infrastructure data, such as passwords and tokens, are visible in plain text within the `terraform.tfvars` file. Review [Secrets Management with Terraform](/cloud/applications/configuration-management/secrets-management-with-terraform#how-to-manage-your-state-file) for guidance on how to secure these secrets. {{< /note >}} 1. The Terraform script assumes that you have an SSH public key file stored at `~/.ssh/id_rsa.pub`. If this is not the case, add an `ssh_key` field to the `terraform.tfvars` file, and give it a string value designating the location of your SSH public key. @@ -106,7 +106,7 @@ On Linux systems, you may need to install `unzip` in order to unzip the package. ssh_key = "~/id_rsa.pub" ``` - Learn more about SSH public keys in our tutorial [How to Use SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) + Learn more about SSH public keys in our tutorial [How to Use SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh) 1. Initialize the Terraform project. Doing so has Terraform download the necessary provisions for deploying the infrastructure. @@ -178,9 +178,9 @@ Otherwise, follow the steps given below. Since there is bi-directional replicati 1. Access the shell as a root user on one of your application nodes. You can do this either through SSH using the node's IP address or through the Linode Shell (Lish) console in the Linode Cloud Manager. - - For SSH, see our guide on [Connection to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). + - For SSH, see our guide on [Connection to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh). - - For the Lish console, see our guide [Access Your System Console Using Lish](/cloud/guides/lish/). + - For the Lish console, see our guide [Access Your System Console Using Lish](/cloud/guides/lish). 1. Once logged in as root, execute the following command: @@ -214,7 +214,7 @@ This architecture uses Prometheus for collecting metrics about the Mayan nodes a Prometheus and Grafana get their own node in the architecture. Deploying that node is a straightforward process through Akamai Quick Deploy Apps. -1. Follow our guide on [Deploying Prometheus and Grafana through Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/prometheus-grafana/) to get your Prometheus-Grafana node up and running. +1. Follow our guide on [Deploying Prometheus and Grafana through Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/prometheus-grafana) to get your Prometheus-Grafana node up and running. Be sure, when creating the instance, to add the VLAN created during the Terraform process. This VLAN should have a name like `vlan-us-southeast-1`. If you changed the region for the Terraform script, replace `us-southeast` in this example with the region you selected. @@ -273,7 +273,7 @@ With your NodeBalancer established, you can have the Linode DNS name servers poi To complete this setup, you need to add an **A/AAAA** record for the domain name, with the record pointing to the IP address of the NodeBalancer. Follow our guide on how to [Manage DNS Records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records#add-or-edit-a-dns-record) for steps to do so. You need to have your domain name set up in the Linode Cloud Manager, as indicated towards the beginning of this tutorial. -You can learn more about DNS records through our guide [Overview of DNS and DNS Records](/cloud/guides/dns-overview/#a-and-aaaa). +You can learn more about DNS records through our guide [Overview of DNS and DNS Records](/cloud/guides/dns-overview#a-and-aaaa). ### Cloud Firewalls diff --git a/docs/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/_index.md b/docs/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/_index.md index f47cc46f590..b0168647662 100644 --- a/docs/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/_index.md +++ b/docs/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/_index.md @@ -39,4 +39,4 @@ In this example, the main bottleneck is the */notifications* endpoint of a mobil ## Diagrams -[![Thumbnail of the horizontally scaling high-traffic application reference architecture](ha-scaling-diagram-thumbnail.png)](/cloud/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/diagrams/) \ No newline at end of file +[![Thumbnail of the horizontally scaling high-traffic application reference architecture](ha-scaling-diagram-thumbnail.png)](/cloud/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/diagrams) \ No newline at end of file diff --git a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/_index.md b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/_index.md index 534c663eb74..2157178f60b 100644 --- a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/_index.md +++ b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/_index.md @@ -31,6 +31,6 @@ This reference architecture showcases a [Jenkins](https://www.jenkins.io/) CI/CD ## Diagrams -[![Thumbnail of Jenkins pipeline example reference architecture](jenkins-pipeline-diagram-thumnail-1.png)](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/diagrams/#jenkins-pipeline) +[![Thumbnail of Jenkins pipeline example reference architecture](jenkins-pipeline-diagram-thumnail-1.png)](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/diagrams#jenkins-pipeline) -[![Thumbnail of entire CI/CD reference architecture](jenkins-cicd-diagram-thumnail.png)](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/diagrams/#cicd-infrastructure) \ No newline at end of file +[![Thumbnail of entire CI/CD reference architecture](jenkins-cicd-diagram-thumnail.png)](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/diagrams#cicd-infrastructure) \ No newline at end of file diff --git a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/_index.md b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/_index.md index 0ccba140074..aba9459ab81 100644 --- a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/_index.md +++ b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/_index.md @@ -9,4 +9,4 @@ tab_group_main: weight: 30 --- -- [How to Implement Jenkins CI/CD on Linode to Any Hyperscaler](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd/) \ No newline at end of file +- [How to Implement Jenkins CI/CD on Linode to Any Hyperscaler](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd) \ No newline at end of file diff --git a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd/index.md b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd/index.md index eacce6ba4ab..75bef655dff 100644 --- a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd/index.md +++ b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd/index.md @@ -13,7 +13,7 @@ external_resources: With Jenkins, you can implement a robust continuous integration and continuous delivery (CI/CD) setup for automating application builds, tests, and deployments. Linode's Jenkins CI/CD reference architecture ensures a scalable setup capable of deploying applications to Linode or any of many other hosting providers. -Get started by taking a look at the overview and diagrams for the architecture in our [Jenkins CI/CD on Linode to Any Hyperscaler](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/). +Get started by taking a look at the overview and diagrams for the architecture in our [Jenkins CI/CD on Linode to Any Hyperscaler](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler). The present tutorial walks you through a complete implementation of our Jenkins CI/CD architecture. Throughout, follow along to provision the base setup and see extensive examples to help you get started using the architecture for your particular needs. @@ -26,7 +26,7 @@ The present tutorial walks you through a complete implementation of our Jenkins 1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## What Is Jenkins? @@ -37,9 +37,9 @@ All this makes Jenkins an exceptional tool for automating CI/CD workflows. Jenki Further plugins mean that you can adapt Jenkins to your needs — whether using a particular test suite, storing artifacts, or deploying to cloud providers. -Learn more about CI/CD principles in our guide [Introduction to Continuous Integration and Continuous Deployment](/cloud/guides/introduction-ci-cd/). +Learn more about CI/CD principles in our guide [Introduction to Continuous Integration and Continuous Deployment](/cloud/guides/introduction-ci-cd). -You can also learn more particulars about automating builds with Jenkins through our guide [How to Automate Builds with Jenkins on Ubuntu 22.04](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/). +You can also learn more particulars about automating builds with Jenkins through our guide [How to Automate Builds with Jenkins on Ubuntu 22.04](/cloud/guides/automate-builds-with-jenkins-on-ubuntu). ## How to Provision Jenkins for CI/CD @@ -167,7 +167,7 @@ Now you have what you need to support three build agents. This tutorial deploys The configurations and commands used in this guide add multiple Linode instances to your account. Be sure to monitor your account closely in the Linode Cloud Manager to avoid unwanted charges. {{< /note >}} -1. Install Terraform. Follow the relevant section of our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) guide to do so. +1. Install Terraform. Follow the relevant section of our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode#install-terraform) guide to do so. 1. Download our Terraform package for deploying Jenkins build agents: @@ -253,9 +253,9 @@ And in fact you can adapt the commands in the "Deploy" portion of the pipeline f Because this tutorial uses Kubernetes for its deployment, you need to have a Docker registry. This allows you to push built Docker images from the Jenkins agents and pull them onto the Kubernetes cluster. -The easiest solution here is [Docker Hub](https://hub.docker.com/), where you can add images after registering an account. Learn more, with a full-functioning example, in our guide [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/cloud/guides/deploy-container-image-to-kubernetes/). +The easiest solution here is [Docker Hub](https://hub.docker.com/), where you can add images after registering an account. Learn more, with a full-functioning example, in our guide [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/cloud/guides/deploy-container-image-to-kubernetes). -You can also self-host a registry solution. One such solution is [Harbor](https://goharbor.io/), and you can deploy your own Harbor server readily through the Linode Marketplace. See our guide [Deploy Harbor through the Linode Marketplace](/cloud/marketplace-docs/guides/harbor/) to see how. +You can also self-host a registry solution. One such solution is [Harbor](https://goharbor.io/), and you can deploy your own Harbor server readily through the Linode Marketplace. See our guide [Deploy Harbor through the Linode Marketplace](/cloud/marketplace-docs/guides/harbor) to see how. Whatever solution you choose, you need later to provide the registry's path to the Jenkins pipeline. @@ -349,7 +349,7 @@ For convenience, this tutorial opts to use a `Jenkinsfile` included within the p - *Deploy*, where a kubectl command deploys the built Docker image to the Kubernetes cluster -The example pipeline uses ESLint for a simple JavaScript code analysis, but there are more options to choose from depending on your codebase and needs. You can learn more about code analysis tools in our guide [What is Static Code Analysis?](/cloud/guides/what-is-static-code-analysis/). +The example pipeline uses ESLint for a simple JavaScript code analysis, but there are more options to choose from depending on your codebase and needs. You can learn more about code analysis tools in our guide [What is Static Code Analysis?](/cloud/guides/what-is-static-code-analysis). #### Create a Remote Repository diff --git a/docs/reference-architecture/redundant-cross-datacenter-applications/_index.md b/docs/reference-architecture/redundant-cross-datacenter-applications/_index.md index c8cc7f4a0c2..f16e0be0cc5 100644 --- a/docs/reference-architecture/redundant-cross-datacenter-applications/_index.md +++ b/docs/reference-architecture/redundant-cross-datacenter-applications/_index.md @@ -45,6 +45,6 @@ Routing traffic through a single aggregation point creates a choke point where t ## Diagrams -[![Thumbnail of redundant cross-datacenter application reference architecture diagram](redundant-cross-datacenter-application-diagram-thumbnail.png)](/cloud/reference-architecture/redundant-cross-datacenter-applications/diagrams/) +[![Thumbnail of redundant cross-datacenter application reference architecture diagram](redundant-cross-datacenter-application-diagram-thumbnail.png)](/cloud/reference-architecture/redundant-cross-datacenter-applications/diagrams) “WireGuard” is a registered trademark of Jason A. Donenfeld. \ No newline at end of file diff --git a/docs/reference-architecture/redundant-cross-datacenter-applications/guides/_index.md b/docs/reference-architecture/redundant-cross-datacenter-applications/guides/_index.md index 4292c447980..4eb59af6292 100644 --- a/docs/reference-architecture/redundant-cross-datacenter-applications/guides/_index.md +++ b/docs/reference-architecture/redundant-cross-datacenter-applications/guides/_index.md @@ -9,4 +9,4 @@ tab_group_main: weight: 30 --- -- [Implementing Redundant Cross-Data Center Applications](/cloud/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications/) \ No newline at end of file +- [Implementing Redundant Cross-Data Center Applications](/cloud/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications) \ No newline at end of file diff --git a/docs/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications/index.md b/docs/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications/index.md index 0b417532c41..87cc0a008fc 100644 --- a/docs/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications/index.md +++ b/docs/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications/index.md @@ -21,7 +21,7 @@ This guide presents a walkthrough for implementing a redundant cross–data cent A redundant cross–data center architecture utilizes a software-defined network to host Software-as-a-Service (SaaS) applications between multiple data centers. The architecture uses Linode's VLAN service along with WireGuard® to create a virtual network safe from general access. NGINX, along with WireGuard®, facilitates external networking. -Learn more about the architecture itself in our overview documentation for [Redundant Cross–Data Center Applications](/cloud/reference-architecture/redundant-cross-datacenter-applications/). +Learn more about the architecture itself in our overview documentation for [Redundant Cross–Data Center Applications](/cloud/reference-architecture/redundant-cross-datacenter-applications). ## How to Implement a Redundant Cross–Data Center Architecture @@ -51,7 +51,7 @@ The setup assumes you have a DNS load balancer configured. The infrastructure ut The redundant cross-data center architecture as it is implemented here requires you to create numerous nodes, many of which are similar to others. To streamline the process, the tutorial uses [Terraform](https://www.terraform.io/). -Terraform is a tool for automating the process of provisioning infrastructure. You can learn more about using Terraform to provision Linode instances in our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/). +Terraform is a tool for automating the process of provisioning infrastructure. You can learn more about using Terraform to provision Linode instances in our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform). The steps below give you everything you need to run the Terraform script for implementing the infrastructure here. Afterwards, you can find a high-level breakdown of what the script does. @@ -79,7 +79,7 @@ The configurations and commands used in this guide add multiple Linode instances - The `password` value should be the root password you intend to use for the nodes in the infrastructure. {{< note type="warning" >}} - Sensitive infrastructure data (like passwords and tokens) are visible in plain text within the `terraform.tfvars` file. Review [Secrets Management with Terraform](/cloud/applications/configuration-management/secrets-management-with-terraform/#how-to-manage-your-state-file) for guidance on how to secure these secrets. + Sensitive infrastructure data (like passwords and tokens) are visible in plain text within the `terraform.tfvars` file. Review [Secrets Management with Terraform](/cloud/applications/configuration-management/secrets-management-with-terraform#how-to-manage-your-state-file) for guidance on how to secure these secrets. {{< /note >}} {{< note >}} @@ -91,7 +91,7 @@ The configurations and commands used in this guide add multiple Linode instances ssh_key = "~/id_rsa.pub" ``` - Learn more about SSH public keys in our tutorial [How to Use SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) + Learn more about SSH public keys in our tutorial [How to Use SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh) {{< /note >}} 1. **Optional:** Adjust the `node_count` value to control the number of nodes created in each region. The script as it is does not work properly if anything other than two regions are specified, however, you can adjust the specific `regions` values. @@ -143,7 +143,7 @@ The script used above handles several of the necessary provisioning tasks. Here' - Executes the delivered shell script. This shell script handles network setup along with the installation and configuration of necessary software. - The network configuration includes `networkd` routing, `iptables` rules for forwarding, and a `keepalive` configuration. You can learn more about some parts of the network configuration in our guide to [Configure Linux as a Router](/cloud/guides/linux-router-and-ip-forwarding/). + The network configuration includes `networkd` routing, `iptables` rules for forwarding, and a `keepalive` configuration. You can learn more about some parts of the network configuration in our guide to [Configure Linux as a Router](/cloud/guides/linux-router-and-ip-forwarding). The necessary software includes WireGuard® and NGINX. WireGuard® provides a VPN for communications between the two gateways, and NGINX performs load balancing between each region's array of application nodes. The shell script handles the initial configuration for these applications. diff --git a/docs/reference-architecture/video-transcoding/_index.md b/docs/reference-architecture/video-transcoding/_index.md index 883904cc787..1961f1dcb55 100644 --- a/docs/reference-architecture/video-transcoding/_index.md +++ b/docs/reference-architecture/video-transcoding/_index.md @@ -17,7 +17,7 @@ This reference architecture provides a concrete example of how to create a scala - Producing video or digital assets for streaming services - Embedding content in business applications -Review the [video transcoding architecture diagrams](/cloud/reference-architecture/video-transcoding/diagrams/) for a high-level depiction of a general video transcoding workflow, as well as a more granular version which prescribes specific technologies to implement the workflow. +Review the [video transcoding architecture diagrams](/cloud/reference-architecture/video-transcoding/diagrams) for a high-level depiction of a general video transcoding workflow, as well as a more granular version which prescribes specific technologies to implement the workflow. ## Technologies Used