diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html
index c07460321c1..3f5a16b09d1 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html
@@ -35,6 +35,7 @@
{{ $params := (dict
"search_config" site.Params.search_config2
+ "base_path" (partial "get-basepath.html" .)
"file_issue_button" site.Params.file_issue_button
"page_title_suffix" site.Params.page_title_suffix
"is_production" (ne hugo.Environment "development")
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/breadcrumbs.html b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/breadcrumbs.html
index 5b544217ad6..0e6bc4d0c7c 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/breadcrumbs.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/breadcrumbs.html
@@ -21,7 +21,7 @@
data-turbo="false"
href="{{ site.Home.RelPermalink }}"
@click="$store.search.clearQuery()">
- Docs Home
+ Akamai Cloud
{{ end }}
diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/explorer-initial.html b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/explorer-initial.html
index dd693b0e847..1efae47c811 100644
--- a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/explorer-initial.html
+++ b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/navigation/explorer-initial.html
@@ -27,8 +27,8 @@
{{ end }}
{{ $open = eq $.FirstSection $section }}
{{ end }}
- {{/* We used to show all sections, now only the current (or all if on home page). Keep this construct in case we change our minds. */}}
- {{ if or $open $.IsHome }}
+ {{/* We used to show all sections, now only the current (or all if on home page or search listing). Keep this construct in case we change our minds. */}}
+ {{ if or $open $.IsHome (eq $.Path "/topresults") }}
{{ $root := dict "section" $section "config" . "page" $ "open" $open }}
{{ $roots = $roots | append $root }}
{{ end }}
diff --git a/_vendor/modules.txt b/_vendor/modules.txt
index 0b5f72b30de..eabf0a099ff 100644
--- a/_vendor/modules.txt
+++ b/_vendor/modules.txt
@@ -1,4 +1,4 @@
-# github.com/linode/linode-docs-theme v0.0.0-20260527191020-967a1fed9ff8
+# github.com/linode/linode-docs-theme v0.0.0-20260616154148-26d1400a2a41
# github.com/gohugoio/hugo-mod-jslibs-dist/alpinejs/v3 v3.21300.20800
# github.com/gohugoio/hugo-mod-jslibs/turbo/v8 v8.20000.20400
# github.com/hotwired/turbo v8.0.4+incompatible
diff --git a/apply-redirects.py b/apply-redirects.py
new file mode 100644
index 00000000000..88e4d01f27c
--- /dev/null
+++ b/apply-redirects.py
@@ -0,0 +1,81 @@
+#!/usr/bin/env python3
+"""Replace relative links in the markdown library with their techdocs.akamai.com
+replacements, as defined in cloud-techdocs-redirects.csv.
+
+The CSV has two columns: the relative link to find, and the replacement link.
+Links in the markdown appear as Markdown inline link targets, i.e. wrapped in
+parentheses: ``(link)``. Matching on ``(link)`` keeps replacements exact and
+avoids prefix collisions (e.g. ``/foo/`` vs ``/foo/bar/``).
+
+Usage:
+ python3 apply-redirects.py [--dry-run]
+"""
+
+import argparse
+import csv
+import sys
+from pathlib import Path
+
+REPO_ROOT = Path(__file__).resolve().parent
+CSV_PATH = REPO_ROOT / "cloud-techdocs-redirects.csv"
+DOCS_DIR = REPO_ROOT / "docs"
+
+
+def load_redirects(csv_path):
+ """Return a list of (old, new) link pairs from the CSV."""
+ pairs = []
+ with open(csv_path, newline="", encoding="utf-8") as f:
+ for row in csv.reader(f):
+ if not row or not row[0].strip():
+ continue
+ if len(row) < 2:
+ print(f"Skipping malformed row: {row!r}", file=sys.stderr)
+ continue
+ old, new = row[0].strip(), row[1].strip()
+ pairs.append((old, new))
+ return pairs
+
+
+def main():
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument(
+ "--dry-run",
+ action="store_true",
+ help="Report what would change without writing files.",
+ )
+ args = parser.parse_args()
+
+ redirects = load_redirects(CSV_PATH)
+ # Map the parenthesized link-target forms.
+ replacements = [(f"({old})", f"({new})", old) for old, new in redirects]
+
+ total_replacements = 0
+ changed_files = 0
+
+ for md_file in sorted(DOCS_DIR.rglob("*.md")):
+ text = md_file.read_text(encoding="utf-8")
+ original = text
+ file_count = 0
+
+ for old_token, new_token, old_link in replacements:
+ n = text.count(old_token)
+ if n:
+ text = text.replace(old_token, new_token)
+ file_count += n
+ rel = md_file.relative_to(REPO_ROOT)
+ print(f" {rel}: {n}x {old_link}")
+
+ if text != original:
+ changed_files += 1
+ total_replacements += file_count
+ if not args.dry_run:
+ md_file.write_text(text, encoding="utf-8")
+
+ action = "Would replace" if args.dry_run else "Replaced"
+ print(
+ f"\n{action} {total_replacements} link(s) across {changed_files} file(s)."
+ )
+
+
+if __name__ == "__main__":
+ main()
diff --git a/ci/check-links.py b/ci/check-links.py
index 264670471c1..550e9dae108 100644
--- a/ci/check-links.py
+++ b/ci/check-links.py
@@ -84,10 +84,8 @@ def add_issue(self, issue):
DOCS_DIR = [
"docs/guides",
- "docs/products",
"docs/bundles",
"docs/assets",
- "docs/api",
"docs/reference-architecture",
"docs/release-notes",
"docs/marketplace-docs"
@@ -126,7 +124,7 @@ def add_issue(self, issue):
issue_types.append(IssueType(
id = 'incorrect-root',
title = "Incorrect root directory",
- summary = "The link does not point to the correct root (/docs/)",
+ summary = "The link does not point to the correct root (/cloud/)",
severity = 'failure',
weight = 30
))
@@ -155,13 +153,10 @@ def get_guides():
issues = []
# Add top level guides
- guides.append(Guide("docs/","docs/_index.md", "Docs Home", "/docs/"))
- guides.append(Guide("docs/products/","docs/products/_index.md", "Product Docs", "/docs/products/"))
- guides.append(Guide("docs/marketplace/", "", "Marketplace", "/docs/marketplace/"))
+ guides.append(Guide("docs/","docs/_index.md", "Docs Home", "/cloud/"))
guides.append(Guide("docs/marketplace-docs/", "", "Marketplace Docs", "/docs/marketplace-docs/"))
guides.append(Guide("docs/resources/", "", "Resources", "/docs/resources/"))
guides.append(Guide("docs/topresults/?docType=community", "", "Q&A", "/docs/topresults/?docType=community"))
- assets.append(Asset("/docs/api/openapi.yaml","/docs/api/openapi.yaml"))
# Iterate through each file in each docs directory
for dir in DOCS_DIR:
@@ -200,15 +195,13 @@ def get_guides():
#print("New file path: " + new_file_path)
os.rename(old_file_path,new_file_path)
- canonical_link = "/docs/guides/" + expanded_guide['slug'] + "/"
- # ... If the guide is in the API section...
- elif "slug" in expanded_guide.keys() and "docs/api/" in file_path:
- canonical_link = "/docs/api/" + expanded_guide['slug'] + "/"
+ canonical_link = "/cloud/guides/" + expanded_guide['slug'] + "/"
# ... If the guide is in any other section...
else:
canonical_link = "/" + file_path
canonical_link = canonical_link.replace('/index.md','/')
canonical_link = canonical_link.replace('/_index.md','/')
+ canonical_link = canonical_link.replace('/docs/','/cloud/') # Convert docs-prefix links to cloud-prefix links
# Construct the guide object
guide = Guide(root, file_path, expanded_guide['title'], canonical_link)
@@ -228,8 +221,8 @@ def get_guides():
# If the file is something else, like an image or other asset...
else:
- if "docs/guides/" in file_path:
- link = "/docs/guides/" + path_segments[-2] + "/" + path_segments[-1]
+ if "cloud/guides/" in file_path:
+ link = "/cloud/guides/" + path_segments[-2] + "/" + path_segments[-1]
else:
link = "/" + file_path
assets.append(Asset(file_path,link))
@@ -380,8 +373,8 @@ def check_internal_links_markdown(guides, assets):
# Ignore links to resources within the same directory
if not "/" in link and "." in link:
continue
- # Log issue if link does not start with /docs/
- if not link.startswith('/docs/'):
+ # Log issue if link does not start with /cloud/
+ if not link.startswith('/cloud/'):
issues.append(Issue(link_unmodified,'incorrect-root'))
continue
# Log issue if link ends with two slashes /
@@ -396,7 +389,7 @@ def check_internal_links_markdown(guides, assets):
# Check if link points to a canonical internal link
if not next((x for x in guides if x.link == link), None):
# Checks if the link matches an alias or not
- if next((x for x in guides if link.replace('/docs/','/') in x.aliases), None) is not None:
+ if next((x for x in guides if link.replace('/cloud/','/') in x.aliases), None) is not None:
issues.append(Issue(link_unmodified,'points-to-alias'))
else:
issues.append(Issue(link_unmodified,'not-found'))
@@ -463,18 +456,19 @@ def main():
{'='*40}
"""))
- # Output information about each issue type and any associated issues
- for t in issue_types:
- if t.severity == 'failure' and not len(t.issues) == 0:
- # Output heading for this issue type
- print(textwrap.dedent(f"""
- {t.title} ({(t.severity).upper()}): {str(len(t.issues))}
- {t.summary}
- """))
- # Output the list of errors if the issue severity is a failure
- for i in t.issues:
- print(f" - {i.link}")
+ # Output information about each issue type and any associated issues
+ for t in issue_types:
+ # Output heading for this issue type
+ print(textwrap.dedent(f"""
+ {t.title} ({(t.severity).upper()}): {str(len(t.issues))}
+ {t.summary}
+ """))
+ # Output the list of errors if the issue severity is a failure
+ for i in t.issues:
+ print(f" - {i.link}")
+
+ if test_failed:
sys.exit(1)
if __name__ == "__main__":
diff --git a/cloud-techdocs-redirects.csv b/cloud-techdocs-redirects.csv
new file mode 100644
index 00000000000..34f11a4643d
--- /dev/null
+++ b/cloud-techdocs-redirects.csv
@@ -0,0 +1,12 @@
+/cloud/kubernetes/getting-started-with-load-balancing-on-a-lke-cluster/#configuring-your-linode-nodebalancers-with-annotations,https://techdocs.akamai.com/cloud-computing/docs/get-started-with-load-balancing-on-an-lke-cluster
+/cloud/guides/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial/,https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine
+/cloud/networking/dns/configure-your-linode-for-reverse-dns/,https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance
+/cloud/guides/understanding-billing-and-payments/,https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works
+/cloud/guides/resize-a-linode-disk/,https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance
+/cloud/guides/disks-and-storage/#creating-a-disk,https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance
+/cloud/networking/using-the-linode-shell-lish,https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish
+/cloud/guides/lassie-shutdown-watchdog/#enable-or-disable-shutdown-watchdog,https://techdocs.akamai.com/cloud-computing/docs/recover-from-unexpected-shutdowns-with-lassie
+/cloud/guides/ip-failover-legacy-keepalived/,https://techdocs.akamai.com/cloud-computing/docs/configuring-ip-failover-using-keepalived
+/cloud/guides/getting-started/,https://techdocs.akamai.com/cloud-computing/docs/getting-started
+/cloud/guides/creating-a-compute-instance/,https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance
+/cloud/guides/set-up-and-secure/,https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance
\ No newline at end of file
diff --git a/config.toml b/config.toml
index 04a343cece3..c4bbf9dbfe9 100644
--- a/config.toml
+++ b/config.toml
@@ -1,6 +1,6 @@
# If you update baseURL, *YOU NEED TO UPDATE* scripts/generate_permanent_redirects.sh
# so that it correctly parses the URL
-baseURL = "https://www.linode.com/docs/"
+baseURL = "https://www.akamai.com/cloud/"
languageCode = "en-us"
title = "Linode Guides & Tutorials"
diff --git a/docs/assets/1131-init-deb.sh b/docs/assets/1131-init-deb.sh
deleted file mode 100644
index 9b737a42e95..00000000000
--- a/docs/assets/1131-init-deb.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#! /bin/sh
-
-### BEGIN INIT INFO
-# Provides: nginx
-# Required-Start: $all
-# Required-Stop: $all
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: starts the nginx web server
-# Description: starts nginx using start-stop-daemon
-### END INIT INFO
-
-PATH=/opt/nginx/sbin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/opt/nginx/sbin/nginx
-NAME=nginx
-DESC=nginx
-
-test -x $DAEMON || exit 0
-
-# Include nginx defaults if available
-if [ -f /etc/default/nginx ] ; then
- . /etc/default/nginx
-fi
-
-set -e
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- restart|force-reload)
- echo -n "Restarting $DESC: "
- start-stop-daemon --stop --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON
- sleep 1
- start-stop-daemon --start --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- reload)
- echo -n "Reloading $DESC configuration: "
- start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
- exit 1
- ;;
- esac
-
- exit 0
diff --git a/docs/assets/1139-init-deb.sh b/docs/assets/1139-init-deb.sh
deleted file mode 100644
index 9b737a42e95..00000000000
--- a/docs/assets/1139-init-deb.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#! /bin/sh
-
-### BEGIN INIT INFO
-# Provides: nginx
-# Required-Start: $all
-# Required-Stop: $all
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: starts the nginx web server
-# Description: starts nginx using start-stop-daemon
-### END INIT INFO
-
-PATH=/opt/nginx/sbin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/opt/nginx/sbin/nginx
-NAME=nginx
-DESC=nginx
-
-test -x $DAEMON || exit 0
-
-# Include nginx defaults if available
-if [ -f /etc/default/nginx ] ; then
- . /etc/default/nginx
-fi
-
-set -e
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- restart|force-reload)
- echo -n "Restarting $DESC: "
- start-stop-daemon --stop --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON
- sleep 1
- start-stop-daemon --start --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- reload)
- echo -n "Reloading $DESC configuration: "
- start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
- exit 1
- ;;
- esac
-
- exit 0
diff --git a/docs/assets/1239-dovecot_10-mail.conf.txt b/docs/assets/1239-dovecot_10-mail.conf.txt
deleted file mode 100644
index 29f630fc9e8..00000000000
--- a/docs/assets/1239-dovecot_10-mail.conf.txt
+++ /dev/null
@@ -1,345 +0,0 @@
-##
-## Mailbox locations and namespaces
-##
-
-# Location for users' mailboxes. The default is empty, which means that Dovecot
-# tries to find the mailboxes automatically. This won't work if the user
-# doesn't yet have any mail, so you should explicitly tell Dovecot the full
-# location.
-#
-# If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u)
-# isn't enough. You'll also need to tell Dovecot where the other mailboxes are
-# kept. This is called the "root mail directory", and it must be the first
-# path given in the mail_location setting.
-#
-# There are a few special variables you can use, eg.:
-#
-# %u - username
-# %n - user part in user@domain, same as %u if there's no domain
-# %d - domain part in user@domain, empty if there's no domain
-# %h - home directory
-#
-# See doc/wiki/Variables.txt for full list. Some examples:
-#
-# mail_location = maildir:~/Maildir
-# mail_location = mbox:~/mail:INBOX=/var/mail/%u
-# mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
-#
-#
-#
-mail_location = maildir:/var/mail/vhosts/%d/%n
-
-# If you need to set multiple mailbox locations or want to change default
-# namespace settings, you can do it by defining namespace sections.
-#
-# You can have private, shared and public namespaces. Private namespaces
-# are for user's personal mails. Shared namespaces are for accessing other
-# users' mailboxes that have been shared. Public namespaces are for shared
-# mailboxes that are managed by sysadmin. If you create any shared or public
-# namespaces you'll typically want to enable ACL plugin also, otherwise all
-# users can access all the shared mailboxes, assuming they have permissions
-# on filesystem level to do so.
-#
-# REMEMBER: If you add any namespaces, the default namespace must be added
-# explicitly, ie. mail_location does nothing unless you have a namespace
-# without a location setting. Default namespace is simply done by having a
-# namespace with empty prefix.
-#namespace {
- # Namespace type: private, shared or public
- #type = private
-
- # Hierarchy separator to use. You should use the same separator for all
- # namespaces or some clients get confused. '/' is usually a good one.
- # The default however depends on the underlying mail storage format.
- #separator =
-
- # Prefix required to access this namespace. This needs to be different for
- # all namespaces. For example "Public/".
- #prefix =
-
- # Physical location of the mailbox. This is in same format as
- # mail_location, which is also the default for it.
- #location =
-
- # There can be only one INBOX, and this setting defines which namespace
- # has it.
- #inbox = no
-
- # If namespace is hidden, it's not advertised to clients via NAMESPACE
- # extension. You'll most likely also want to set list=no. This is mostly
- # useful when converting from another server with different namespaces which
- # you want to deprecate but still keep working. For example you can create
- # hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/".
- #hidden = no
-
- # Show the mailboxes under this namespace with LIST command. This makes the
- # namespace visible for clients that don't support NAMESPACE extension.
- # "children" value lists child mailboxes, but hides the namespace prefix.
- #list = yes
-
- # Namespace handles its own subscriptions. If set to "no", the parent
- # namespace handles them (empty prefix should always have this as "yes")
- #subscriptions = yes
-#}
-
-# Example shared namespace configuration
-#namespace {
- #type = shared
- #separator = /
-
- # Mailboxes are visible under "shared/user@domain/"
- # %%n, %%d and %%u are expanded to the destination user.
- #prefix = shared/%%u/
-
- # Mail location for other users' mailboxes. Note that %variables and ~/
- # expands to the logged in user's data. %%n, %%d, %%u and %%h expand to the
- # destination user's data.
- #location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
-
- # Use the default namespace for saving subscriptions.
- #subscriptions = no
-
- # List the shared/ namespace only if there are visible shared mailboxes.
- #list = children
-#}
-
-# System user and group used to access mails. If you use multiple, userdb
-# can override these by returning uid or gid fields. You can use either numbers
-# or names.
-#mail_uid =
-#mail_gid =
-
-# Group to enable temporarily for privileged operations. Currently this is
-# used only with INBOX when either its initial creation or dotlocking fails.
-# Typically this is set to "mail" to give access to /var/mail.
-mail_privileged_group = mail
-
-# Grant access to these supplementary groups for mail processes. Typically
-# these are used to set up access to shared mailboxes. Note that it may be
-# dangerous to set these if users can create symlinks (e.g. if "mail" group is
-# set here, ln -s /var/mail ~/mail/var could allow a user to delete others'
-# mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading it).
-#mail_access_groups =
-
-# Allow full filesystem access to clients. There's no access checks other than
-# what the operating system does for the active UID/GID. It works with both
-# maildir and mboxes, allowing you to prefix mailboxes names with eg. /path/
-# or ~user/.
-#mail_full_filesystem_access = no
-
-##
-## Mail processes
-##
-
-# Don't use mmap() at all. This is required if you store indexes to shared
-# filesystems (NFS or clustered filesystem).
-#mmap_disable = no
-
-# Rely on O_EXCL to work when creating dotlock files. NFS supports O_EXCL
-# since version 3, so this should be safe to use nowadays by default.
-#dotlock_use_excl = yes
-
-# When to use fsync() or fdatasync() calls:
-# optimized (default): Whenever necessary to avoid losing important data
-# always: Useful with e.g. NFS when write()s are delayed
-# never: Never use it (best performance, but crashes can lose data)
-#mail_fsync = optimized
-
-# Mail storage exists in NFS. Set this to yes to make Dovecot flush NFS caches
-# whenever needed. If you're using only a single mail server this isn't needed.
-#mail_nfs_storage = no
-# Mail index files also exist in NFS. Setting this to yes requires
-# mmap_disable=yes and fsync_disable=no.
-#mail_nfs_index = no
-
-# Locking method for index files. Alternatives are fcntl, flock and dotlock.
-# Dotlocking uses some tricks which may create more disk I/O than other locking
-# methods. NFS users: flock doesn't work, remember to change mmap_disable.
-#lock_method = fcntl
-
-# Directory in which LDA/LMTP temporarily stores incoming mails >128 kB.
-#mail_temp_dir = /tmp
-
-# Valid UID range for users, defaults to 500 and above. This is mostly
-# to make sure that users can't log in as daemons or other system users.
-# Note that denying root logins is hardcoded to dovecot binary and can't
-# be done even if first_valid_uid is set to 0.
-#first_valid_uid = 500
-#last_valid_uid = 0
-
-# Valid GID range for users, defaults to non-root/wheel. Users having
-# non-valid GID as primary group ID aren't allowed to log in. If user
-# belongs to supplementary groups with non-valid GIDs, those groups are
-# not set.
-#first_valid_gid = 1
-#last_valid_gid = 0
-
-# Maximum allowed length for mail keyword name. It's only forced when trying
-# to create new keywords.
-#mail_max_keyword_length = 50
-
-# ':' separated list of directories under which chrooting is allowed for mail
-# processes (ie. /var/mail will allow chrooting to /var/mail/foo/bar too).
-# This setting doesn't affect login_chroot, mail_chroot or auth chroot
-# settings. If this setting is empty, "/./" in home dirs are ignored.
-# WARNING: Never add directories here which local users can modify, that
-# may lead to root exploit. Usually this should be done only if you don't
-# allow shell access for users.
-#valid_chroot_dirs =
-
-# Default chroot directory for mail processes. This can be overridden for
-# specific users in user database by giving /./ in user's home directory
-# (eg. /home/./user chroots into /home). Note that usually there is no real
-# need to do chrooting, Dovecot doesn't allow users to access files outside
-# their mail directory anyway. If your home directories are prefixed with
-# the chroot directory, append "/." to mail_chroot.
-#mail_chroot =
-
-# UNIX socket path to master authentication server to find users.
-# This is used by imap (for shared users) and lda.
-#auth_socket_path = /var/run/dovecot/auth-userdb
-
-# Directory where to look up mail plugins.
-#mail_plugin_dir = /usr/lib/dovecot/modules
-
-# Space separated list of plugins to load for all services. Plugins specific to
-# IMAP, LDA, etc. are added to this list in their own .conf files.
-#mail_plugins =
-
-##
-## Mailbox handling optimizations
-##
-
-# The minimum number of mails in a mailbox before updates are done to cache
-# file. This allows optimizing Dovecot's behavior to do less disk writes at
-# the cost of more disk reads.
-#mail_cache_min_mail_count = 0
-
-# When IDLE command is running, mailbox is checked once in a while to see if
-# there are any new mails or other changes. This setting defines the minimum
-# time to wait between those checks. Dovecot can also use dnotify, inotify and
-# kqueue to find out immediately when changes occur.
-#mailbox_idle_check_interval = 30 secs
-
-# Save mails with CR+LF instead of plain LF. This makes sending those mails
-# take less CPU, especially with sendfile() syscall with Linux and FreeBSD.
-# But it also creates a bit more disk I/O which may just make it slower.
-# Also note that if other software reads the mboxes/maildirs, they may handle
-# the extra CRs wrong and cause problems.
-#mail_save_crlf = no
-
-##
-## Maildir-specific settings
-##
-
-# By default LIST command returns all entries in maildir beginning with a dot.
-# Enabling this option makes Dovecot return only entries which are directories.
-# This is done by stat()ing each entry, so it causes more disk I/O.
-# (For systems setting struct dirent->d_type, this check is free and it's
-# done always regardless of this setting)
-#maildir_stat_dirs = no
-
-# When copying a message, do it with hard links whenever possible. This makes
-# the performance much better, and it's unlikely to have any side effects.
-#maildir_copy_with_hardlinks = yes
-
-# Assume Dovecot is the only MUA accessing Maildir: Scan cur/ directory only
-# when its mtime changes unexpectedly or when we can't find the mail otherwise.
-#maildir_very_dirty_syncs = no
-
-##
-## mbox-specific settings
-##
-
-# Which locking methods to use for locking mbox. There are four available:
-# dotlock: Create .lock file. This is the oldest and most NFS-safe
-# solution. If you want to use /var/mail/ like directory, the users
-# will need write access to that directory.
-# dotlock_try: Same as dotlock, but if it fails because of permissions or
-# because there isn't enough disk space, just skip it.
-# fcntl : Use this if possible. Works with NFS too if lockd is used.
-# flock : May not exist in all systems. Doesn't work with NFS.
-# lockf : May not exist in all systems. Doesn't work with NFS.
-#
-# You can use multiple locking methods; if you do the order they're declared
-# in is important to avoid deadlocks if other MTAs/MUAs are using multiple
-# locking methods as well. Some operating systems don't allow using some of
-# them simultaneously.
-#mbox_read_locks = fcntl
-#mbox_write_locks = dotlock fcntl
-
-# Maximum time to wait for lock (all of them) before aborting.
-#mbox_lock_timeout = 5 mins
-
-# If dotlock exists but the mailbox isn't modified in any way, override the
-# lock file after this much time.
-#mbox_dotlock_change_timeout = 2 mins
-
-# When mbox changes unexpectedly we have to fully read it to find out what
-# changed. If the mbox is large this can take a long time. Since the change
-# is usually just a newly appended mail, it'd be faster to simply read the
-# new mails. If this setting is enabled, Dovecot does this but still safely
-# fallbacks to re-reading the whole mbox file whenever something in mbox isn't
-# how it's expected to be. The only real downside to this setting is that if
-# some other MUA changes message flags, Dovecot doesn't notice it immediately.
-# Note that a full sync is done with SELECT, EXAMINE, EXPUNGE and CHECK
-# commands.
-#mbox_dirty_syncs = yes
-
-# Like mbox_dirty_syncs, but don't do full syncs even with SELECT, EXAMINE,
-# EXPUNGE or CHECK commands. If this is set, mbox_dirty_syncs is ignored.
-#mbox_very_dirty_syncs = no
-
-# Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK
-# commands and when closing the mailbox). This is especially useful for POP3
-# where clients often delete all mails. The downside is that our changes
-# aren't immediately visible to other MUAs.
-#mbox_lazy_writes = yes
-
-# If mbox size is smaller than this (e.g. 100k), don't write index files.
-# If an index file already exists it's still read, just not updated.
-#mbox_min_index_size = 0
-
-##
-## mdbox-specific settings
-##
-
-# Maximum dbox file size until it's rotated.
-#mdbox_rotate_size = 2M
-
-# Maximum dbox file age until it's rotated. Typically in days. Day begins
-# from midnight, so 1d = today, 2d = yesterday, etc. 0 = check disabled.
-#mdbox_rotate_interval = 0
-
-# When creating new mdbox files, immediately preallocate their size to
-# mdbox_rotate_size. This setting currently works only in Linux with some
-# filesystems (ext4, xfs).
-#mdbox_preallocate_space = no
-
-##
-## Mail attachments
-##
-
-# sdbox and mdbox support saving mail attachments to external files, which
-# also allows single instance storage for them. Other backends don't support
-# this for now.
-
-# WARNING: This feature hasn't been tested much yet. Use at your own risk.
-
-# Directory root where to store mail attachments. Disabled, if empty.
-#mail_attachment_dir =
-
-# Attachments smaller than this aren't saved externally. It's also possible to
-# write a plugin to disable saving specific attachments externally.
-#mail_attachment_min_size = 128k
-
-# Filesystem backend to use for saving attachments:
-# posix : No SiS done by Dovecot (but this might help FS's own deduplication)
-# sis posix : SiS with immediate byte-by-byte comparison during saving
-# sis-queue posix : SiS with delayed comparison and deduplication
-#mail_attachment_fs = sis posix
-
-# Hash format to use in attachment filenames. You can add any text and
-# variables: %{md4}, %{md5}, %{sha1}, %{sha256}, %{sha512}, %{size}.
-# Variables can be truncated, e.g. %{sha256:80} returns only first 80 bits
-#mail_attachment_hash = %{sha1}
diff --git a/docs/assets/1241-dovecot_10-ssl.conf.txt b/docs/assets/1241-dovecot_10-ssl.conf.txt
deleted file mode 100644
index 6f56c10147f..00000000000
--- a/docs/assets/1241-dovecot_10-ssl.conf.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-##
-## SSL settings
-##
-
-# SSL/TLS support: yes, no, required.
-ssl = required
-
-# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
-# dropping root privileges, so keep the key file unreadable by anyone but
-# root. Included doc/mkcert.sh can be used to easily generate self-signed
-# certificate, just make sure to update the domains in dovecot-openssl.cnf
-ssl_cert = ".
-
-dict {
- #quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
- #expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
-}
-
-# Most of the actual configuration gets included below. The filenames are
-# first sorted by their ASCII value and parsed in that order. The 00-prefixes
-# in filenames are intended to make it easier to understand the ordering.
-!include conf.d/*.conf
-
-# A config file can also tried to be included without giving an error if
-# it's not found:
-!include_try local.conf
\ No newline at end of file
diff --git a/docs/assets/1538-init-deb.sh b/docs/assets/1538-init-deb.sh
deleted file mode 100644
index 9b737a42e95..00000000000
--- a/docs/assets/1538-init-deb.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#! /bin/sh
-
-### BEGIN INIT INFO
-# Provides: nginx
-# Required-Start: $all
-# Required-Stop: $all
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: starts the nginx web server
-# Description: starts nginx using start-stop-daemon
-### END INIT INFO
-
-PATH=/opt/nginx/sbin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/opt/nginx/sbin/nginx
-NAME=nginx
-DESC=nginx
-
-test -x $DAEMON || exit 0
-
-# Include nginx defaults if available
-if [ -f /etc/default/nginx ] ; then
- . /etc/default/nginx
-fi
-
-set -e
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- restart|force-reload)
- echo -n "Restarting $DESC: "
- start-stop-daemon --stop --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON
- sleep 1
- start-stop-daemon --start --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- reload)
- echo -n "Reloading $DESC configuration: "
- start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
- exit 1
- ;;
- esac
-
- exit 0
diff --git a/docs/assets/549-init-deb.sh b/docs/assets/549-init-deb.sh
deleted file mode 100644
index 9b737a42e95..00000000000
--- a/docs/assets/549-init-deb.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#! /bin/sh
-
-### BEGIN INIT INFO
-# Provides: nginx
-# Required-Start: $all
-# Required-Stop: $all
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: starts the nginx web server
-# Description: starts nginx using start-stop-daemon
-### END INIT INFO
-
-PATH=/opt/nginx/sbin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/opt/nginx/sbin/nginx
-NAME=nginx
-DESC=nginx
-
-test -x $DAEMON || exit 0
-
-# Include nginx defaults if available
-if [ -f /etc/default/nginx ] ; then
- . /etc/default/nginx
-fi
-
-set -e
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- restart|force-reload)
- echo -n "Restarting $DESC: "
- start-stop-daemon --stop --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON
- sleep 1
- start-stop-daemon --start --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- reload)
- echo -n "Reloading $DESC configuration: "
- start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
- exit 1
- ;;
- esac
-
- exit 0
diff --git a/docs/assets/550-init-php-fastcgi-deb.sh b/docs/assets/550-init-php-fastcgi-deb.sh
deleted file mode 100644
index 5a2d96a6a3c..00000000000
--- a/docs/assets/550-init-php-fastcgi-deb.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-
-### BEGIN INIT INFO
-# Provides: php-fastcgi
-# Required-Start: $remote_fs $syslog
-# Required-Stop: $remote_fs $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Start daemon at boot time
-# Description: Enable service provided by daemon.
-### END INIT INFO
-
-
-
-if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
- FASTCGI_USER=nginx
-elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
- FASTCGI_USER=www-data
-elif [ `grep -c "http" /etc/passwd` = "1" ]; then
- FASTCGI_USER=http
-else
-# Set the FASTCGI_USER variable below to the user that
-# you want to run the php-fastcgi processes as
-
-FASTCGI_USER=
-fi
-
-PHP_SCRIPT=/usr/bin/php-fastcgi
-RETVAL=0
-case "$1" in
- start)
- sudo -u $FASTCGI_USER $PHP_SCRIPT
- RETVAL=$?
- ;;
- stop)
- killall -9 php5-cgi
- RETVAL=$?
- ;;
- restart)
- killall -9 php5-cgi
- sudo -u $FASTCGI_USER $PHP_SCRIPT
- RETVAL=$?
- ;;
- *)
- echo "Usage: php-fastcgi {start|stop|restart}"
- exit 1
- ;;
-esac
-exit $RETVAL
diff --git a/docs/assets/551-php-fastcgi-deb.sh b/docs/assets/551-php-fastcgi-deb.sh
deleted file mode 100644
index 02572d3aac3..00000000000
--- a/docs/assets/551-php-fastcgi-deb.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
- FASTCGI_USER=nginx
-elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
- FASTCGI_USER=www-data
-elif [ `grep -c "http" /etc/passwd` = "1" ]; then
- FASTCGI_USER=http
-else
-# Set the FASTCGI_USER variable below to the user that
-# you want to run the php-fastcgi processes as
-
-FASTCGI_USER=
-fi
-
-/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u $FASTCGI_USER -f /usr/bin/php5-cgi
diff --git a/docs/assets/552-init-deb.sh b/docs/assets/552-init-deb.sh
deleted file mode 100644
index 9b737a42e95..00000000000
--- a/docs/assets/552-init-deb.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#! /bin/sh
-
-### BEGIN INIT INFO
-# Provides: nginx
-# Required-Start: $all
-# Required-Stop: $all
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: starts the nginx web server
-# Description: starts nginx using start-stop-daemon
-### END INIT INFO
-
-PATH=/opt/nginx/sbin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/opt/nginx/sbin/nginx
-NAME=nginx
-DESC=nginx
-
-test -x $DAEMON || exit 0
-
-# Include nginx defaults if available
-if [ -f /etc/default/nginx ] ; then
- . /etc/default/nginx
-fi
-
-set -e
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- restart|force-reload)
- echo -n "Restarting $DESC: "
- start-stop-daemon --stop --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON
- sleep 1
- start-stop-daemon --start --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- reload)
- echo -n "Reloading $DESC configuration: "
- start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
- exit 1
- ;;
- esac
-
- exit 0
diff --git a/docs/assets/553-init-php-fastcgi-deb.sh b/docs/assets/553-init-php-fastcgi-deb.sh
deleted file mode 100644
index 5a2d96a6a3c..00000000000
--- a/docs/assets/553-init-php-fastcgi-deb.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-
-### BEGIN INIT INFO
-# Provides: php-fastcgi
-# Required-Start: $remote_fs $syslog
-# Required-Stop: $remote_fs $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Start daemon at boot time
-# Description: Enable service provided by daemon.
-### END INIT INFO
-
-
-
-if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
- FASTCGI_USER=nginx
-elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
- FASTCGI_USER=www-data
-elif [ `grep -c "http" /etc/passwd` = "1" ]; then
- FASTCGI_USER=http
-else
-# Set the FASTCGI_USER variable below to the user that
-# you want to run the php-fastcgi processes as
-
-FASTCGI_USER=
-fi
-
-PHP_SCRIPT=/usr/bin/php-fastcgi
-RETVAL=0
-case "$1" in
- start)
- sudo -u $FASTCGI_USER $PHP_SCRIPT
- RETVAL=$?
- ;;
- stop)
- killall -9 php5-cgi
- RETVAL=$?
- ;;
- restart)
- killall -9 php5-cgi
- sudo -u $FASTCGI_USER $PHP_SCRIPT
- RETVAL=$?
- ;;
- *)
- echo "Usage: php-fastcgi {start|stop|restart}"
- exit 1
- ;;
-esac
-exit $RETVAL
diff --git a/docs/assets/554-php-fastcgi-deb.sh b/docs/assets/554-php-fastcgi-deb.sh
deleted file mode 100644
index 02572d3aac3..00000000000
--- a/docs/assets/554-php-fastcgi-deb.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
- FASTCGI_USER=nginx
-elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
- FASTCGI_USER=www-data
-elif [ `grep -c "http" /etc/passwd` = "1" ]; then
- FASTCGI_USER=http
-else
-# Set the FASTCGI_USER variable below to the user that
-# you want to run the php-fastcgi processes as
-
-FASTCGI_USER=
-fi
-
-/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u $FASTCGI_USER -f /usr/bin/php5-cgi
diff --git a/docs/assets/555-init-deb.sh b/docs/assets/555-init-deb.sh
deleted file mode 100644
index 9b737a42e95..00000000000
--- a/docs/assets/555-init-deb.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#! /bin/sh
-
-### BEGIN INIT INFO
-# Provides: nginx
-# Required-Start: $all
-# Required-Stop: $all
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: starts the nginx web server
-# Description: starts nginx using start-stop-daemon
-### END INIT INFO
-
-PATH=/opt/nginx/sbin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/opt/nginx/sbin/nginx
-NAME=nginx
-DESC=nginx
-
-test -x $DAEMON || exit 0
-
-# Include nginx defaults if available
-if [ -f /etc/default/nginx ] ; then
- . /etc/default/nginx
-fi
-
-set -e
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- restart|force-reload)
- echo -n "Restarting $DESC: "
- start-stop-daemon --stop --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON
- sleep 1
- start-stop-daemon --start --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- reload)
- echo -n "Reloading $DESC configuration: "
- start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
- exit 1
- ;;
- esac
-
- exit 0
diff --git a/docs/assets/556-init-php-fastcgi-deb.sh b/docs/assets/556-init-php-fastcgi-deb.sh
deleted file mode 100644
index 5a2d96a6a3c..00000000000
--- a/docs/assets/556-init-php-fastcgi-deb.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-
-### BEGIN INIT INFO
-# Provides: php-fastcgi
-# Required-Start: $remote_fs $syslog
-# Required-Stop: $remote_fs $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Start daemon at boot time
-# Description: Enable service provided by daemon.
-### END INIT INFO
-
-
-
-if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
- FASTCGI_USER=nginx
-elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
- FASTCGI_USER=www-data
-elif [ `grep -c "http" /etc/passwd` = "1" ]; then
- FASTCGI_USER=http
-else
-# Set the FASTCGI_USER variable below to the user that
-# you want to run the php-fastcgi processes as
-
-FASTCGI_USER=
-fi
-
-PHP_SCRIPT=/usr/bin/php-fastcgi
-RETVAL=0
-case "$1" in
- start)
- sudo -u $FASTCGI_USER $PHP_SCRIPT
- RETVAL=$?
- ;;
- stop)
- killall -9 php5-cgi
- RETVAL=$?
- ;;
- restart)
- killall -9 php5-cgi
- sudo -u $FASTCGI_USER $PHP_SCRIPT
- RETVAL=$?
- ;;
- *)
- echo "Usage: php-fastcgi {start|stop|restart}"
- exit 1
- ;;
-esac
-exit $RETVAL
diff --git a/docs/assets/557-php-fastcgi-deb.sh b/docs/assets/557-php-fastcgi-deb.sh
deleted file mode 100644
index 02572d3aac3..00000000000
--- a/docs/assets/557-php-fastcgi-deb.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
- FASTCGI_USER=nginx
-elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
- FASTCGI_USER=www-data
-elif [ `grep -c "http" /etc/passwd` = "1" ]; then
- FASTCGI_USER=http
-else
-# Set the FASTCGI_USER variable below to the user that
-# you want to run the php-fastcgi processes as
-
-FASTCGI_USER=
-fi
-
-/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u $FASTCGI_USER -f /usr/bin/php5-cgi
diff --git a/docs/assets/633-adv_windowlist.pl b/docs/assets/633-adv_windowlist.pl
deleted file mode 100644
index 96a355d1a0a..00000000000
--- a/docs/assets/633-adv_windowlist.pl
+++ /dev/null
@@ -1,2478 +0,0 @@
-use strict; # use warnings;
-
-# {{{ debug
-
-#BEGIN {
-# open STDERR, '>', '/home/ailin/wlstatwarnings';
-#};
-
-# FIXME COULD SOMEONE PLEASE TELL ME HOW TO SHUT UP
-#
-# ...
-# Variable "*" will not stay shared at (eval *) line *.
-# Variable "*" will not stay shared at (eval *) line *.
-# ...
-# Can't locate package Irssi::Nick for @Irssi::Irc::Nick::ISA at (eval *) line *.
-# ...
-#
-# THANKS
-
-# }}}
-
-# if you don't know how to operate folds, type zn
-
-# {{{ header
-
-use Irssi (); # which is the minimum required version of Irssi ?
-use Irssi::TextUI;
-
-use vars qw($VERSION %IRSSI);
-
-$VERSION = '0.6ca';
-%IRSSI = (
- original_authors => q(BC-bd, Veli, Timo Sirainen, ).
- q(Wouter Coekaerts, Jean-Yves Lefort), # (decadix)
- original_contact => q(bd@bc-bd.org, veli@piipiip.net, tss@iki.fi, ).
- q(wouter@coekaerts.be, jylefort@brutele.be),
- authors => q(Nei),
- contact => q(Nei@QuakeNet),
- url => "http://ai.onetrix.net/",
- name => q(awl),
- description => q(Adds a permanent advanced window list on the right or ).
- q(in a statusbar.),
- description2 => q(Based on chanact.pl which was apparently based on ).
- q(lightbar.c and nicklist.pl with various other ideas ).
- q(from random scripts.),
- license => q(GNU GPLv2 or later),
-);
-
-# }}}
-
-# {{{ *** D O C U M E N T A T I O N ***
-
-# adapted by Nei
-
-###############
-# {{{ original comment
-# ###########
-# # Adds new powerful and customizable [Act: ...] item (chanelnames,modes,alias).
-# # Lets you give alias characters to windows so that you can select those with
-# # meta-.
-# #
-# # for irssi 0.8.2 by bd@bc-bd.org
-# #
-# # inspired by chanlist.pl by 'cumol@hammerhart.de'
-# #
-# #########
-# # {{{ Contributors
-# #########
-# #
-# # veli@piipiip.net /window_alias code
-# # qrczak@knm.org.pl chanact_abbreviate_names
-# # qerub@home.se Extra chanact_show_mode and chanact_chop_status
-# # }}}
-# }}}
-#
-# {{{ FURTHER THANKS TO
-# ############
-# # buu, fxn, Somni, Khisanth, integral, tybalt89 for much support in any aspect perl
-# # and the channel in general ( #perl @ freenode ) and especially the ir_* functions
-# #
-# # Valentin 'senneth' Batz ( vb@g-23.org ) for the pointer to grep.pl, continuous support
-# # and help in digging up ir_strip_codes
-# #
-# # OnetrixNET technology networks for the debian environment
-# #
-# # Monkey-Pirate.com / Spaceman Spiff for the webspace
-# #
-# }}}
-
-######
-# {{{ M A I N P R O B L E M
-#####
-#
-# It is impossible to place the awl on a statusbar together with other items,
-# because I do not know how to calculate the size that it is going to get
-# granted, and therefore I cannot do the linebreaks properly.
-# This is what is missing to make a nice script out of awl.
-# If you have any ideas, please contact me ASAP :).
-# }}}
-######
-
-######
-# {{{ UTF-8 PROBLEM
-#####
-#
-# Please help me find a solution to this:
-# this be your statusbar, it is using up the maximum term size
-# [[1=1]#abc [2=2]#defghi]
-#
-# now consider this example:i
-# "ascii" characters are marked with ., utf-8 characters with *
-# [[1=1]#... [2=2]#...***]
-#
-# you should think that this is how it would be displayed? WRONG!
-# [[1=1]#... [2=2]#...*** ]
-#
-# this is what Irssi does.. I believe my length calculating code to be correct,
-# however, I'd love to be proven wrong (or receive any other fix, too, of
-# course!)
-# }}}
-######
-
-#########
-# {{{ USAGE
-###
-#
-# copy the script to ~/.irssi/scripts/
-#
-# In irssi:
-#
-# /script load awl
-#
-#
-# Hint: to get rid of the old [Act:] display
-# /statusbar window remove act
-#
-# to get it back:
-# /statusbar window add -after lag -priority 10 act
-# }}}
-##########
-# {{{ OPTIONS
-########
-#
-# {{{ /set awl_display_nokey
-# /set awl_display_key
-# /set awl_display_nokey_active
-# /set awl_display_key_active
-# * string : Format String for one window. The following $'s are expanded:
-# $C : Name
-# $N : Number of the Window
-# $Q : meta-Keymap
-# $H : Start highlighting
-# $S : Stop highlighting
-# /+++++++++++++++++++++++++++++++++,
-# | **** I M P O R T A N T : **** |
-# | |
-# | don't forget to use $S if you |
-# | used $H before! |
-# | |
-# '+++++++++++++++++++++++++++++++++/
-# XXX NOTE ON *_active: there is a BUG somewhere in the length
-# XXX calculation. currently it's best to NOT remove $H/$S from those
-# XXX settings if you use it in the non-active settings.
-# }}}
-# {{{ /set awl_separator
-# * string : Charater to use between the channel entries
-# you'll need to escape " " space and "$" like this:
-# "/set awl_separator \ "
-# "/set awl_separator \$"
-# and {}% like this:
-# "/set awl_separator %{"
-# "/set awl_separator %}"
-# "/set awl_separator %%"
-# (reason being, that the separator is used inside a {format })
-# }}}
-# {{{ /set awl_prefer_name
-# * this setting decides whether awl will use the active_name (OFF) or the
-# window name as the name/caption in awl_display_*.
-# That way you can rename windows using /window name myownname.
-# }}}
-# {{{ /set awl_hide_data
-# * num : hide the window if its data_level is below num
-# set it to 0 to basically disable this feature,
-# 1 if you don't want windows without activity to be shown
-# 2 to show only those windows with channel text or hilight
-# 3 to show only windows with hilight
-# }}}
-# {{{ /set awl_maxlines
-# * num : number of lines to use for the window list (0 to disable, negative
-# lock)
-# }}}
-# {{{ /set awl_columns
-# * num : number of columns to use in screen mode (0 for unlimited)
-# }}}
-# {{{ /set awl_block
-# * num : width of a column in screen mode (negative values = block display)
-# /+++++++++++++++++++++++++++++++++,
-# | ****** W A R N I N G ! ****** |
-# | |
-# | If your block display looks |
-# | DISTORTED, you need to add the |
-# | following line to your .theme |
-# | file under |
-# | abstracts = { : |
-# | |
-# | sb_act_none = "%n$*"; |
-# | |
-# '+++++++++++++++++++++++++++++++++/
-#.02:08:26. < shi> Irssi::current_theme()->get_format <.. can this be used?
-# }}}
-# {{{ /set awl_sbar_maxlength
-# * if you enable the maxlength setting, the block width will be used as a
-# maximum length for the non-block statusbar mode too.
-# }}}
-# {{{ /set awl_height_adjust
-# * num : how many lines to leave empty in screen mode
-# }}}
-# {{{ /set awl_sort <-data_level|-last_line|refnum>
-# * you can change the window sort order with this variable
-# -data_level : sort windows with hilight first
-# -last_line : sort windows in order of activity
-# refnum : sort windows by window number
-# }}}
-# {{{ /set awl_placement
-# /set awl_position
-# * these settings correspond to /statusbar because awl will create
-# statusbars for you
-# (see /help statusbar to learn more)
-# }}}
-# {{{ /set awl_all_disable
-# * if you set awl_all_disable to ON, awl will also remove the
-# last statusbar it created if it is empty.
-# As you might guess, this only makes sense with awl_hide_data > 0 ;)
-# }}}
-# {{{ /set awl_automode
-# * this setting defines whether the window list is shown in statusbars or
-# whether the screen hack is used (from nicklist.pl)
-# }}}
-# }}}
-##########
-# {{{ COMMANDS
-########
-# {{{ /awl paste
-# * enables or disables the screen hack windowlist. This is useful when you
-# want to mark & copy text that you want to paste somewhere (hence the
-# name). (ON means AWL disabled!)
-# This is nicely bound to a function key for example.
-# }}}
-# {{{ /awl redraw
-# * redraws the screen hack windowlist. There are many occasions where the
-# screen hack windowlist can get destroyed so you can use this command to
-# fix it.
-# }}}
-# }}}
-###
-# {{{ WISHES
-####
-#
-# if you fiddle with my mess, provide me with your fixes so I can benefit as well
-#
-# Nei =^.^= ( QuakeNet accountname: ailin )
-# }}}
-
-# }}}
-
-# {{{ modules
-
-#use Class::Classless;
-#use Term::Info;
-
-# }}}
-
-# {{{ global variables
-
-my $replaces = '[=]'; # AARGH!!! (chars that are always surrounded by weird
- # colour codes by Irssi)
-
-my $actString = []; # statusbar texts
-my $currentLines = 0;
-my $resetNeeded; # layout/screen has changed, redo everything
-my $needRemake; # "normal" changes
-#my $callcount = 0;
-sub GLOB_QUEUE_TIMER () { 100 }
-my $globTime = undef; # timer to limit remake() calls
-
-
-my $SCREEN_MODE;
-my $DISABLE_SCREEN_TEMP;
-my $currentColumns = 0;
-my $screenResizing;
-my ($screenHeight, $screenWidth);
-my $screenansi = bless {
- NAME => 'Screen::ANSI',
- PARENTS => [],
- METHODS => {
- dcs => sub { "\033P" },
- st => sub { "\033\\"},
- }
-}, 'Class::Classless::X';
-#my $terminfo = new Term::Info 'xterm'; # xterm here, make this modular
-# {{{{{{{{{{{{{{{
-my $terminfo = bless { # xterm here, make this modular
- NAME => 'Term::Info::xterm',
- PARENTS => [],
- METHODS => {
- # civis=\E[?25l,
- civis => sub { "\033[?25l" },
- # sc=\E7,
- sc => sub { "\0337" },
- # cup=\E[%i%p1%d;%p2%dH,
- cup => sub { shift;shift; "\033[" . ($_[0] + 1) . ';' . ($_[1] + 1) . 'H' },
- # el=\E[K,
- el => sub { "\033[K" },
- # rc=\E8,
- rc => sub { "\0338" },
- # cnorm=\E[?25h,
- cnorm => sub { "\033[?25h" },
- # setab=\E[4%p1%dm,
- setab => sub { shift;shift; "\033[4" . $_[0] . 'm' },
- # setaf=\E[3%p1%dm,
- setaf => sub { shift;shift; "\033[3" . $_[0] . 'm' },
- # bold=\E[1m,
- bold => sub { "\033[1m" },
- # blink=\E[5m,
- blink => sub { "\033[5m" },
- # rev=\E[7m,
- rev => sub { "\033[7m" },
- # op=\E[39;49m,
- op => sub { "\033[39;49m" },
- }
-}, 'Class::Classless::X';
-# }}}}}}}}}}}}}}}
-
-
-sub setc () {
- $IRSSI{'name'}
-}
-sub set ($) {
- setc . '_' . shift
-}
-
-# }}}
-
-
-# {{{ sbar mode
-
-my %statusbars; # currently active statusbars
-
-# maybe I should just tie the array ?
-sub add_statusbar {
- for (@_) {
- # add subs
- for my $l ($_) { {
- no strict 'refs'; # :P
- *{set$l} = sub { awl($l, @_) };
- }; }
- Irssi::command('statusbar ' . (set$_) . ' reset');
- Irssi::command('statusbar ' . (set$_) . ' enable');
- if (lc Irssi::settings_get_str(set 'placement') eq 'top') {
- Irssi::command('statusbar ' . (set$_) . ' placement top');
- }
- if ((my $x = int Irssi::settings_get_int(set 'position')) != 0) {
- Irssi::command('statusbar ' . (set$_) . ' position ' . $x);
- }
- Irssi::command('statusbar ' . (set$_) . ' add -priority 100 -alignment left barstart');
- Irssi::command('statusbar ' . (set$_) . ' add ' . (set$_));
- Irssi::command('statusbar ' . (set$_) . ' add -priority 100 -alignment right barend');
- Irssi::command('statusbar ' . (set$_) . ' disable');
- Irssi::statusbar_item_register(set$_, '$0', set$_);
- $statusbars{$_} = {};
- }
-}
-
-sub remove_statusbar {
- for (@_) {
- Irssi::command('statusbar ' . (set$_) . ' reset');
- Irssi::statusbar_item_unregister(set$_); # XXX does this actually work ?
- # DO NOT REMOVE the sub before you have unregistered it :))
- for my $l ($_) { {
- no strict 'refs';
- undef &{set$l};
- }; }
- delete $statusbars{$_};
- }
-}
-
-sub syncLines {
- my $temp = $currentLines;
- $currentLines = @$actString;
- #Irssi::print("current lines: $temp new lines: $currentLines");
- my $currMaxLines = Irssi::settings_get_int(set 'maxlines');
- if ($currMaxLines > 0 and @$actString > $currMaxLines) {
- $currentLines = $currMaxLines;
- }
- elsif ($currMaxLines < 0) {
- $currentLines = abs($currMaxLines);
- }
- return if ($temp == $currentLines);
- if ($currentLines > $temp) {
- for ($temp .. ($currentLines - 1)) {
- add_statusbar($_);
- Irssi::command('statusbar ' . (set$_) . ' enable');
- }
- }
- else {
- for ($_ = ($temp - 1); $_ >= $currentLines; $_--) {
- Irssi::command('statusbar ' . (set$_) . ' disable');
- remove_statusbar($_);
- }
- }
-}
-
-# FIXME implement $get_size_only check, and user $item->{min|max-size} ??
-sub awl {
- my ($line, $item, $get_size_only) = @_;
-
- if ($needRemake) {
- $needRemake = undef;
- remake();
- }
-
- my $text = $actString->[$line]; # DO NOT set the actual $actString->[$line] to '' here or
- $text = '' unless defined $text; # you'll screw up the statusbar counter ($currentLines)
- $item->default_handler($get_size_only, $text, '', 1);
-}
-
-# remove old statusbars
-my %killBar;
-sub get_old_status {
- my ($textDest, $cont, $cont_stripped) = @_;
- if ($textDest->{'level'} == 524288 and $textDest->{'target'} eq ''
- and !defined($textDest->{'server'})
- ) {
- my $name = quotemeta(set '');
- if ($cont_stripped =~ m/^$name(\d+)\s/) { $killBar{$1} = {}; }
- Irssi::signal_stop();
- }
-}
-sub killOldStatus {
- %killBar = ();
- Irssi::signal_add_first('print text' => 'get_old_status');
- Irssi::command('statusbar');
- Irssi::signal_remove('print text' => 'get_old_status');
- remove_statusbar(keys %killBar);
-}
-#killOldStatus();
-
-# end sbar mode }}}
-
-
-# {{{ keymaps
-
-my %keymap;
-
-sub get_keymap {
- my ($textDest, undef, $cont_stripped) = @_;
- if ($textDest->{'level'} == 524288 and $textDest->{'target'} eq ''
- and !defined($textDest->{'server'})
- ) {
- if ($cont_stripped =~ m/((?:meta-)+)(.)\s+change_window (\d+)/) {
- my ($level, $key, $window) = ($1, $2, $3);
- my $numlevel = ($level =~ y/-//) - 1;
- $keymap{$window} = ('-' x $numlevel) . "$key";
- }
- Irssi::signal_stop();
- }
-}
-
-sub update_keymap {
- %keymap = ();
- Irssi::signal_remove('command bind' => 'watch_keymap');
- Irssi::signal_add_first('print text' => 'get_keymap');
- Irssi::command('bind'); # stolen from grep
- Irssi::signal_remove('print text' => 'get_keymap');
- Irssi::signal_add('command bind' => 'watch_keymap');
- Irssi::timeout_add_once(100, 'eventChanged', undef);
-}
-
-# watch keymap changes
-sub watch_keymap {
- Irssi::timeout_add_once(1000, 'update_keymap', undef);
-}
-
-update_keymap();
-
-# end keymaps }}}
-
-# {{{ format handling
-
-# a bad way do do expansions but who cares
-sub expand {
- my ($string, %format) = @_;
- my ($exp, $repl);
- $string =~ s/\$$exp/$repl/g while (($exp, $repl) = each(%format));
- return $string;
-}
-
-my %strip_table = (
- # fe-common::core::formats.c:format_expand_styles
- # delete format_backs format_fores bold_fores other stuff
- (map { $_ => '' } (split //, '04261537' . 'kbgcrmyw' . 'KBGCRMYW' . 'U9_8:|FnN>#[')),
- # escape
- (map { $_ => $_ } (split //, '{}%')),
-);
-sub ir_strip_codes { # strip %codes
- my $o = shift;
- $o =~ s/(%(.))/exists $strip_table{$2} ? $strip_table{$2} : $1/gex;
- $o
-}
-
-sub ir_parse_special {
- my $o; my $i = shift;
- #if ($_[0]) { # for the future?!?
- # eval {
- # $o = $_[0]->parse_special($i);
- # };
- # unless ($@) {
- # return $o;
- # }
- #}
- my $win = shift || Irssi::active_win();
- my $server = Irssi::active_server();
- if (ref $win and ref $win->{'active'}) {
- $o = $win->{'active'}->parse_special($i);
- }
- elsif (ref $win and ref $win->{'active_server'}) {
- $o = $win->{'active_server'}->parse_special($i);
- }
- elsif (ref $server) {
- $o = $server->parse_special($i);
- }
- else {
- $o = Irssi::parse_special($i);
- }
- $o
-}
-sub ir_parse_special_protected {
- my $o; my $i = shift;
- $i =~ s/
- ( \\. ) | # skip over escapes (maybe)
- ( \$[^% $\]+ ) # catch special variables
- /
- if ($1) { $1 }
- elsif ($2) { my $i2 = $2; ir_fe(ir_parse_special($i2, @_)) }
- else { $& }
- /gex;
- $i
-}
-
-
-sub sb_ctfe { # Irssi::current_theme->format_expand wrapper
- Irssi::current_theme->format_expand(
- shift,
- (
- Irssi::EXPAND_FLAG_IGNORE_REPLACES
- |
- ($_[0]?0:Irssi::EXPAND_FLAG_IGNORE_EMPTY)
- )
- )
-}
-sub sb_expand { # expand {format }s (and apply parse_special for $vars)
- ir_parse_special(
- sb_ctfe(shift)
- )
-}
-sub sb_strip {
- ir_strip_codes(
- sb_expand(shift)
- ); # does this get us the actual length of that s*ty bar :P ?
-}
-sub sb_length {
- # unicode cludge, d*mn broken Irssi
- # screw it, this will fail from broken joining anyway (and cause warnings)
- my $term_type = 'term_type';
- if (Irssi::version > 20040819) { # this is probably wrong, but I don't know
- # when the setting name got changed
- $term_type = 'term_charset';
- }
- #if (lc Irssi::settings_get_str($term_type) eq '8bit'
- # or Irssi::settings_get_str($term_type) =~ /^iso/i
- #) {
- # length(sb_strip(shift))
- #}
- #else {
- my $temp = sb_strip(shift);
- # try to get the displayed width
- my $length;
- eval {
- require Text::CharWidth;
- $length = Text::CharWidth::mbswidth($temp);
- };
- unless ($@) {
- return $length;
- }
- else {
- if (lc Irssi::settings_get_str($term_type) eq 'utf-8') {
- # try to switch on utf8
- eval {
- no warnings;
- require Encode;
- #$temp = Encode::decode_utf8($temp); # thanks for the hint, but I have my
- # # reasons for _utf8_on
- Encode::_utf8_on($temp);
- };
- }
- # there is nothing more I can do
- length($temp)
- }
- #}
-}
-
-# !!! G*DD*MN Irssi is adding an additional layer of backslashitis per { } layer
-# !!! AND I still don't know what I need to escape.
-# !!! and NOONE else seems to know or care either.
-# !!! f*ck open source. I mean it.
-# XXX any Irssi::print debug statement leads to SEGFAULT - why ?
-
-# major parts of the idea by buu (#perl @ freenode)
-# thanks to fxn and Somni for debugging
-# while ($_[0] =~ /(.)/g) {
-# my $c = $1; # XXX sooo... goto kills $1
-# if ($q eq '%') { goto ESC; }
-
-## s/%(.)|(\{)|(\})|(\\|\$)/$1?$1:$2?($level++,$2):$3?($level>$min_level&&$level--,$3):'\\'x(2**$level-1).$4/ge; # untested...
-sub ir_escape {
- my $min_level = $_[1] || 0; my $level = $min_level;
- my $o = shift;
- $o =~ s/
- ( %. ) | # $1
- ( \{ ) | # $2
- ( \} ) | # $3
- ( \\ ) | # $4
- ( \$(?=[^\\]) ) | # $5
- ( \$ ) # $6
- /
- if ($1) { $1 } # %. escape
- elsif ($2) { $level++; $2 } # { nesting start
- elsif ($3) { if ($level > $min_level) { $level--; } $3 } # } nesting end
- elsif ($4) { '\\'x(2**$level) } # \ needs \\escaping
- elsif ($5) { '\\'x(2**$level-1) . '$' . '\\'x(2**$level-1) } # and $ needs even more because of "parse_special"
- else { '\\'x(2**$level-1) . '$' } # $ needs \$ escaping
- /gex;
- $o
-}
-#sub ir_escape {
-# my $min_level = $_[1] || 0; my $level = $min_level;
-# my $o = shift;
-# $o =~ s/
-# ( %. ) | # $1
-# ( \{ ) | # $2
-# ( \} ) | # $3
-# ( \\ | \$ ) # $4
-# /
-# if ($1) { $1 } # %. escape
-# elsif ($2) { $level++; $2 } # { nesting start
-# elsif ($3) { if ($level > $min_level) { $level--; } $3 } # } nesting end
-# else { '\\'x(2**($level-1)-1) . $4 } # \ or $ needs \\escaping
-# /gex;
-# $o
-#}
-
-sub ir_fe { # try to fix format stuff
- my $x = shift;
- # XXX why do I have to use two/four % here instead of one/two ??
- # answer: you screwed up in ir_escape
- $x =~ s/([%{}])/%$1/g;
- #$x =~ s/(\\|\$|[ ])/\\$1/g; # XXX HOW CAN I HANDLE THE SPACES CORRECTLY XXX
- $x =~ s/(\\|\$)/\\$1/g;
- #$x =~ s/(\$(?=.))|(\$)/$1?"\\\$\\":"\\\$"/ge; # I think this should be here
- # # (logic), but it doesn't work
- # # that way :P
- #$x =~ s/\\/\\\\/g; # that's right, escape escapes
- $x
-}
-sub ir_ve { # escapes special vars but leave colours alone
- my $x = shift;
- #$x =~ s/([%{}])/%$1/g;
- $x =~ s/(\\|\$|[ ])/\\$1/g;
- $x
-}
-
-my %ansi_table;
-{
- my ($i, $j, $k) = (0, 0, 0);
- %ansi_table = (
- # fe-common::core::formats.c:format_expand_styles
- # do format_backs
- (map { $_ => $terminfo->setab($i++) } (split //, '01234567' )),
- # do format_fores
- (map { $_ => $terminfo->setaf($j++) } (split //, 'krgybmcw' )),
- # do bold_fores
- (map { $_ => $terminfo->bold() .
- $terminfo->setaf($k++) } (split //, 'KRGYBMCW')),
- # reset
- #(map { $_ => $terminfo->op() } (split //, 'nN')),
- (map { $_ => $terminfo->op() } (split //, 'n')),
- (map { $_ => "\033[0m" } (split //, 'N')), # XXX quick and DIRTY
- # flash/bright
- F => $terminfo->blink(),
- # reverse
- 8 => $terminfo->rev(),
- # bold
- (map { $_ => $terminfo->bold() } (split //, '9_')),
- # delete other stuff
- (map { $_ => '' } (split //, ':|>#[')),
- # escape
- (map { $_ => $_ } (split //, '{}%')),
- )
-}
-sub formats_to_ansi_basic {
- my $o = shift;
- $o =~ s/(%(.))/exists $ansi_table{$2} ? $ansi_table{$2} : $1/gex;
- $o
-}
-
-sub lc1459 ($) { my $x = shift; $x =~ y/A-Z][\^/a-z}{|~/; $x }
-Irssi::settings_add_str(setc, 'banned_channels', '');
-Irssi::settings_add_bool(setc, 'banned_channels_on', 0);
-my %banned_channels = map { lc1459($_) => undef }
-split ' ', Irssi::settings_get_str('banned_channels');
-Irssi::settings_add_str(setc, 'fancy_abbrev', 'fancy');
-
-# }}}
-
-# {{{ main
-
-sub remake () {
- #$callcount++;
- #my $xx = $callcount; Irssi::print("starting remake [ $xx ]");
- my ($hilight, $number, $display);
- my $separator = '{sb_act_sep ' . Irssi::settings_get_str(set 'separator') .
- '}';
- my $custSort = Irssi::settings_get_str(set 'sort');
- my $custSortDir = 1;
- if ($custSort =~ /^[-!](.*)/) {
- $custSortDir = -1;
- $custSort = $1;
- }
-
- my @wins =
- sort {
- (
- ( (int($a->{$custSort}) <=> int($b->{$custSort})) * $custSortDir )
- ||
- ($a->{'refnum'} <=> $b->{'refnum'})
- )
- } Irssi::windows;
- my $block = Irssi::settings_get_int(set 'block');
- my $columns = $currentColumns;
- my $oldActString = $actString if $SCREEN_MODE;
- $actString = $SCREEN_MODE ? [' A W L'] : [];
- my $line = $SCREEN_MODE ? 1 : 0;
- my $width = $SCREEN_MODE
- ?
- $screenWidth - abs($block)*$columns + 1
- :
- ([Irssi::windows]->[0]{'width'} - sb_length('{sb x}'));
- my $height = $screenHeight - abs(Irssi::settings_get_int(set
- 'height_adjust'));
- my ($numPad, $keyPad) = (0, 0);
- my %abbrevList;
- if ($SCREEN_MODE or Irssi::settings_get_bool(set 'sbar_maxlength')
- or ($block < 0)
- ) {
- %abbrevList = ();
- if (Irssi::settings_get_str('fancy_abbrev') !~ /^(no|off|head)/i) {
- my @nameList = map { ref $_ ? $_->get_active_name : '' } @wins;
- for (my $i = 0; $i < @nameList - 1; ++$i) {
- my ($x, $y) = ($nameList[$i], $nameList[$i + 1]);
- for ($x, $y) { s/^[+#!=]// }
- my $res = Algorithm::LCSS::LCSS($x, $y);
- if (defined $res) {
- #Irssi::print("common pattern $x $y : $res");
- #Irssi::print("found at $nameList[$i] ".index($nameList[$i],
- # $res));
- $abbrevList{$nameList[$i]} = int (index($nameList[$i], $res) +
- (length($res) / 2));
- #Irssi::print("found at ".$nameList[$i+1]." ".index($nameList[$i+1],
- # $res));
- $abbrevList{$nameList[$i+1]} = int (index($nameList[$i+1], $res) +
- (length($res) / 2));
- }
- }
- }
- if ($SCREEN_MODE or ($block < 0)) {
- $numPad = length((sort { length($b) <=> length($a) } keys %keymap)[0]);
- $keyPad = length((sort { length($b) <=> length($a) } values %keymap)[0]);
- }
- }
- if ($SCREEN_MODE) {
- print STDERR $screenansi->dcs().
- $terminfo->civis().
- $terminfo->sc().
- $screenansi->st();
- if (@$oldActString < 1) {
- print STDERR $screenansi->dcs().
- $terminfo->cup(0, $width).
- $actString->[0].
- $terminfo->el().
- $screenansi->st();
- }
- }
- foreach my $win (@wins) {
- unless ($SCREEN_MODE) {
- $actString->[$line] = '' unless defined $actString->[$line]
- or Irssi::settings_get_bool(set 'all_disable');
- }
-
- # all stolen from chanact, what does this code do and why do we need it ?
- !ref($win) && next;
-
- my $name = $win->get_active_name;
- $name = '*' if (Irssi::settings_get_bool('banned_channels_on') and exists
- $banned_channels{lc1459($name)});
- $name = $win->{'name'} if $name ne '*' and $win->{'name'} ne ''
- and Irssi::settings_get_bool(set 'prefer_name');
- my $active = $win->{'active'};
- my $colour = $win->{'hilight_color'};
- if (!defined $colour) { $colour = ''; }
-
- if ($win->{'data_level'} < Irssi::settings_get_int(set 'hide_data')) {
- next; } # for Geert
- if ($win->{'data_level'} == 0) { $hilight = '{sb_act_none '; }
- elsif ($win->{'data_level'} == 1) { $hilight = '{sb_act_text '; }
- elsif ($win->{'data_level'} == 2) { $hilight = '{sb_act_msg '; }
- elsif ($colour ne '') { $hilight = "{sb_act_hilight_color $colour "; }
- elsif ($win->{'data_level'} == 3) { $hilight = '{sb_act_hilight '; }
- else { $hilight = '{sb_act_special '; }
-
- $number = $win->{'refnum'};
- my @display = ('display_nokey');
- if (defined $keymap{$number} and $keymap{$number} ne '') {
- unshift @display, map { (my $cpy = $_) =~ s/_no/_/; $cpy } @display;
- }
- if (Irssi::active_win->{'refnum'} == $number) {
- unshift @display, map { my $cpy = $_; $cpy .= '_active'; $cpy } @display;
- }
- #Irssi::print("win $number [@display]: " . join '.', split //, join '<<', map {
- # Irssi::settings_get_str(set $_) } @display);
- $display = (grep { $_ }
- map { Irssi::settings_get_str(set $_) }
- @display)[0];
- #Irssi::print("win $number : " . join '.', split //, $display);
-
- if ($SCREEN_MODE or Irssi::settings_get_bool(set 'sbar_maxlength')
- or ($block < 0)
- ) {
- my $baseLength = sb_length(ir_escape(ir_ve(ir_parse_special_protected(sb_ctfe(
- '{sb_background}' . expand($display,
- C => ir_fe('x'),
- N => $number . (' 'x($numPad - length($number))),
- Q => ir_fe((' 'x($keyPad - length($keymap{$number}))) . $keymap{$number}),
- H => $hilight,
- S => '}{sb_background}'
- ), 1), $win)))) - 1;
- my $diff = abs($block) - (length($name) + $baseLength);
- if ($diff < 0) { # too long
- if (abs($diff) >= length($name)) { $name = '' } # forget it
- elsif (abs($diff) + 1 >= length($name)) { $name = substr($name,
- 0, 1); }
- else {
- my $middle = exists $abbrevList{$name} ?
- (($abbrevList{$name} + (2*(length($name) / 2)))/3) :
- ((Irssi::settings_get_str('fancy_abbrev') =~ /^head/i) ?
- length($name) :
- (length($name) / 2));
- my $cut = int($middle - (abs($diff) / 2) + .55);
- $cut = 1 if $cut < 1;
- $cut = length($name) - abs($diff) - 1 if $cut > (length($name) -
- abs($diff) - 1);
- $name = substr($name, 0, $cut) . '~' . substr($name, $cut +
- abs($diff) + 1);
- }
- }
- elsif ($SCREEN_MODE or ($block < 0)) {
- $name .= (' ' x $diff);
- }
- }
-
- my $add = ir_ve(ir_parse_special_protected(sb_ctfe('{sb_background}' . expand($display,
- C => ir_fe($name),
- N => $number . (' 'x($numPad - length($number))),
- Q => ir_fe((' 'x($keyPad - length($keymap{$number}))) . $keymap{$number}),
- H => $hilight,
- S => '}{sb_background}'
- ), 1), $win));
- if ($SCREEN_MODE) {
- $actString->[$line] = $add;
- if ((!defined $oldActString->[$line]
- or $oldActString->[$line] ne $actString->[$line])
- and
- $line <= ($columns * $height)
- ) {
- print STDERR $screenansi->dcs().
- $terminfo->cup(($line-1) % $height+1, $width + (
- abs($block) * int(($line-1) / $height))).
- formats_to_ansi_basic(sb_expand(ir_escape($actString->[$line]))).
- #$terminfo->el().
- $screenansi->st();
- }
- $line++;
- }
- else {
- #$temp =~ s/\{\S+?(?:\s(.*?))?\}/$1/g;
- #$temp =~ s/\\\\\\\\/\\/g; # XXX I'm actually guessing here, someone point me
- # # XXX to docs please
- $actString->[$line] = '' unless defined $actString->[$line];
-
- # XXX how can I check whether the content still fits in the bar? this would
- # XXX allow awlstatus to reside on a statusbar together with other items...
- if (sb_length(ir_escape($actString->[$line] . $add)) >= $width) {
- # XXX doesn't correctly handle utf-8 multibyte ... help !!?
- $actString->[$line] .= ' ' x ($width - sb_length(ir_escape(
- $actString->[$line])));
- $line++;
- }
- $actString->[$line] .= $add . $separator;
- # XXX if I use these prints, output layout gets screwed up... why ?
- #Irssi::print("line $line: ".$actString->[$line]);
- #Irssi::print("temp $line: ".$temp);
- }
- }
-
- if ($SCREEN_MODE) {
- while ($line <= ($columns * $height)) {
- print STDERR $screenansi->dcs().
- $terminfo->cup(($line-1) % $height+1, $width + (
- abs($block) * int(($line-1) / $height))).
- $terminfo->el().
- $screenansi->st();
- $line++;
- }
- print STDERR $screenansi->dcs().
- $terminfo->rc().
- $terminfo->cnorm().
- $screenansi->st();
- }
- else {
- # XXX the Irssi::print statements lead to the MOST WEIRD results
- # e.g.: the loop gets executed TWICE for p > 0 ?!?
- for (my $p = 0; $p < @$actString; $p++) { # wrap each line in {sb }, escape it
- my $x = $actString->[$p]; # properly, etc.
- $x =~ s/\Q$separator\E([ ]*)$/$1/;
- #Irssi::print("[$p]".'current:'.join'.',split//,sb_strip(ir_escape($x,0)));
- #Irssi::print("assumed length before:".sb_length(ir_escape($x,0)));
- $x = "{sb $x}";
- #Irssi::print("[$p]".'new:'.join'.',split//,sb_expand(ir_escape($x,0)));
- #Irssi::print("[$p]".'new:'.join'.',split//,ir_escape($x,0));
- #Irssi::print("assumed length after:".sb_length(ir_escape($x,0)));
- $x = ir_escape($x);
- #Irssi::print("[$p]".'REALnew:'.join'.',split//,sb_strip($x));
- $actString->[$p] = $x;
- # XXX any Irssi::print debug statement leads to SEGFAULT (sometimes) - why ?
- }
- }
- #Irssi::print("remake [ $xx ] finished");
-}
-
-sub awlHasChanged () {
- $globTime = undef;
- my $temp = ($SCREEN_MODE ?
- "\\\n" . Irssi::settings_get_int(set 'block').
- Irssi::settings_get_int(set 'height_adjust')
- : "!\n" . Irssi::settings_get_str(set 'placement').
- Irssi::settings_get_int(set 'position')).
- Irssi::settings_get_str(set 'automode');
- if ($temp ne $resetNeeded) { wlreset(); return; }
- #Irssi::print("awl has changed, calls to remake so far: $callcount");
- $needRemake = 1;
-
- #remake();
- if (
- ($SCREEN_MODE and !$DISABLE_SCREEN_TEMP)
- or
- ($needRemake and Irssi::settings_get_bool(set 'all_disable'))
- or
- (!Irssi::settings_get_bool(set 'all_disable') and $currentLines < 1)
- ) {
- $needRemake = undef;
- remake();
- }
-
- unless ($SCREEN_MODE) {
- # XXX Irssi crashes if I try to do this without timer, why ? What's the minimum
- # XXX delay I need to use in the timer ?
- Irssi::timeout_add_once(100, 'syncLines', undef);
-
- for (keys %statusbars) {
- Irssi::statusbar_items_redraw(set$_);
- }
- }
- else {
- Irssi::timeout_add_once(100, 'syncColumns', undef);
- }
-}
-
-sub eventChanged () { # Implement a change queue/blocker -.-)
- if (defined $globTime) {
- Irssi::timeout_remove($globTime);
- } # delay the update further
- $globTime = Irssi::timeout_add_once(GLOB_QUEUE_TIMER, 'awlHasChanged', undef);
-}
-
-# }}}
-
-
-# {{{ screen mode
-
-sub screenFullRedraw {
- my ($window) = @_;
- if (!ref $window or $window->{'refnum'} == Irssi::active_win->{'refnum'}) {
- $actString = [];
- eventChanged();
- }
-}
-
-sub screenSize { # from nicklist.pl
- $screenResizing = 1;
- # fit screen
- system 'screen -x '.$ENV{'STY'}.' -X fit';
- # get size
- my ($row, $col) = split ' ', `stty size`;
- # set screen width
- $screenWidth = $col-1;
- $screenHeight = $row-1;
-
- # on some recent systems, "screen -X fit; screen -X width -w 50" doesn't work, needs a sleep in between the 2 commands
- # so we wait a second before setting the width
- Irssi::timeout_add_once(100, sub {
- my ($new_irssi_width) = @_;
- $new_irssi_width -= abs(Irssi::settings_get_int(set
- 'block'))*$currentColumns - 1;
- system 'screen -x '.$ENV{'STY'}.' -X width -w ' . $new_irssi_width;
- # and then we wait another second for the resizing, and then redraw.
- Irssi::timeout_add_once(10,sub {$screenResizing = 0; screenFullRedraw()}, []);
- }, $screenWidth);
-}
-
-sub screenOff {
- my ($unloadMode) = @_;
- Irssi::signal_remove('gui print text finished' => 'screenFullRedraw');
- Irssi::signal_remove('gui page scrolled' => 'screenFullRedraw');
- Irssi::signal_remove('window changed' => 'screenFullRedraw');
- Irssi::signal_remove('window changed automatic' => 'screenFullRedraw');
- if ($unloadMode) {
- Irssi::signal_remove('terminal resized' => 'resizeTerm');
- }
- system 'screen -x '.$ENV{'STY'}.' -X fit';
-}
-
-sub syncColumns {
- return if (@$actString == 0);
- my $temp = $currentColumns;
- #Irssi::print("current columns $temp");
- my $height = $screenHeight - abs(Irssi::settings_get_int(set
- 'height_adjust'));
- $currentColumns = int(($#$actString-1) / $height) + 1;
- #Irssi::print("objects in actstring:".scalar(@$actString).", screen height:".
- # $height);
- my $currMaxColumns = Irssi::settings_get_int(set 'columns');
- if ($currMaxColumns > 0 and $currentColumns > $currMaxColumns) {
- $currentColumns = $currMaxColumns;
- }
- elsif ($currMaxColumns < 0) {
- $currentColumns = abs($currMaxColumns);
- }
- return if ($temp == $currentColumns);
- screenSize();
-}
-
-#$needRemake = 1;
-sub resizeTerm () {
- if ($SCREEN_MODE and !$screenResizing) {
- $screenResizing = 1;
- Irssi::timeout_add_once(10, 'screenSize', undef);
- }
- Irssi::timeout_add_once(100, 'eventChanged', undef);
-}
-
-# }}}
-
-
-# {{{ settings add
-
-Irssi::settings_add_str(setc, set 'display_nokey', '[$N]$H$C$S');
-Irssi::settings_add_str(setc, set 'display_key', '[$Q=$N]$H$C$S');
-Irssi::settings_add_str(setc, set 'display_nokey_active', '');
-Irssi::settings_add_str(setc, set 'display_key_active', '');
-Irssi::settings_add_str(setc, set 'separator', "\\ ");
-Irssi::settings_add_bool(setc, set 'prefer_name', 0);
-Irssi::settings_add_int(setc, set 'hide_data', 0);
-Irssi::settings_add_int(setc, set 'maxlines', 9);
-Irssi::settings_add_int(setc, set 'columns', 1);
-Irssi::settings_add_int(setc, set 'block', 20);
-Irssi::settings_add_bool(setc, set 'sbar_maxlength', 0);
-Irssi::settings_add_int(setc, set 'height_adjust', 2);
-Irssi::settings_add_str(setc, set 'sort', 'refnum');
-Irssi::settings_add_str(setc, set 'placement', 'bottom');
-Irssi::settings_add_int(setc, set 'position', 0);
-Irssi::settings_add_bool(setc, set 'all_disable', 0);
-Irssi::settings_add_str(setc, set 'automode', 'sbar');
-
-# }}}
-
-
-# {{{ init
-
-sub wlreset {
- $actString = [];
- $currentLines = 0; # 1; # mhmmmm .. we actually enable one line down there so
- # let's try this.
- #update_keymap();
- killOldStatus();
- # Register statusbar
- #add_statusbar(0);
- #Irssi::command('statusbar wl0 enable');
- my $was_screen_mode = $SCREEN_MODE;
- if ($SCREEN_MODE = (Irssi::settings_get_str(set 'automode') =~ /screen/i)
- and
- !$was_screen_mode
- ) {
- if (!defined $ENV{'STY'}) {
- Irssi::print('Screen mode can only be used in GNU screen but no '.
- 'screen was found.', MSGLEVEL_CLIENTERROR);
- $SCREEN_MODE = undef;
- }
- else {
- Irssi::signal_add_last('gui print text finished' => 'screenFullRedraw');
- Irssi::signal_add_last('gui page scrolled' => 'screenFullRedraw');
- Irssi::signal_add('window changed' => 'screenFullRedraw');
- Irssi::signal_add('window changed automatic' => 'screenFullRedraw');
- }
- }
- elsif ($was_screen_mode and !$SCREEN_MODE) {
- screenOff();
- }
- $resetNeeded = ($SCREEN_MODE ?
- "\\\n" . Irssi::settings_get_int(set 'block').
- Irssi::settings_get_int(set 'height_adjust')
- : "!\n" . Irssi::settings_get_str(set 'placement').
- Irssi::settings_get_int(set 'position')).
- Irssi::settings_get_str(set 'automode');
- resizeTerm();
-}
-
-wlreset();
-
-# }}}
-
-
-# {{{ unload/deinit
-
-my $Unload;
-sub unload ($$$) {
- $Unload = 1;
- # pretend we didn't do anything ASAP
- Irssi::timeout_add_once(10, sub { $Unload = undef; }, undef);
-}
-# last try to catch a sigsegv
-Irssi::signal_add_first('gui exit' => sub { $Unload = undef; });
-sub UNLOAD {
- # this might well crash Irssi... try /eval /script unload someotherscript ;
- # /quit (= SEGFAULT !)
- if ($Unload) {
- $actString = ['']; # syncLines(); # XXX Irssi crashes when trying to disable
- killOldStatus(); # XXX all statusbars ?
- if ($SCREEN_MODE) {
- screenOff('unload mode');
- }
- }
-}
-
-# }}}
-
-
-# {{{ signals
-
-sub addPrintTextHook { # update on print text
- return if $_[0]->{'level'} == 262144 and $_[0]->{'target'} eq ''
- and !defined($_[0]->{'server'});
- if (Irssi::settings_get_str(set 'sort') =~ /^[-!]?last_line$/) {
- Irssi::timeout_add_once(100, 'eventChanged', undef);
- }
-}
-
-#sub _x { my ($x, $y) = @_; ($x, sub { Irssi::print('-->signal '.$x); eval "$y();"; }) }
-#sub _x { @_ }
-Irssi::signal_add_first(
- 'command script unload' => 'unload'
-);
-Irssi::signal_add_last({
- 'setup changed' => 'eventChanged',
- 'print text' => 'addPrintTextHook',
- 'terminal resized' => 'resizeTerm',
- 'setup reread' => 'wlreset',
- 'window hilight' => 'eventChanged',
-});
-Irssi::signal_add({
- 'window created' => 'eventChanged',
- 'window destroyed' => 'eventChanged',
- 'window name changed' => 'eventChanged',
- 'window refnum changed' => 'eventChanged',
- 'window changed' => 'eventChanged',
- 'window changed automatic' => 'eventChanged',
-});
-
-#Irssi::signal_add('nick mode changed', 'chanactHasChanged'); # relicts
-
-# }}}
-
-# {{{ commands
-
-
-sub runsub {
- my ($cmd) = @_;
- sub {
- my ($data, $server, $item) = @_;
- Irssi::command_runsub($cmd, $data, $server, $item);
- };
-}
-Irssi::command_bind( setc() => runsub(setc()) );
-Irssi::command_bind( setc() . ' paste' => runsub(setc() . ' paste') );
-Irssi::command_bind(
- setc() . ' paste on' => sub {
- return unless $SCREEN_MODE;
- my $was_disabled = $DISABLE_SCREEN_TEMP;
- $DISABLE_SCREEN_TEMP = 1;
- Irssi::print('Paste mode is now ON, '.uc(setc()).' is temporarily '.
- 'disabled.');
- if (!$was_disabled) {
- $screenResizing = 1;
- screenOff();
- }
- }
-);
-Irssi::command_bind(
- setc() . ' paste off' => sub {
- return unless $SCREEN_MODE;
- my $was_disabled = $DISABLE_SCREEN_TEMP;
- $DISABLE_SCREEN_TEMP = undef;
- Irssi::print('Paste mode is now OFF, '.uc(setc()).' is enabled.');
- if ($was_disabled) {
- $SCREEN_MODE = undef;
- $screenResizing = 0;
- wlreset();
- }
- }
-);
-Irssi::command_bind(
- setc() . ' paste toggle' => sub {
- if ($DISABLE_SCREEN_TEMP) {
- Irssi::command(setc() . ' paste off');
- }
- else {
- Irssi::command(setc() . ' paste on');
- }
- }
-);
-Irssi::command_bind(
- setc() . ' redraw' => sub {
- return unless $SCREEN_MODE;
- screenFullRedraw();
- }
-);
-
-
-# }}}
-
-# {{{ Algorithm::LCSS module
-{
- package Algorithm::Diff;
- # Skip to first "=head" line for documentation.
- use strict;
-
- use integer; # see below in _replaceNextLargerWith() for mod to make
- # if you don't use this
-
- # McIlroy-Hunt diff algorithm
- # Adapted from the Smalltalk code of Mario I. Wolczko,
- # by Ned Konz, perl@bike-nomad.com
- # Updates by Tye McQueen, http://perlmonks.org/?node=tye
-
- # Create a hash that maps each element of $aCollection to the set of
- # positions it occupies in $aCollection, restricted to the elements
- # within the range of indexes specified by $start and $end.
- # The fourth parameter is a subroutine reference that will be called to
- # generate a string to use as a key.
- # Additional parameters, if any, will be passed to this subroutine.
- #
- # my $hashRef = _withPositionsOfInInterval( \@array, $start, $end, $keyGen );
-
- sub _withPositionsOfInInterval
- {
- my $aCollection = shift; # array ref
- my $start = shift;
- my $end = shift;
- my $keyGen = shift;
- my %d;
- my $index;
- for ( $index = $start ; $index <= $end ; $index++ )
- {
- my $element = $aCollection->[$index];
- my $key = &$keyGen( $element, @_ );
- if ( exists( $d{$key} ) )
- {
- unshift ( @{ $d{$key} }, $index );
- }
- else
- {
- $d{$key} = [$index];
- }
- }
- return wantarray ? %d : \%d;
- }
-
- # Find the place at which aValue would normally be inserted into the
- # array. If that place is already occupied by aValue, do nothing, and
- # return undef. If the place does not exist (i.e., it is off the end of
- # the array), add it to the end, otherwise replace the element at that
- # point with aValue. It is assumed that the array's values are numeric.
- # This is where the bulk (75%) of the time is spent in this module, so
- # try to make it fast!
-
- sub _replaceNextLargerWith
- {
- my ( $array, $aValue, $high ) = @_;
- $high ||= $#$array;
-
- # off the end?
- if ( $high == -1 || $aValue > $array->[-1] )
- {
- push ( @$array, $aValue );
- return $high + 1;
- }
-
- # binary search for insertion point...
- my $low = 0;
- my $index;
- my $found;
- while ( $low <= $high )
- {
- $index = ( $high + $low ) / 2;
-
- # $index = int(( $high + $low ) / 2); # without 'use integer'
- $found = $array->[$index];
-
- if ( $aValue == $found )
- {
- return undef;
- }
- elsif ( $aValue > $found )
- {
- $low = $index + 1;
- }
- else
- {
- $high = $index - 1;
- }
- }
-
- # now insertion point is in $low.
- $array->[$low] = $aValue; # overwrite next larger
- return $low;
- }
-
- # This method computes the longest common subsequence in $a and $b.
-
- # Result is array or ref, whose contents is such that
- # $a->[ $i ] == $b->[ $result[ $i ] ]
- # foreach $i in ( 0 .. $#result ) if $result[ $i ] is defined.
-
- # An additional argument may be passed; this is a hash or key generating
- # function that should return a string that uniquely identifies the given
- # element. It should be the case that if the key is the same, the elements
- # will compare the same. If this parameter is undef or missing, the key
- # will be the element as a string.
-
- # By default, comparisons will use "eq" and elements will be turned into keys
- # using the default stringizing operator '""'.
-
- # Additional parameters, if any, will be passed to the key generation
- # routine.
-
- sub _longestCommonSubsequence
- {
- my $a = shift; # array ref or hash ref
- my $b = shift; # array ref or hash ref
- my $counting = shift; # scalar
- my $keyGen = shift; # code ref
- my $compare; # code ref
-
- if ( ref($a) eq 'HASH' )
- { # prepared hash must be in $b
- my $tmp = $b;
- $b = $a;
- $a = $tmp;
- }
-
- # Check for bogus (non-ref) argument values
- if ( !ref($a) || !ref($b) )
- {
- my @callerInfo = caller(1);
- die 'error: must pass array or hash references to ' . $callerInfo[3];
- }
-
- # set up code refs
- # Note that these are optimized.
- if ( !defined($keyGen) ) # optimize for strings
- {
- $keyGen = sub { $_[0] };
- $compare = sub { my ( $a, $b ) = @_; $a eq $b };
- }
- else
- {
- $compare = sub {
- my $a = shift;
- my $b = shift;
- &$keyGen( $a, @_ ) eq &$keyGen( $b, @_ );
- };
- }
-
- my ( $aStart, $aFinish, $matchVector ) = ( 0, $#$a, [] );
- my ( $prunedCount, $bMatches ) = ( 0, {} );
-
- if ( ref($b) eq 'HASH' ) # was $bMatches prepared for us?
- {
- $bMatches = $b;
- }
- else
- {
- my ( $bStart, $bFinish ) = ( 0, $#$b );
-
- # First we prune off any common elements at the beginning
- while ( $aStart <= $aFinish
- and $bStart <= $bFinish
- and &$compare( $a->[$aStart], $b->[$bStart], @_ ) )
- {
- $matchVector->[ $aStart++ ] = $bStart++;
- $prunedCount++;
- }
-
- # now the end
- while ( $aStart <= $aFinish
- and $bStart <= $bFinish
- and &$compare( $a->[$aFinish], $b->[$bFinish], @_ ) )
- {
- $matchVector->[ $aFinish-- ] = $bFinish--;
- $prunedCount++;
- }
-
- # Now compute the equivalence classes of positions of elements
- $bMatches =
- _withPositionsOfInInterval( $b, $bStart, $bFinish, $keyGen, @_ );
- }
- my $thresh = [];
- my $links = [];
-
- my ( $i, $ai, $j, $k );
- for ( $i = $aStart ; $i <= $aFinish ; $i++ )
- {
- $ai = &$keyGen( $a->[$i], @_ );
- if ( exists( $bMatches->{$ai} ) )
- {
- $k = 0;
- for $j ( @{ $bMatches->{$ai} } )
- {
-
- # optimization: most of the time this will be true
- if ( $k and $thresh->[$k] > $j and $thresh->[ $k - 1 ] < $j )
- {
- $thresh->[$k] = $j;
- }
- else
- {
- $k = _replaceNextLargerWith( $thresh, $j, $k );
- }
-
- # oddly, it's faster to always test this (CPU cache?).
- if ( defined($k) )
- {
- $links->[$k] =
- [ ( $k ? $links->[ $k - 1 ] : undef ), $i, $j ];
- }
- }
- }
- }
-
- if (@$thresh)
- {
- return $prunedCount + @$thresh if $counting;
- for ( my $link = $links->[$#$thresh] ; $link ; $link = $link->[0] )
- {
- $matchVector->[ $link->[1] ] = $link->[2];
- }
- }
- elsif ($counting)
- {
- return $prunedCount;
- }
-
- return wantarray ? @$matchVector : $matchVector;
- }
-
- sub traverse_sequences
- {
- my $a = shift; # array ref
- my $b = shift; # array ref
- my $callbacks = shift || {};
- my $keyGen = shift;
- my $matchCallback = $callbacks->{'MATCH'} || sub { };
- my $discardACallback = $callbacks->{'DISCARD_A'} || sub { };
- my $finishedACallback = $callbacks->{'A_FINISHED'};
- my $discardBCallback = $callbacks->{'DISCARD_B'} || sub { };
- my $finishedBCallback = $callbacks->{'B_FINISHED'};
- my $matchVector = _longestCommonSubsequence( $a, $b, 0, $keyGen, @_ );
-
- # Process all the lines in @$matchVector
- my $lastA = $#$a;
- my $lastB = $#$b;
- my $bi = 0;
- my $ai;
-
- for ( $ai = 0 ; $ai <= $#$matchVector ; $ai++ )
- {
- my $bLine = $matchVector->[$ai];
- if ( defined($bLine) ) # matched
- {
- &$discardBCallback( $ai, $bi++, @_ ) while $bi < $bLine;
- &$matchCallback( $ai, $bi++, @_ );
- }
- else
- {
- &$discardACallback( $ai, $bi, @_ );
- }
- }
-
- # The last entry (if any) processed was a match.
- # $ai and $bi point just past the last matching lines in their sequences.
-
- while ( $ai <= $lastA or $bi <= $lastB )
- {
-
- # last A?
- if ( $ai == $lastA + 1 and $bi <= $lastB )
- {
- if ( defined($finishedACallback) )
- {
- &$finishedACallback( $lastA, @_ );
- $finishedACallback = undef;
- }
- else
- {
- &$discardBCallback( $ai, $bi++, @_ ) while $bi <= $lastB;
- }
- }
-
- # last B?
- if ( $bi == $lastB + 1 and $ai <= $lastA )
- {
- if ( defined($finishedBCallback) )
- {
- &$finishedBCallback( $lastB, @_ );
- $finishedBCallback = undef;
- }
- else
- {
- &$discardACallback( $ai++, $bi, @_ ) while $ai <= $lastA;
- }
- }
-
- &$discardACallback( $ai++, $bi, @_ ) if $ai <= $lastA;
- &$discardBCallback( $ai, $bi++, @_ ) if $bi <= $lastB;
- }
-
- return 1;
- }
-
- sub traverse_balanced
- {
- my $a = shift; # array ref
- my $b = shift; # array ref
- my $callbacks = shift || {};
- my $keyGen = shift;
- my $matchCallback = $callbacks->{'MATCH'} || sub { };
- my $discardACallback = $callbacks->{'DISCARD_A'} || sub { };
- my $discardBCallback = $callbacks->{'DISCARD_B'} || sub { };
- my $changeCallback = $callbacks->{'CHANGE'};
- my $matchVector = _longestCommonSubsequence( $a, $b, 0, $keyGen, @_ );
-
- # Process all the lines in match vector
- my $lastA = $#$a;
- my $lastB = $#$b;
- my $bi = 0;
- my $ai = 0;
- my $ma = -1;
- my $mb;
-
- while (1)
- {
-
- # Find next match indices $ma and $mb
- do {
- $ma++;
- } while(
- $ma <= $#$matchVector
- && !defined $matchVector->[$ma]
- );
-
- last if $ma > $#$matchVector; # end of matchVector?
- $mb = $matchVector->[$ma];
-
- # Proceed with discard a/b or change events until
- # next match
- while ( $ai < $ma || $bi < $mb )
- {
-
- if ( $ai < $ma && $bi < $mb )
- {
-
- # Change
- if ( defined $changeCallback )
- {
- &$changeCallback( $ai++, $bi++, @_ );
- }
- else
- {
- &$discardACallback( $ai++, $bi, @_ );
- &$discardBCallback( $ai, $bi++, @_ );
- }
- }
- elsif ( $ai < $ma )
- {
- &$discardACallback( $ai++, $bi, @_ );
- }
- else
- {
-
- # $bi < $mb
- &$discardBCallback( $ai, $bi++, @_ );
- }
- }
-
- # Match
- &$matchCallback( $ai++, $bi++, @_ );
- }
-
- while ( $ai <= $lastA || $bi <= $lastB )
- {
- if ( $ai <= $lastA && $bi <= $lastB )
- {
-
- # Change
- if ( defined $changeCallback )
- {
- &$changeCallback( $ai++, $bi++, @_ );
- }
- else
- {
- &$discardACallback( $ai++, $bi, @_ );
- &$discardBCallback( $ai, $bi++, @_ );
- }
- }
- elsif ( $ai <= $lastA )
- {
- &$discardACallback( $ai++, $bi, @_ );
- }
- else
- {
-
- # $bi <= $lastB
- &$discardBCallback( $ai, $bi++, @_ );
- }
- }
-
- return 1;
- }
-
- sub prepare
- {
- my $a = shift; # array ref
- my $keyGen = shift; # code ref
-
- # set up code ref
- $keyGen = sub { $_[0] } unless defined($keyGen);
-
- return scalar _withPositionsOfInInterval( $a, 0, $#$a, $keyGen, @_ );
- }
-
- sub LCS
- {
- my $a = shift; # array ref
- my $b = shift; # array ref or hash ref
- my $matchVector = _longestCommonSubsequence( $a, $b, 0, @_ );
- my @retval;
- my $i;
- for ( $i = 0 ; $i <= $#$matchVector ; $i++ )
- {
- if ( defined( $matchVector->[$i] ) )
- {
- push ( @retval, $a->[$i] );
- }
- }
- return wantarray ? @retval : \@retval;
- }
-
- sub LCS_length
- {
- my $a = shift; # array ref
- my $b = shift; # array ref or hash ref
- return _longestCommonSubsequence( $a, $b, 1, @_ );
- }
-
- sub LCSidx
- {
- my $a= shift @_;
- my $b= shift @_;
- my $match= _longestCommonSubsequence( $a, $b, 0, @_ );
- my @am= grep defined $match->[$_], 0..$#$match;
- my @bm= @{$match}[@am];
- return \@am, \@bm;
- }
-
- sub compact_diff
- {
- my $a= shift @_;
- my $b= shift @_;
- my( $am, $bm )= LCSidx( $a, $b, @_ );
- my @cdiff;
- my( $ai, $bi )= ( 0, 0 );
- push @cdiff, $ai, $bi;
- while( 1 ) {
- while( @$am && $ai == $am->[0] && $bi == $bm->[0] ) {
- shift @$am;
- shift @$bm;
- ++$ai, ++$bi;
- }
- push @cdiff, $ai, $bi;
- last if ! @$am;
- $ai = $am->[0];
- $bi = $bm->[0];
- push @cdiff, $ai, $bi;
- }
- push @cdiff, 0+@$a, 0+@$b
- if $ai < @$a || $bi < @$b;
- return wantarray ? @cdiff : \@cdiff;
- }
-
- sub diff
- {
- my $a = shift; # array ref
- my $b = shift; # array ref
- my $retval = [];
- my $hunk = [];
- my $discard = sub {
- push @$hunk, [ '-', $_[0], $a->[ $_[0] ] ];
- };
- my $add = sub {
- push @$hunk, [ '+', $_[1], $b->[ $_[1] ] ];
- };
- my $match = sub {
- push @$retval, $hunk
- if 0 < @$hunk;
- $hunk = []
- };
- traverse_sequences( $a, $b,
- { MATCH => $match, DISCARD_A => $discard, DISCARD_B => $add }, @_ );
- &$match();
- return wantarray ? @$retval : $retval;
- }
-
- sub sdiff
- {
- my $a = shift; # array ref
- my $b = shift; # array ref
- my $retval = [];
- my $discard = sub { push ( @$retval, [ '-', $a->[ $_[0] ], "" ] ) };
- my $add = sub { push ( @$retval, [ '+', "", $b->[ $_[1] ] ] ) };
- my $change = sub {
- push ( @$retval, [ 'c', $a->[ $_[0] ], $b->[ $_[1] ] ] );
- };
- my $match = sub {
- push ( @$retval, [ 'u', $a->[ $_[0] ], $b->[ $_[1] ] ] );
- };
- traverse_balanced(
- $a,
- $b,
- {
- MATCH => $match,
- DISCARD_A => $discard,
- DISCARD_B => $add,
- CHANGE => $change,
- },
- @_
- );
- return wantarray ? @$retval : $retval;
- }
-
- ########################################
- my $Root= __PACKAGE__;
- package Algorithm::Diff::_impl;
- use strict;
-
- sub _Idx() { 0 } # $me->[_Idx]: Ref to array of hunk indices
- # 1 # $me->[1]: Ref to first sequence
- # 2 # $me->[2]: Ref to second sequence
- sub _End() { 3 } # $me->[_End]: Diff between forward and reverse pos
- sub _Same() { 4 } # $me->[_Same]: 1 if pos 1 contains unchanged items
- sub _Base() { 5 } # $me->[_Base]: Added to range's min and max
- sub _Pos() { 6 } # $me->[_Pos]: Which hunk is currently selected
- sub _Off() { 7 } # $me->[_Off]: Offset into _Idx for current position
- sub _Min() { -2 } # Added to _Off to get min instead of max+1
-
- sub Die
- {
- require Carp;
- Carp::confess( @_ );
- }
-
- sub _ChkPos
- {
- my( $me )= @_;
- return if $me->[_Pos];
- my $meth= ( caller(1) )[3];
- Die( "Called $meth on 'reset' object" );
- }
-
- sub _ChkSeq
- {
- my( $me, $seq )= @_;
- return $seq + $me->[_Off]
- if 1 == $seq || 2 == $seq;
- my $meth= ( caller(1) )[3];
- Die( "$meth: Invalid sequence number ($seq); must be 1 or 2" );
- }
-
- sub getObjPkg
- {
- my( $us )= @_;
- return ref $us if ref $us;
- return $us . "::_obj";
- }
-
- sub new
- {
- my( $us, $seq1, $seq2, $opts ) = @_;
- my @args;
- for( $opts->{keyGen} ) {
- push @args, $_ if $_;
- }
- for( $opts->{keyGenArgs} ) {
- push @args, @$_ if $_;
- }
- my $cdif= Algorithm::Diff::compact_diff( $seq1, $seq2, @args );
- my $same= 1;
- if( 0 == $cdif->[2] && 0 == $cdif->[3] ) {
- $same= 0;
- splice @$cdif, 0, 2;
- }
- my @obj= ( $cdif, $seq1, $seq2 );
- $obj[_End] = (1+@$cdif)/2;
- $obj[_Same] = $same;
- $obj[_Base] = 0;
- my $me = bless \@obj, $us->getObjPkg();
- $me->Reset( 0 );
- return $me;
- }
-
- sub Reset
- {
- my( $me, $pos )= @_;
- $pos= int( $pos || 0 );
- $pos += $me->[_End]
- if $pos < 0;
- $pos= 0
- if $pos < 0 || $me->[_End] <= $pos;
- $me->[_Pos]= $pos || !1;
- $me->[_Off]= 2*$pos - 1;
- return $me;
- }
-
- sub Base
- {
- my( $me, $base )= @_;
- my $oldBase= $me->[_Base];
- $me->[_Base]= 0+$base if defined $base;
- return $oldBase;
- }
-
- sub Copy
- {
- my( $me, $pos, $base )= @_;
- my @obj= @$me;
- my $you= bless \@obj, ref($me);
- $you->Reset( $pos ) if defined $pos;
- $you->Base( $base );
- return $you;
- }
-
- sub Next {
- my( $me, $steps )= @_;
- $steps= 1 if ! defined $steps;
- if( $steps ) {
- my $pos= $me->[_Pos];
- my $new= $pos + $steps;
- $new= 0 if $pos && $new < 0;
- $me->Reset( $new )
- }
- return $me->[_Pos];
- }
-
- sub Prev {
- my( $me, $steps )= @_;
- $steps= 1 if ! defined $steps;
- my $pos= $me->Next(-$steps);
- $pos -= $me->[_End] if $pos;
- return $pos;
- }
-
- sub Diff {
- my( $me )= @_;
- $me->_ChkPos();
- return 0 if $me->[_Same] == ( 1 & $me->[_Pos] );
- my $ret= 0;
- my $off= $me->[_Off];
- for my $seq ( 1, 2 ) {
- $ret |= $seq
- if $me->[_Idx][ $off + $seq + _Min ]
- < $me->[_Idx][ $off + $seq ];
- }
- return $ret;
- }
-
- sub Min {
- my( $me, $seq, $base )= @_;
- $me->_ChkPos();
- my $off= $me->_ChkSeq($seq);
- $base= $me->[_Base] if !defined $base;
- return $base + $me->[_Idx][ $off + _Min ];
- }
-
- sub Max {
- my( $me, $seq, $base )= @_;
- $me->_ChkPos();
- my $off= $me->_ChkSeq($seq);
- $base= $me->[_Base] if !defined $base;
- return $base + $me->[_Idx][ $off ] -1;
- }
-
- sub Range {
- my( $me, $seq, $base )= @_;
- $me->_ChkPos();
- my $off = $me->_ChkSeq($seq);
- if( !wantarray ) {
- return $me->[_Idx][ $off ]
- - $me->[_Idx][ $off + _Min ];
- }
- $base= $me->[_Base] if !defined $base;
- return ( $base + $me->[_Idx][ $off + _Min ] )
- .. ( $base + $me->[_Idx][ $off ] - 1 );
- }
-
- sub Items {
- my( $me, $seq )= @_;
- $me->_ChkPos();
- my $off = $me->_ChkSeq($seq);
- if( !wantarray ) {
- return $me->[_Idx][ $off ]
- - $me->[_Idx][ $off + _Min ];
- }
- return
- @{$me->[$seq]}[
- $me->[_Idx][ $off + _Min ]
- .. ( $me->[_Idx][ $off ] - 1 )
- ];
- }
-
- sub Same {
- my( $me )= @_;
- $me->_ChkPos();
- return wantarray ? () : 0
- if $me->[_Same] != ( 1 & $me->[_Pos] );
- return $me->Items(1);
- }
-
- my %getName;
- %getName= (
- same => \&Same,
- diff => \&Diff,
- base => \&Base,
- min => \&Min,
- max => \&Max,
- range=> \&Range,
- items=> \&Items, # same thing
- );
-
- sub Get
- {
- my $me= shift @_;
- $me->_ChkPos();
- my @value;
- for my $arg ( @_ ) {
- for my $word ( split ' ', $arg ) {
- my $meth;
- if( $word !~ /^(-?\d+)?([a-zA-Z]+)([12])?$/
- || not $meth= $getName{ lc $2 }
- ) {
- Die( $Root, ", Get: Invalid request ($word)" );
- }
- my( $base, $name, $seq )= ( $1, $2, $3 );
- push @value, scalar(
- 4 == length($name)
- ? $meth->( $me )
- : $meth->( $me, $seq, $base )
- );
- }
- }
- if( wantarray ) {
- return @value;
- } elsif( 1 == @value ) {
- return $value[0];
- }
- Die( 0+@value, " values requested from ",
- $Root, "'s Get in scalar context" );
- }
-
-
- my $Obj= getObjPkg($Root);
- no strict 'refs';
-
- for my $meth ( qw( new getObjPkg ) ) {
- *{$Root."::".$meth} = \&{$meth};
- *{$Obj ."::".$meth} = \&{$meth};
- }
- for my $meth ( qw(
- Next Prev Reset Copy Base Diff
- Same Items Range Min Max Get
- _ChkPos _ChkSeq
- ) ) {
- *{$Obj."::".$meth} = \&{$meth};
- }
-
-};
-{
- package Algorithm::LCSS;
-
- use strict;
- {
- no strict 'refs';
- *traverse_sequences = \&Algorithm::Diff::traverse_sequences;
- }
-
- sub _tokenize { [split //, $_[0]] }
-
- sub CSS {
- my $is_array = ref $_[0] eq 'ARRAY' ? 1 : 0;
- my ( $seq1, $seq2, @match, $from_match );
- my $i = 0;
- if ( $is_array ) {
- $seq1 = $_[0];
- $seq2 = $_[1];
- traverse_sequences( $seq1, $seq2, {
- MATCH => sub { push @{$match[$i]}, $seq1->[$_[0]]; $from_match = 1 },
- DISCARD_A => sub { do{$i++; $from_match = 0} if $from_match },
- DISCARD_B => sub { do{$i++; $from_match = 0} if $from_match },
- });
- }
- else {
- $seq1 = _tokenize($_[0]);
- $seq2 = _tokenize($_[1]);
- traverse_sequences( $seq1, $seq2, {
- MATCH => sub { $match[$i] .= $seq1->[$_[0]]; $from_match = 1 },
- DISCARD_A => sub { do{$i++; $from_match = 0} if $from_match },
- DISCARD_B => sub { do{$i++; $from_match = 0} if $from_match },
- });
- }
- return \@match;
- }
-
- sub CSS_Sorted {
- my $match = CSS(@_);
- if ( ref $_[0] eq 'ARRAY' ) {
- @$match = map{$_->[0]}sort{$b->[1]<=>$a->[1]}map{[$_,scalar(@$_)]}@$match
- }
- else {
- @$match = map{$_->[0]}sort{$b->[1]<=>$a->[1]}map{[$_,length($_)]}@$match
- }
- return $match;
- }
-
- sub LCSS {
- my $is_array = ref $_[0] eq 'ARRAY' ? 1 : 0;
- my $css = CSS(@_);
- my $index;
- my $length = 0;
- if ( $is_array ) {
- for( my $i = 0; $i < @$css; $i++ ) {
- next unless @{$css->[$i]}>$length;
- $index = $i;
- $length = @{$css->[$i]};
- }
- }
- else {
- for( my $i = 0; $i < @$css; $i++ ) {
- next unless length($css->[$i])>$length;
- $index = $i;
- $length = length($css->[$i]);
- }
- }
- return $css->[$index];
- }
-
-};
-# }}}
-#{{{ Class::Classless module
-{
- package Class::Classless;
- use strict;
- use vars qw(@ISA);
- use Carp;
-
- @ISA = ();
-
- ###########################################################################
-
- @Class::Classless::X::ISA = ();
-
- ###########################################################################
- ###########################################################################
-
- sub Class::Classless::X::AUTOLOAD {
- # This's the big dispatcher.
-
- my $it = shift @_;
- my $m = ($Class::Classless::X::AUTOLOAD =~ m/([^:]+)$/s )
- ? $1 : $Class::Classless::X::AUTOLOAD;
-
- croak "Can't call Class::Classless methods (like $m) without an object"
- unless ref $it; # sanity, basically.
-
- my $prevstate;
- $prevstate = ${shift @_}
- if scalar(@_) && defined($_[0]) &&
- ref($_[0]) eq 'Class::Classless::CALLSTATE::SHIMMY'
- ; # A shim! we were called via $callstate->NEXT
-
- my $no_fail = $prevstate ? $prevstate->[3] : undef;
- my $i = $prevstate ? ($prevstate->[1] + 1) : 0;
- # where to start scanning
- my $lineage;
-
- # Get the linearization of the ISA tree
- if($prevstate) {
- $lineage = $prevstate->[2];
- } elsif(defined $it->{'ISA_CACHE'} and ref $it->{'ISA_CACHE'} ){
- $lineage = $it->{'ISA_CACHE'};
- } else {
- $lineage = [ &Class::Classless::X::ISA_TREE($it) ];
- }
-
- # Was:
- #my @lineage =
- # $prevstate ? @{$prevstate->[2]}
- # : &Class::Classless::X::ISA_TREE($it);
- # # Get the linearization of the ISA tree
- # # ISA-memoization happens in the ISA_TREE function.
-
- for(; $i < @$lineage; ++$i) {
-
- if( !defined($no_fail) and exists($lineage->[$i]{'NO_FAIL'}) ) {
- $no_fail = ($lineage->[$i]{'NO_FAIL'} || 0);
- # so the first NO_FAIL sets it
- }
-
- if( ref($lineage->[$i]{'METHODS'} || 0) # sanity
- && exists($lineage->[$i]{'METHODS'}{$m})
- ){
- # We found what we were after. Now see what to do with it.
- my $v = $lineage->[$i]{'METHODS'}{$m};
- return $v unless defined $v and ref $v;
-
- if(ref($v) eq 'CODE') { # normal case, I expect!
- # Used to have copying of the arglist here.
- # But it was apparently useless, so I deleted it
- unshift @_,
- $it, # $_[0] -- target object
- # a NEW callstate
- bless([$m, $i, $lineage, $no_fail, $prevstate ? 1 : 0],
- 'Class::Classless::CALLSTATE'
- ), # $_[1] -- the callstate
- ;
- goto &{ $v }; # yes, magic goto! bimskalabim!
- }
- return @$v if ref($v) eq '_deref_array';
- return $$v if ref($v) eq '_deref_scalar';
- return $v; # fallthru
- }
- }
-
- if($m eq 'DESTROY') { # mitigate DESTROY-lookup failure at global destruction
- # should be impossible
- } else {
- if($no_fail || 0) {
- return;
- }
- croak "Can't find ", $prevstate ? 'NEXT method' : 'method',
- " $m in ", $it->{'NAME'} || $it,
- " or any ancestors\n";
- }
- }
-
- ###########################################################################
- ###########################################################################
-
- sub Class::Classless::X::DESTROY {
- # noop
- }
-
- ###########################################################################
- sub Class::Classless::X::ISA_TREE {
- # The linearizer!
- # Returns the search path for $_[0], starting with $_[0]
- # Possibly memoized.
-
- # I stopped being able to understand this algorithm about five
- # minutes after I wrote it.
- use strict;
-
- my $set_cache = 0; # flag to set the cache on the way out
-
- if(exists($_[0]{'ISA_CACHE'})) {
- return @{$_[0]{'ISA_CACHE'}}
- if defined $_[0]{'ISA_CACHE'}
- and ref $_[0]{'ISA_CACHE'};
-
- # Otherwise, if exists but is not a ref, it's a signal that it should
- # be replaced at the earliest, with a listref
- $set_cache = 1;
- }
-
- my $has_mi = 0; # set to 0 on the first node we see with 2 parents!
- # First, just figure out what's in the tree.
- my %last_child = ($_[0] => 1); # as if already seen
-
- # if $last_child{$x} == $y, that means:
- # 1) incidentally, we've passed the node $x before.
- # 2) $x is the last child of $y,
- # so that means that $y can be pushed to the stack only after
- # we've pushed $x to the stack.
-
- my @tree_nodes;
- {
- my $current;
- my @in_stack = ($_[0]);
- while(@in_stack) {
- next unless
- defined($current = shift @in_stack)
- && ref($current) # sanity
- && ref($current->{'PARENTS'} || 0) # sanity
- ;
-
- push @tree_nodes, $current;
-
- $has_mi = 1 if @{$current->{'PARENTS'}} > 1;
- unshift
- @in_stack,
- map {
- if(exists $last_child{$_}) { # seen before!
- $last_child{$_} = $current;
- (); # seen -- don't re-explore
- } else { # first time seen
- $last_child{$_} = $current;
- $_; # first time seen -- explore now
- }
- }
- @{$current->{'PARENTS'}}
- ;
- }
-
- # If there was no MI, then that first scan was sufficient.
- unless($has_mi) {
- $_[0]{'ISA_CACHE'} = \@tree_nodes if $set_cache;
- return @tree_nodes;
- }
-
- # Otherwise, toss this list and rescan, consulting %last_child
- }
-
- # $last_child{$parent} holds the last (or only) child of $parent
- # in this tree. When walking the tree this time, only that
- # child is authorized to put its parent on the @in_stack.
- # And that's the only way a node can get added to @in_stack,
- # except for $_[0] (the start node) being there at the beginning.
-
- # Now, walk again, but this time exploring parents the LAST
- # time seen in the tree, not the first.
-
- my @out;
- {
- my $current;
- my @in_stack = ($_[0]);
- while(@in_stack) {
- next unless defined($current = shift @in_stack) && ref($current);
- push @out, $current; # finally.
- unshift
- @in_stack,
- grep(
- (
- defined($_) # sanity
- && ref($_) # sanity
- && $last_child{$_} eq $current,
- ),
- # I'm lastborn (or onlyborn) of this parent
- # so it's OK to explore now
- @{$current->{'PARENTS'}}
- )
- if ref($current->{'PARENTS'} || 0) # sanity
- ;
- }
-
- unless(scalar(@out) == scalar(keys(%last_child))) {
- # the counts should be equal
- my %good_ones;
- @good_ones{@out} = ();
- croak
- "ISA tree for " .
- ($_[0]{'NAME'} || $_[0]) .
- " is apparently cyclic, probably involving the nodes " .
- nodelist( grep { ref($_) && !exists $good_ones{$_} }
- values(%last_child) )
- . "\n";
- }
- }
- #print "Contents of out: ", nodelist(@out), "\n";
-
- $_[0]{'ISA_CACHE'} = \@out if $set_cache;
- return @out;
- }
-
- ###########################################################################
-
- sub Class::Classless::X::can { # NOT like UNIVERSAL::can ...
- # return 1 if $it is capable of the method given -- otherwise 0
- my($it, $m) = @_[0,1];
- return undef unless ref $it;
-
- croak "undef is not a valid method name" unless defined($m);
- croak "null-string is not a valid method name" unless length($m);
-
- foreach my $o (&Class::Classless::X::ISA_TREE($it)) {
- return 1
- if ref($o->{'METHODS'} || 0) # sanity
- && exists $o->{'METHODS'}{$m};
- }
-
- return 0;
- }
-
-
- ###########################################################################
-
- sub Class::Classless::X::isa { # Like UNIVERSAL::isa
- # Returns true for $X->isa($Y) iff $Y is $X or is an ancestor of $X.
-
- return unless ref($_[0]) && ref($_[1]);
- return scalar(grep {$_ eq $_[1]} &Class::Classless::X::ISA_TREE($_[0]));
- }
-
- ###########################################################################
-
- sub nodelist { join ', ', map { "" . ($_->{'NAME'} || $_) . ""} @_ }
-
- ###########################################################################
- ###########################################################################
- ###########################################################################
- # Methods for the CALLSTATE class.
- # Basically, CALLSTATE objects represent the state of the dispatcher,
- # frozen at the moment when the method call was dispatched to the
- # appropriate sub.
- # In the grand scheme of things, this needn't be a class -- I could
- # have just made the callstate data-object be a hash with documented
- # keys, or a closure that responded to only certain parameters,
- # etc. But I like it this way. And I like being able to say simply
- # $cs->NEXT
- # Yes, these are a bit cryptically written, but it's behoovy for
- # them to be very very efficient.
-
- @Class::Classless::ISA = ();
- sub Class::Classless::CALLSTATE::found_name { $_[0][0] }
- # the method name called and found
- sub Class::Classless::CALLSTATE::found_depth { $_[0][1] }
- # my depth in the lineage
- sub Class::Classless::CALLSTATE::lineage { @{$_[0][2]} }
- # my lineage
- sub Class::Classless::CALLSTATE::target { $_[0][2][ 0 ] }
- # the object that's the target -- same as $_[0] for the method called
- sub Class::Classless::CALLSTATE::home { $_[0][2][ $_[0][1] ] }
- # the object I was found in
- sub Class::Classless::CALLSTATE::sub_found {
- $_[0][2][ $_[0][1] ]{'METHODS'}{ $_[0][0] }
- } # the routine called
-
- sub Class::Classless::CALLSTATE::no_fail { $_[0][3] }
- sub Class::Classless::CALLSTATE::set_no_fail_true { $_[0][3] = 1 }
- sub Class::Classless::CALLSTATE::set_fail_false { $_[0][3] = 0 }
- sub Class::Classless::CALLSTATE::set_fail_undef { $_[0][3] = undef }
-
- sub Class::Classless::CALLSTATE::via_next { $_[0][4] }
-
- sub Class::Classless::CALLSTATE::NEXT {
- #croak "NEXT needs at least one argument: \$cs->NEXT('method'...)"
- # unless @_ > 1;
- # no longer true.
- my $cs = shift @_;
- my $m = shift @_; # which may be (or come out) undef...
- $m = $cs->[0] unless defined $m; # the method name called and found
-
- ($cs->[2][0])->$m(
- bless( \$cs, 'Class::Classless::CALLSTATE::SHIMMY' ),
- @_
- );
- }
-
- ###########################################################################
-};
-#}}}
-
-###############
-###
-#
-# {{{ *** C h a n g e l o g ***
-#
-# 0.6ca
-# - add screen support (from nicklist.pl)
-# - rename to adv_windowlist.pl (advanced window list) since it isn't just a
-# window list status bar (wlstat) anymore
-# - names can now have a max length and window names can be used
-# - fixed a bug with block display in screen mode and statusbar mode
-# - added space handling to ir_fe and removed it again
-# - now handling formats on my own
-# - added warning about missing sb_act_none abstract leading to
-# - display*active settings
-# - added warning about the bug in awl_display_(no)key_active settings
-#
-# 0.5d
-# - add setting to also hide the last statusbar if empty (awl_all_disable)
-# - reverted to old utf8 code to also calculate broken utf8 length correctly
-# - simplified dealing with statusbars in wlreset
-# - added a little tweak for the renamed term_type somewhere after Irssi 0.8.9
-# - fixed bug in handling channel #$$
-# - typo on line 200 spotted by f0rked
-# - reset background colour at the beginning of an entry
-#
-# 0.4d
-# - fixed order of disabling statusbars
-# - several attempts at special chars, without any real success
-# and much more weird new bugs caused by this
-# - setting to specify sort order
-# - reduced timeout values
-# - added awl_hide_data for Geert Hauwaerts ( geert@irssi.org ) :)
-# - make it so the dynamic sub is actually deleted
-# - fix a bug with removing of the last separator
-# - take into consideration parse_special
-#
-# 0.3b
-# - automatically kill old statusbars
-# - reset on /reload
-# - position/placement settings
-#
-# 0.2
-# - automated retrieval of key bindings (thanks grep.pl authors)
-# - improved removing of statusbars
-# - got rid of status chop
-#
-# 0.1
-# - rewritten to suit my needs
-# - based on chanact 0.5.5
-# }}}
-# vim: se fdm=marker tw=80 :
diff --git a/docs/assets/748-init-deb.sh b/docs/assets/748-init-deb.sh
deleted file mode 100644
index 9b737a42e95..00000000000
--- a/docs/assets/748-init-deb.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#! /bin/sh
-
-### BEGIN INIT INFO
-# Provides: nginx
-# Required-Start: $all
-# Required-Stop: $all
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: starts the nginx web server
-# Description: starts nginx using start-stop-daemon
-### END INIT INFO
-
-PATH=/opt/nginx/sbin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/opt/nginx/sbin/nginx
-NAME=nginx
-DESC=nginx
-
-test -x $DAEMON || exit 0
-
-# Include nginx defaults if available
-if [ -f /etc/default/nginx ] ; then
- . /etc/default/nginx
-fi
-
-set -e
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- restart|force-reload)
- echo -n "Restarting $DESC: "
- start-stop-daemon --stop --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON
- sleep 1
- start-stop-daemon --start --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- reload)
- echo -n "Reloading $DESC configuration: "
- start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
- exit 1
- ;;
- esac
-
- exit 0
diff --git a/docs/assets/749-init-php-fastcgi-deb.sh b/docs/assets/749-init-php-fastcgi-deb.sh
deleted file mode 100644
index 5a2d96a6a3c..00000000000
--- a/docs/assets/749-init-php-fastcgi-deb.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-
-### BEGIN INIT INFO
-# Provides: php-fastcgi
-# Required-Start: $remote_fs $syslog
-# Required-Stop: $remote_fs $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Start daemon at boot time
-# Description: Enable service provided by daemon.
-### END INIT INFO
-
-
-
-if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
- FASTCGI_USER=nginx
-elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
- FASTCGI_USER=www-data
-elif [ `grep -c "http" /etc/passwd` = "1" ]; then
- FASTCGI_USER=http
-else
-# Set the FASTCGI_USER variable below to the user that
-# you want to run the php-fastcgi processes as
-
-FASTCGI_USER=
-fi
-
-PHP_SCRIPT=/usr/bin/php-fastcgi
-RETVAL=0
-case "$1" in
- start)
- sudo -u $FASTCGI_USER $PHP_SCRIPT
- RETVAL=$?
- ;;
- stop)
- killall -9 php5-cgi
- RETVAL=$?
- ;;
- restart)
- killall -9 php5-cgi
- sudo -u $FASTCGI_USER $PHP_SCRIPT
- RETVAL=$?
- ;;
- *)
- echo "Usage: php-fastcgi {start|stop|restart}"
- exit 1
- ;;
-esac
-exit $RETVAL
diff --git a/docs/assets/750-php-fastcgi-deb.sh b/docs/assets/750-php-fastcgi-deb.sh
deleted file mode 100644
index 02572d3aac3..00000000000
--- a/docs/assets/750-php-fastcgi-deb.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
- FASTCGI_USER=nginx
-elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
- FASTCGI_USER=www-data
-elif [ `grep -c "http" /etc/passwd` = "1" ]; then
- FASTCGI_USER=http
-else
-# Set the FASTCGI_USER variable below to the user that
-# you want to run the php-fastcgi processes as
-
-FASTCGI_USER=
-fi
-
-/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u $FASTCGI_USER -f /usr/bin/php5-cgi
diff --git a/docs/assets/871-init-deb.sh b/docs/assets/871-init-deb.sh
deleted file mode 100644
index 9b737a42e95..00000000000
--- a/docs/assets/871-init-deb.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#! /bin/sh
-
-### BEGIN INIT INFO
-# Provides: nginx
-# Required-Start: $all
-# Required-Stop: $all
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: starts the nginx web server
-# Description: starts nginx using start-stop-daemon
-### END INIT INFO
-
-PATH=/opt/nginx/sbin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/opt/nginx/sbin/nginx
-NAME=nginx
-DESC=nginx
-
-test -x $DAEMON || exit 0
-
-# Include nginx defaults if available
-if [ -f /etc/default/nginx ] ; then
- . /etc/default/nginx
-fi
-
-set -e
-
-case "$1" in
- start)
- echo -n "Starting $DESC: "
- start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- stop)
- echo -n "Stopping $DESC: "
- start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- restart|force-reload)
- echo -n "Restarting $DESC: "
- start-stop-daemon --stop --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON
- sleep 1
- start-stop-daemon --start --quiet --pidfile \
- /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
- echo "$NAME."
- ;;
- reload)
- echo -n "Reloading $DESC configuration: "
- start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/$NAME.pid \
- --exec $DAEMON
- echo "$NAME."
- ;;
- *)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
- exit 1
- ;;
- esac
-
- exit 0
diff --git a/docs/assets/872-init-php-fastcgi-deb.sh b/docs/assets/872-init-php-fastcgi-deb.sh
deleted file mode 100644
index 5a2d96a6a3c..00000000000
--- a/docs/assets/872-init-php-fastcgi-deb.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-
-### BEGIN INIT INFO
-# Provides: php-fastcgi
-# Required-Start: $remote_fs $syslog
-# Required-Stop: $remote_fs $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Start daemon at boot time
-# Description: Enable service provided by daemon.
-### END INIT INFO
-
-
-
-if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
- FASTCGI_USER=nginx
-elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
- FASTCGI_USER=www-data
-elif [ `grep -c "http" /etc/passwd` = "1" ]; then
- FASTCGI_USER=http
-else
-# Set the FASTCGI_USER variable below to the user that
-# you want to run the php-fastcgi processes as
-
-FASTCGI_USER=
-fi
-
-PHP_SCRIPT=/usr/bin/php-fastcgi
-RETVAL=0
-case "$1" in
- start)
- sudo -u $FASTCGI_USER $PHP_SCRIPT
- RETVAL=$?
- ;;
- stop)
- killall -9 php5-cgi
- RETVAL=$?
- ;;
- restart)
- killall -9 php5-cgi
- sudo -u $FASTCGI_USER $PHP_SCRIPT
- RETVAL=$?
- ;;
- *)
- echo "Usage: php-fastcgi {start|stop|restart}"
- exit 1
- ;;
-esac
-exit $RETVAL
diff --git a/docs/assets/873-php-fastcgi-deb.sh b/docs/assets/873-php-fastcgi-deb.sh
deleted file mode 100644
index 02572d3aac3..00000000000
--- a/docs/assets/873-php-fastcgi-deb.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
- FASTCGI_USER=nginx
-elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
- FASTCGI_USER=www-data
-elif [ `grep -c "http" /etc/passwd` = "1" ]; then
- FASTCGI_USER=http
-else
-# Set the FASTCGI_USER variable below to the user that
-# you want to run the php-fastcgi processes as
-
-FASTCGI_USER=
-fi
-
-/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u $FASTCGI_USER -f /usr/bin/php5-cgi
diff --git a/docs/assets/Linode-Logo-Black.png b/docs/assets/Linode-Logo-Black.png
deleted file mode 100644
index 8858531587b..00000000000
Binary files a/docs/assets/Linode-Logo-Black.png and /dev/null differ
diff --git a/docs/assets/Thumbs.db b/docs/assets/Thumbs.db
deleted file mode 100644
index 0e1433abc7b..00000000000
Binary files a/docs/assets/Thumbs.db and /dev/null differ
diff --git a/docs/assets/apache.rb b/docs/assets/apache.rb
deleted file mode 100644
index 32b15996a0e..00000000000
--- a/docs/assets/apache.rb
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# Cookbook Name:: lamp-stack
-# Recipe:: apache
-#
-
-
-#Install & enable Apache
-
-package "apache2" do
- action :install
-end
-
-service "apache2" do
- action [:enable, :start]
-end
-
-
-#Virtual Hosts Files
-
-node["lamp-stack"]["sites"].each do |sitename, data|
- document_root = "/var/www/html/#{sitename}"
-
- directory document_root do
- mode "0755"
- recursive true
- end
-
- execute "enable-sites" do
- command "a2ensite #{sitename}"
- action :nothing
- end
-
- template "/etc/apache2/sites-available/#{sitename}.conf" do
- source "siteconf.erb"
- mode "0644"
- variables(
- :document_root => document_root,
- :port => data["port"],
- :serveradmin => data["serveradmin"],
- :servername => data["servername"]
- )
- notifies :run, "execute[enable-sites]"
- notifies :restart, "service[apache2]"
- end
-
- directory "/var/www/html/#{sitename}/public_html" do
- action :create
- end
-
- directory "/var/www/html/#{sitename}/logs" do
- action :create
- end
-
-end
-
-
-#Apache Configuration
-
-execute "keepalive" do
- command "sed -i 's/KeepAlive On/KeepAlive Off/g' /etc/apache2/apache2.conf"
- action :run
-end
-
-execute "enable-event" do
- command "a2enmod mpm_event"
- action :nothing
-end
-
-cookbook_file "/etc/apache2/mods-available/mpm_event.conf" do
- source "mpm_event.conf"
- mode "0644"
- notifies :run, "execute[enable-event]"
-end
diff --git a/docs/assets/chef_php.ini b/docs/assets/chef_php.ini
deleted file mode 100644
index d5b0a114a98..00000000000
--- a/docs/assets/chef_php.ini
+++ /dev/null
@@ -1,1930 +0,0 @@
-[PHP]
-
-;;;;;;;;;;;;;;;;;;;
-; About php.ini ;
-;;;;;;;;;;;;;;;;;;;
-; PHP's initialization file, generally called php.ini, is responsible for
-; configuring many of the aspects of PHP's behavior.
-
-; PHP attempts to find and load this configuration from a number of locations.
-; The following is a summary of its search order:
-; 1. SAPI module specific location.
-; 2. The PHPRC environment variable. (As of PHP 5.2.0)
-; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
-; 4. Current working directory (except CLI)
-; 5. The web server's directory (for SAPI modules), or directory of PHP
-; (otherwise in Windows)
-; 6. The directory from the --with-config-file-path compile time option, or the
-; Windows directory (C:\windows or C:\winnt)
-; See the PHP docs for more specific information.
-; http://php.net/configuration.file
-
-; The syntax of the file is extremely simple. Whitespace and lines
-; beginning with a semicolon are silently ignored (as you probably guessed).
-; Section headers (e.g. [Foo]) are also silently ignored, even though
-; they might mean something in the future.
-
-; Directives following the section heading [PATH=/www/mysite] only
-; apply to PHP files in the /www/mysite directory. Directives
-; following the section heading [HOST=www.example.com] only apply to
-; PHP files served from www.example.com. Directives set in these
-; special sections cannot be overridden by user-defined INI files or
-; at runtime. Currently, [PATH=] and [HOST=] sections only work under
-; CGI/FastCGI.
-; http://php.net/ini.sections
-
-; Directives are specified using the following syntax:
-; directive = value
-; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
-; Directives are variables used to configure PHP or PHP extensions.
-; There is no name validation. If PHP can't find an expected
-; directive because it is not set or is mistyped, a default value will be used.
-
-; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
-; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
-; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a
-; previously set variable or directive (e.g. ${foo})
-
-; Expressions in the INI file are limited to bitwise operators and parentheses:
-; | bitwise OR
-; ^ bitwise XOR
-; & bitwise AND
-; ~ bitwise NOT
-; ! boolean NOT
-
-; Boolean flags can be turned on using the values 1, On, True or Yes.
-; They can be turned off using the values 0, Off, False or No.
-
-; An empty string can be denoted by simply not writing anything after the equal
-; sign, or by using the None keyword:
-
-; foo = ; sets foo to an empty string
-; foo = None ; sets foo to an empty string
-; foo = "None" ; sets foo to the string 'None'
-
-; If you use constants in your value, and these constants belong to a
-; dynamically loaded extension (either a PHP extension or a Zend extension),
-; you may only use these constants *after* the line that loads the extension.
-
-;;;;;;;;;;;;;;;;;;;
-; About this file ;
-;;;;;;;;;;;;;;;;;;;
-; PHP comes packaged with two INI files. One that is recommended to be used
-; in production environments and one that is recommended to be used in
-; development environments.
-
-; php.ini-production contains settings which hold security, performance and
-; best practices at its core. But please be aware, these settings may break
-; compatibility with older or less security conscience applications. We
-; recommending using the production ini in production and testing environments.
-
-; php.ini-development is very similar to its production variant, except it's
-; much more verbose when it comes to errors. We recommending using the
-; development version only in development environments as errors shown to
-; application users can inadvertently leak otherwise secure information.
-
-; This is php.ini-production INI file.
-
-;;;;;;;;;;;;;;;;;;;
-; Quick Reference ;
-;;;;;;;;;;;;;;;;;;;
-; The following are all the settings which are different in either the production
-; or development versions of the INIs with respect to PHP's default behavior.
-; Please see the actual settings later in the document for more details as to why
-; we recommend these changes in PHP's behavior.
-
-; display_errors
-; Default Value: On
-; Development Value: On
-; Production Value: Off
-
-; display_startup_errors
-; Default Value: Off
-; Development Value: On
-; Production Value: Off
-
-; error_reporting
-; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
-; Development Value: E_ALL
-; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
-
-; html_errors
-; Default Value: On
-; Development Value: On
-; Production value: On
-
-; log_errors
-; Default Value: Off
-; Development Value: On
-; Production Value: On
-
-; max_input_time
-; Default Value: -1 (Unlimited)
-; Development Value: 60 (60 seconds)
-; Production Value: 60 (60 seconds)
-
-; output_buffering
-; Default Value: Off
-; Development Value: 4096
-; Production Value: 4096
-
-; register_argc_argv
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-
-; request_order
-; Default Value: None
-; Development Value: "GP"
-; Production Value: "GP"
-
-; session.bug_compat_42
-; Default Value: On
-; Development Value: On
-; Production Value: Off
-
-; session.bug_compat_warn
-; Default Value: On
-; Development Value: On
-; Production Value: Off
-
-; session.gc_divisor
-; Default Value: 100
-; Development Value: 1000
-; Production Value: 1000
-
-; session.hash_bits_per_character
-; Default Value: 4
-; Development Value: 5
-; Production Value: 5
-
-; short_open_tag
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-
-; track_errors
-; Default Value: Off
-; Development Value: On
-; Production Value: Off
-
-; url_rewriter.tags
-; Default Value: "a=href,area=href,frame=src,form=,fieldset="
-; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
-; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
-
-; variables_order
-; Default Value: "EGPCS"
-; Development Value: "GPCS"
-; Production Value: "GPCS"
-
-;;;;;;;;;;;;;;;;;;;;
-; php.ini Options ;
-;;;;;;;;;;;;;;;;;;;;
-; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
-;user_ini.filename = ".user.ini"
-
-; To disable this feature set this option to empty value
-;user_ini.filename =
-
-; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
-;user_ini.cache_ttl = 300
-
-;;;;;;;;;;;;;;;;;;;;
-; Language Options ;
-;;;;;;;;;;;;;;;;;;;;
-
-; Enable the PHP scripting language engine under Apache.
-; http://php.net/engine
-engine = On
-
-; This directive determines whether or not PHP will recognize code between
-; and ?> tags as PHP source which should be processed as such. It is
-; generally recommended that should be used and that this feature
-; should be disabled, as enabling it may result in issues when generating XML
-; documents, however this remains supported for backward compatibility reasons.
-; Note that this directive does not control the = shorthand tag, which can be
-; used regardless of this directive.
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://php.net/short-open-tag
-short_open_tag = Off
-
-; Allow ASP-style <% %> tags.
-; http://php.net/asp-tags
-asp_tags = Off
-
-; The number of significant digits displayed in floating point numbers.
-; http://php.net/precision
-precision = 14
-
-; Output buffering is a mechanism for controlling how much output data
-; (excluding headers and cookies) PHP should keep internally before pushing that
-; data to the client. If your application's output exceeds this setting, PHP
-; will send that data in chunks of roughly the size you specify.
-; Turning on this setting and managing its maximum buffer size can yield some
-; interesting side-effects depending on your application and web server.
-; You may be able to send headers and cookies after you've already sent output
-; through print or echo. You also may see performance benefits if your server is
-; emitting less packets due to buffered output versus PHP streaming the output
-; as it gets it. On production servers, 4096 bytes is a good setting for performance
-; reasons.
-; Note: Output buffering can also be controlled via Output Buffering Control
-; functions.
-; Possible Values:
-; On = Enabled and buffer is unlimited. (Use with caution)
-; Off = Disabled
-; Integer = Enables the buffer and sets its maximum size in bytes.
-; Note: This directive is hardcoded to Off for the CLI SAPI
-; Default Value: Off
-; Development Value: 4096
-; Production Value: 4096
-; http://php.net/output-buffering
-output_buffering = 4096
-
-; You can redirect all of the output of your scripts to a function. For
-; example, if you set output_handler to "mb_output_handler", character
-; encoding will be transparently converted to the specified encoding.
-; Setting any output handler automatically turns on output buffering.
-; Note: People who wrote portable scripts should not depend on this ini
-; directive. Instead, explicitly set the output handler using ob_start().
-; Using this ini directive may cause problems unless you know what script
-; is doing.
-; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
-; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
-; Note: output_handler must be empty if this is set 'On' !!!!
-; Instead you must use zlib.output_handler.
-; http://php.net/output-handler
-;output_handler =
-
-; Transparent output compression using the zlib library
-; Valid values for this option are 'off', 'on', or a specific buffer size
-; to be used for compression (default is 4KB)
-; Note: Resulting chunk size may vary due to nature of compression. PHP
-; outputs chunks that are few hundreds bytes each as a result of
-; compression. If you prefer a larger chunk size for better
-; performance, enable output_buffering in addition.
-; Note: You need to use zlib.output_handler instead of the standard
-; output_handler, or otherwise the output will be corrupted.
-; http://php.net/zlib.output-compression
-zlib.output_compression = Off
-
-; http://php.net/zlib.output-compression-level
-;zlib.output_compression_level = -1
-
-; You cannot specify additional output handlers if zlib.output_compression
-; is activated here. This setting does the same as output_handler but in
-; a different order.
-; http://php.net/zlib.output-handler
-;zlib.output_handler =
-
-; Implicit flush tells PHP to tell the output layer to flush itself
-; automatically after every output block. This is equivalent to calling the
-; PHP function flush() after each and every call to print() or echo() and each
-; and every HTML block. Turning this option on has serious performance
-; implications and is generally recommended for debugging purposes only.
-; http://php.net/implicit-flush
-; Note: This directive is hardcoded to On for the CLI SAPI
-implicit_flush = Off
-
-; The unserialize callback function will be called (with the undefined class'
-; name as parameter), if the unserializer finds an undefined class
-; which should be instantiated. A warning appears if the specified function is
-; not defined, or if the function doesn't include/implement the missing class.
-; So only set this entry, if you really want to implement such a
-; callback-function.
-unserialize_callback_func =
-
-; When floats & doubles are serialized store serialize_precision significant
-; digits after the floating point. The default value ensures that when floats
-; are decoded with unserialize, the data will remain the same.
-serialize_precision = 17
-
-; open_basedir, if set, limits all file operations to the defined directory
-; and below. This directive makes most sense if used in a per-directory
-; or per-virtualhost web server configuration file. This directive is
-; *NOT* affected by whether Safe Mode is turned On or Off.
-; http://php.net/open-basedir
-;open_basedir =
-
-; This directive allows you to disable certain functions for security reasons.
-; It receives a comma-delimited list of function names. This directive is
-; *NOT* affected by whether Safe Mode is turned On or Off.
-; http://php.net/disable-functions
-disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
-
-; This directive allows you to disable certain classes for security reasons.
-; It receives a comma-delimited list of class names. This directive is
-; *NOT* affected by whether Safe Mode is turned On or Off.
-; http://php.net/disable-classes
-disable_classes =
-
-; Colors for Syntax Highlighting mode. Anything that's acceptable in
-; would work.
-; http://php.net/syntax-highlighting
-;highlight.string = #DD0000
-;highlight.comment = #FF9900
-;highlight.keyword = #007700
-;highlight.default = #0000BB
-;highlight.html = #000000
-
-; If enabled, the request will be allowed to complete even if the user aborts
-; the request. Consider enabling it if executing long requests, which may end up
-; being interrupted by the user or a browser timing out. PHP's default behavior
-; is to disable this feature.
-; http://php.net/ignore-user-abort
-;ignore_user_abort = On
-
-; Determines the size of the realpath cache to be used by PHP. This value should
-; be increased on systems where PHP opens many files to reflect the quantity of
-; the file operations performed.
-; http://php.net/realpath-cache-size
-;realpath_cache_size = 16k
-
-; Duration of time, in seconds for which to cache realpath information for a given
-; file or directory. For systems with rarely changing files, consider increasing this
-; value.
-; http://php.net/realpath-cache-ttl
-;realpath_cache_ttl = 120
-
-; Enables or disables the circular reference collector.
-; http://php.net/zend.enable-gc
-zend.enable_gc = On
-
-; If enabled, scripts may be written in encodings that are incompatible with
-; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such
-; encodings. To use this feature, mbstring extension must be enabled.
-; Default: Off
-;zend.multibyte = Off
-
-; Allows to set the default encoding for the scripts. This value will be used
-; unless "declare(encoding=...)" directive appears at the top of the script.
-; Only affects if zend.multibyte is set.
-; Default: ""
-;zend.script_encoding =
-
-;;;;;;;;;;;;;;;;;
-; Miscellaneous ;
-;;;;;;;;;;;;;;;;;
-
-; Decides whether PHP may expose the fact that it is installed on the server
-; (e.g. by adding its signature to the Web server header). It is no security
-; threat in any way, but it makes it possible to determine whether you use PHP
-; on your server or not.
-; http://php.net/expose-php
-expose_php = On
-
-;;;;;;;;;;;;;;;;;;;
-; Resource Limits ;
-;;;;;;;;;;;;;;;;;;;
-
-; Maximum execution time of each script, in seconds
-; http://php.net/max-execution-time
-; Note: This directive is hardcoded to 0 for the CLI SAPI
-max_execution_time = 30
-
-; Maximum amount of time each script may spend parsing request data. It's a good
-; idea to limit this time on productions servers in order to eliminate unexpectedly
-; long running scripts.
-; Note: This directive is hardcoded to -1 for the CLI SAPI
-; Default Value: -1 (Unlimited)
-; Development Value: 60 (60 seconds)
-; Production Value: 60 (60 seconds)
-; http://php.net/max-input-time
-max_input_time = 60
-
-; Maximum input variable nesting level
-; http://php.net/max-input-nesting-level
-;max_input_nesting_level = 64
-
-; How many GET/POST/COOKIE input variables may be accepted
-; max_input_vars = 1000
-
-; Maximum amount of memory a script may consume (128MB)
-; http://php.net/memory-limit
-memory_limit = 128M
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Error handling and logging ;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-; This directive informs PHP of which errors, warnings and notices you would like
-; it to take action for. The recommended way of setting values for this
-; directive is through the use of the error level constants and bitwise
-; operators. The error level constants are below here for convenience as well as
-; some common settings and their meanings.
-; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
-; those related to E_NOTICE and E_STRICT, which together cover best practices and
-; recommended coding standards in PHP. For performance reasons, this is the
-; recommend error reporting setting. Your production server shouldn't be wasting
-; resources complaining about best practices and coding standards. That's what
-; development servers and development settings are for.
-; Note: The php.ini-development file has this setting as E_ALL. This
-; means it pretty much reports everything which is exactly what you want during
-; development and early testing.
-;
-; Error Level Constants:
-; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0)
-; E_ERROR - fatal run-time errors
-; E_RECOVERABLE_ERROR - almost fatal run-time errors
-; E_WARNING - run-time warnings (non-fatal errors)
-; E_PARSE - compile-time parse errors
-; E_NOTICE - run-time notices (these are warnings which often result
-; from a bug in your code, but it's possible that it was
-; intentional (e.g., using an uninitialized variable and
-; relying on the fact it's automatically initialized to an
-; empty string)
-; E_STRICT - run-time notices, enable to have PHP suggest changes
-; to your code which will ensure the best interoperability
-; and forward compatibility of your code
-; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
-; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
-; initial startup
-; E_COMPILE_ERROR - fatal compile-time errors
-; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
-; E_USER_ERROR - user-generated error message
-; E_USER_WARNING - user-generated warning message
-; E_USER_NOTICE - user-generated notice message
-; E_DEPRECATED - warn about code that will not work in future versions
-; of PHP
-; E_USER_DEPRECATED - user-generated deprecation warnings
-;
-; Common Values:
-; E_ALL (Show all errors, warnings and notices including coding standards.)
-; E_ALL & ~E_NOTICE (Show all errors, except for notices)
-; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.)
-; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
-; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
-; Development Value: E_ALL
-; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
-; http://php.net/error-reporting
-error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
-
-; This directive controls whether or not and where PHP will output errors,
-; notices and warnings too. Error output is very useful during development, but
-; it could be very dangerous in production environments. Depending on the code
-; which is triggering the error, sensitive information could potentially leak
-; out of your application such as database usernames and passwords or worse.
-; It's recommended that errors be logged on production servers rather than
-; having the errors sent to STDOUT.
-; Possible Values:
-; Off = Do not display any errors
-; stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
-; On or stdout = Display errors to STDOUT
-; Default Value: On
-; Development Value: On
-; Production Value: Off
-; http://php.net/display-errors
-display_errors = Off
-
-; The display of errors which occur during PHP's startup sequence are handled
-; separately from display_errors. PHP's default behavior is to suppress those
-; errors from clients. Turning the display of startup errors on can be useful in
-; debugging configuration problems. But, it's strongly recommended that you
-; leave this setting off on production servers.
-; Default Value: Off
-; Development Value: On
-; Production Value: Off
-; http://php.net/display-startup-errors
-display_startup_errors = Off
-
-; Besides displaying errors, PHP can also log errors to locations such as a
-; server-specific log, STDERR, or a location specified by the error_log
-; directive found below. While errors should not be displayed on productions
-; servers they should still be monitored and logging is a great way to do that.
-; Default Value: Off
-; Development Value: On
-; Production Value: On
-; http://php.net/log-errors
-log_errors = On
-
-; Set maximum length of log_errors. In error_log information about the source is
-; added. The default is 1024 and 0 allows to not apply any maximum length at all.
-; http://php.net/log-errors-max-len
-log_errors_max_len = 1024
-
-; Do not log repeated messages. Repeated errors must occur in same file on same
-; line unless ignore_repeated_source is set true.
-; http://php.net/ignore-repeated-errors
-ignore_repeated_errors = Off
-
-; Ignore source of message when ignoring repeated messages. When this setting
-; is On you will not log errors with repeated messages from different files or
-; source lines.
-; http://php.net/ignore-repeated-source
-ignore_repeated_source = Off
-
-; If this parameter is set to Off, then memory leaks will not be shown (on
-; stdout or in the log). This has only effect in a debug compile, and if
-; error reporting includes E_WARNING in the allowed list
-; http://php.net/report-memleaks
-report_memleaks = On
-
-; This setting is on by default.
-;report_zend_debug = 0
-
-; Store the last error/warning message in $php_errormsg (boolean). Setting this value
-; to On can assist in debugging and is appropriate for development servers. It should
-; however be disabled on production servers.
-; Default Value: Off
-; Development Value: On
-; Production Value: Off
-; http://php.net/track-errors
-track_errors = Off
-
-; Turn off normal error reporting and emit XML-RPC error XML
-; http://php.net/xmlrpc-errors
-;xmlrpc_errors = 0
-
-; An XML-RPC faultCode
-;xmlrpc_error_number = 0
-
-; When PHP displays or logs an error, it has the capability of formatting the
-; error message as HTML for easier reading. This directive controls whether
-; the error message is formatted as HTML or not.
-; Note: This directive is hardcoded to Off for the CLI SAPI
-; Default Value: On
-; Development Value: On
-; Production value: On
-; http://php.net/html-errors
-html_errors = On
-
-; If html_errors is set to On *and* docref_root is not empty, then PHP
-; produces clickable error messages that direct to a page describing the error
-; or function causing the error in detail.
-; You can download a copy of the PHP manual from http://php.net/docs
-; and change docref_root to the base URL of your local copy including the
-; leading '/'. You must also specify the file extension being used including
-; the dot. PHP's default behavior is to leave these settings empty, in which
-; case no links to documentation are generated.
-; Note: Never use this feature for production boxes.
-; http://php.net/docref-root
-; Examples
-;docref_root = "/phpmanual/"
-
-; http://php.net/docref-ext
-;docref_ext = .html
-
-; String to output before an error message. PHP's default behavior is to leave
-; this setting blank.
-; http://php.net/error-prepend-string
-; Example:
-;error_prepend_string = ""
-
-; String to output after an error message. PHP's default behavior is to leave
-; this setting blank.
-; http://php.net/error-append-string
-; Example:
-;error_append_string = ""
-
-; Log errors to specified file. PHP's default behavior is to leave this value
-; empty.
-; http://php.net/error-log
-; Example:
-;error_log = php_errors.log
-; Log errors to syslog (Event Log on NT, not valid in Windows 95).
-;error_log = syslog
-
-;windows.show_crt_warning
-; Default value: 0
-; Development value: 0
-; Production value: 0
-
-;;;;;;;;;;;;;;;;;
-; Data Handling ;
-;;;;;;;;;;;;;;;;;
-
-; The separator used in PHP generated URLs to separate arguments.
-; PHP's default setting is "&".
-; http://php.net/arg-separator.output
-; Example:
-;arg_separator.output = "&"
-
-; List of separator(s) used by PHP to parse input URLs into variables.
-; PHP's default setting is "&".
-; NOTE: Every character in this directive is considered as separator!
-; http://php.net/arg-separator.input
-; Example:
-;arg_separator.input = ";&"
-
-; This directive determines which super global arrays are registered when PHP
-; starts up. G,P,C,E & S are abbreviations for the following respective super
-; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
-; paid for the registration of these arrays and because ENV is not as commonly
-; used as the others, ENV is not recommended on productions servers. You
-; can still get access to the environment variables through getenv() should you
-; need to.
-; Default Value: "EGPCS"
-; Development Value: "GPCS"
-; Production Value: "GPCS";
-; http://php.net/variables-order
-variables_order = "GPCS"
-
-; This directive determines which super global data (G,P,C,E & S) should
-; be registered into the super global array REQUEST. If so, it also determines
-; the order in which that data is registered. The values for this directive are
-; specified in the same manner as the variables_order directive, EXCEPT one.
-; Leaving this value empty will cause PHP to use the value set in the
-; variables_order directive. It does not mean it will leave the super globals
-; array REQUEST empty.
-; Default Value: None
-; Development Value: "GP"
-; Production Value: "GP"
-; http://php.net/request-order
-request_order = "GP"
-
-; This directive determines whether PHP registers $argv & $argc each time it
-; runs. $argv contains an array of all the arguments passed to PHP when a script
-; is invoked. $argc contains an integer representing the number of arguments
-; that were passed when the script was invoked. These arrays are extremely
-; useful when running scripts from the command line. When this directive is
-; enabled, registering these variables consumes CPU cycles and memory each time
-; a script is executed. For performance reasons, this feature should be disabled
-; on production servers.
-; Note: This directive is hardcoded to On for the CLI SAPI
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://php.net/register-argc-argv
-register_argc_argv = Off
-
-; When enabled, the ENV, REQUEST and SERVER variables are created when they're
-; first used (Just In Time) instead of when the script starts. If these
-; variables are not used within a script, having this directive on will result
-; in a performance gain. The PHP directive register_argc_argv must be disabled
-; for this directive to have any affect.
-; http://php.net/auto-globals-jit
-auto_globals_jit = On
-
-; Whether PHP will read the POST data.
-; This option is enabled by default.
-; Most likely, you won't want to disable this option globally. It causes $_POST
-; and $_FILES to always be empty; the only way you will be able to read the
-; POST data will be through the php://input stream wrapper. This can be useful
-; to proxy requests or to process the POST data in a memory efficient fashion.
-; http://php.net/enable-post-data-reading
-;enable_post_data_reading = Off
-
-; Maximum size of POST data that PHP will accept.
-; Its value may be 0 to disable the limit. It is ignored if POST data reading
-; is disabled through enable_post_data_reading.
-; http://php.net/post-max-size
-post_max_size = 8M
-
-; Automatically add files before PHP document.
-; http://php.net/auto-prepend-file
-auto_prepend_file =
-
-; Automatically add files after PHP document.
-; http://php.net/auto-append-file
-auto_append_file =
-
-; By default, PHP will output a character encoding using
-; the Content-type: header. To disable sending of the charset, simply
-; set it to be empty.
-;
-; PHP's built-in default is text/html
-; http://php.net/default-mimetype
-default_mimetype = "text/html"
-
-; PHP's default character set is set to empty.
-; http://php.net/default-charset
-;default_charset = "UTF-8"
-
-; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is
-; to disable this feature. If post reading is disabled through
-; enable_post_data_reading, $HTTP_RAW_POST_DATA is *NOT* populated.
-; http://php.net/always-populate-raw-post-data
-;always_populate_raw_post_data = On
-
-;;;;;;;;;;;;;;;;;;;;;;;;;
-; Paths and Directories ;
-;;;;;;;;;;;;;;;;;;;;;;;;;
-
-; UNIX: "/path1:/path2"
-;include_path = ".:/usr/share/php"
-;
-; Windows: "\path1;\path2"
-;include_path = ".;c:\php\includes"
-;
-; PHP's default setting for include_path is ".;/path/to/php/pear"
-; http://php.net/include-path
-
-; The root of the PHP pages, used only if nonempty.
-; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
-; if you are running php as a CGI under any web server (other than IIS)
-; see documentation for security issues. The alternate is to use the
-; cgi.force_redirect configuration below
-; http://php.net/doc-root
-doc_root =
-
-; The directory under which PHP opens the script using /~username used only
-; if nonempty.
-; http://php.net/user-dir
-user_dir =
-
-; Directory in which the loadable extensions (modules) reside.
-; http://php.net/extension-dir
-; extension_dir = "./"
-; On windows:
-; extension_dir = "ext"
-
-; Directory where the temporary files should be placed.
-; Defaults to the system default (see sys_get_temp_dir)
-; sys_temp_dir = "/tmp"
-
-; Whether or not to enable the dl() function. The dl() function does NOT work
-; properly in multithreaded servers, such as IIS or Zeus, and is automatically
-; disabled on them.
-; http://php.net/enable-dl
-enable_dl = Off
-
-; cgi.force_redirect is necessary to provide security running PHP as a CGI under
-; most web servers. Left undefined, PHP turns this on by default. You can
-; turn it off here AT YOUR OWN RISK
-; **You CAN safely turn this off for IIS, in fact, you MUST.**
-; http://php.net/cgi.force-redirect
-;cgi.force_redirect = 1
-
-; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
-; every request. PHP's default behavior is to disable this feature.
-;cgi.nph = 1
-
-; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
-; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
-; will look for to know it is OK to continue execution. Setting this variable MAY
-; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
-; http://php.net/cgi.redirect-status-env
-;cgi.redirect_status_env =
-
-; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
-; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
-; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
-; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
-; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
-; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
-; http://php.net/cgi.fix-pathinfo
-;cgi.fix_pathinfo=1
-
-; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
-; security tokens of the calling client. This allows IIS to define the
-; security context that the request runs under. mod_fastcgi under Apache
-; does not currently support this feature (03/17/2002)
-; Set to 1 if running under IIS. Default is zero.
-; http://php.net/fastcgi.impersonate
-;fastcgi.impersonate = 1
-
-; Disable logging through FastCGI connection. PHP's default behavior is to enable
-; this feature.
-;fastcgi.logging = 0
-
-; cgi.rfc2616_headers configuration option tells PHP what type of headers to
-; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
-; is supported by Apache. When this option is set to 1 PHP will send
-; RFC2616 compliant header.
-; Default is zero.
-; http://php.net/cgi.rfc2616-headers
-;cgi.rfc2616_headers = 0
-
-;;;;;;;;;;;;;;;;
-; File Uploads ;
-;;;;;;;;;;;;;;;;
-
-; Whether to allow HTTP file uploads.
-; http://php.net/file-uploads
-file_uploads = On
-
-; Temporary directory for HTTP uploaded files (will use system default if not
-; specified).
-; http://php.net/upload-tmp-dir
-;upload_tmp_dir =
-
-; Maximum allowed size for uploaded files.
-; http://php.net/upload-max-filesize
-upload_max_filesize = 2M
-
-; Maximum number of files that can be uploaded via a single request
-max_file_uploads = 20
-
-;;;;;;;;;;;;;;;;;;
-; Fopen wrappers ;
-;;;;;;;;;;;;;;;;;;
-
-; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
-; http://php.net/allow-url-fopen
-allow_url_fopen = On
-
-; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
-; http://php.net/allow-url-include
-allow_url_include = Off
-
-; Define the anonymous ftp password (your email address). PHP's default setting
-; for this is empty.
-; http://php.net/from
-;from="john@doe.com"
-
-; Define the User-Agent string. PHP's default setting for this is empty.
-; http://php.net/user-agent
-;user_agent="PHP"
-
-; Default timeout for socket based streams (seconds)
-; http://php.net/default-socket-timeout
-default_socket_timeout = 60
-
-; If your scripts have to deal with files from Macintosh systems,
-; or you are running on a Mac and need to deal with files from
-; unix or win32 systems, setting this flag will cause PHP to
-; automatically detect the EOL character in those files so that
-; fgets() and file() will work regardless of the source of the file.
-; http://php.net/auto-detect-line-endings
-;auto_detect_line_endings = Off
-
-;;;;;;;;;;;;;;;;;;;;;;
-; Dynamic Extensions ;
-;;;;;;;;;;;;;;;;;;;;;;
-
-; If you wish to have an extension loaded automatically, use the following
-; syntax:
-;
-; extension=modulename.extension
-;
-; For example, on Windows:
-;
-; extension=msql.dll
-;
-; ... or under UNIX:
-;
-; extension=msql.so
-;
-; ... or with a path:
-;
-; extension=/path/to/extension/msql.so
-;
-; If you only provide the name of the extension, PHP will look for it in its
-; default extension directory.
-;
-
-;;;;;;;;;;;;;;;;;;;
-; Module Settings ;
-;;;;;;;;;;;;;;;;;;;
-
-[CLI Server]
-; Whether the CLI web server uses ANSI color coding in its terminal output.
-cli_server.color = On
-
-[Date]
-; Defines the default timezone used by the date functions
-; http://php.net/date.timezone
-;date.timezone =
-
-; http://php.net/date.default-latitude
-;date.default_latitude = 31.7667
-
-; http://php.net/date.default-longitude
-;date.default_longitude = 35.2333
-
-; http://php.net/date.sunrise-zenith
-;date.sunrise_zenith = 90.583333
-
-; http://php.net/date.sunset-zenith
-;date.sunset_zenith = 90.583333
-
-[filter]
-; http://php.net/filter.default
-;filter.default = unsafe_raw
-
-; http://php.net/filter.default-flags
-;filter.default_flags =
-
-[iconv]
-;iconv.input_encoding = ISO-8859-1
-;iconv.internal_encoding = ISO-8859-1
-;iconv.output_encoding = ISO-8859-1
-
-[intl]
-;intl.default_locale =
-; This directive allows you to produce PHP errors when some error
-; happens within intl functions. The value is the level of the error produced.
-; Default is 0, which does not produce any errors.
-;intl.error_level = E_WARNING
-
-[sqlite]
-; http://php.net/sqlite.assoc-case
-;sqlite.assoc_case = 0
-
-[sqlite3]
-;sqlite3.extension_dir =
-
-[Pcre]
-;PCRE library backtracking limit.
-; http://php.net/pcre.backtrack-limit
-;pcre.backtrack_limit=100000
-
-;PCRE library recursion limit.
-;Please note that if you set this value to a high number you may consume all
-;the available process stack and eventually crash PHP (due to reaching the
-;stack size limit imposed by the Operating System).
-; http://php.net/pcre.recursion-limit
-;pcre.recursion_limit=100000
-
-[Pdo]
-; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
-; http://php.net/pdo-odbc.connection-pooling
-;pdo_odbc.connection_pooling=strict
-
-;pdo_odbc.db2_instance_name
-
-[Pdo_mysql]
-; If mysqlnd is used: Number of cache slots for the internal result set cache
-; http://php.net/pdo_mysql.cache_size
-pdo_mysql.cache_size = 2000
-
-; Default socket name for local MySQL connects. If empty, uses the built-in
-; MySQL defaults.
-; http://php.net/pdo_mysql.default-socket
-pdo_mysql.default_socket=
-
-[Phar]
-; http://php.net/phar.readonly
-;phar.readonly = On
-
-; http://php.net/phar.require-hash
-;phar.require_hash = On
-
-;phar.cache_list =
-
-[mail function]
-; For Win32 only.
-; http://php.net/smtp
-SMTP = localhost
-; http://php.net/smtp-port
-smtp_port = 25
-
-; For Win32 only.
-; http://php.net/sendmail-from
-;sendmail_from = me@example.com
-
-; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
-; http://php.net/sendmail-path
-;sendmail_path =
-
-; Force the addition of the specified parameters to be passed as extra parameters
-; to the sendmail binary. These parameters will always replace the value of
-; the 5th parameter to mail(), even in safe mode.
-;mail.force_extra_parameters =
-
-; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
-mail.add_x_header = On
-
-; The path to a log file that will log all mail() calls. Log entries include
-; the full path of the script, line number, To address and headers.
-;mail.log =
-; Log mail to syslog (Event Log on NT, not valid in Windows 95).
-;mail.log = syslog
-
-[SQL]
-; http://php.net/sql.safe-mode
-sql.safe_mode = Off
-
-[ODBC]
-; http://php.net/odbc.default-db
-;odbc.default_db = Not yet implemented
-
-; http://php.net/odbc.default-user
-;odbc.default_user = Not yet implemented
-
-; http://php.net/odbc.default-pw
-;odbc.default_pw = Not yet implemented
-
-; Controls the ODBC cursor model.
-; Default: SQL_CURSOR_STATIC (default).
-;odbc.default_cursortype
-
-; Allow or prevent persistent links.
-; http://php.net/odbc.allow-persistent
-odbc.allow_persistent = On
-
-; Check that a connection is still valid before reuse.
-; http://php.net/odbc.check-persistent
-odbc.check_persistent = On
-
-; Maximum number of persistent links. -1 means no limit.
-; http://php.net/odbc.max-persistent
-odbc.max_persistent = -1
-
-; Maximum number of links (persistent + non-persistent). -1 means no limit.
-; http://php.net/odbc.max-links
-odbc.max_links = -1
-
-; Handling of LONG fields. Returns number of bytes to variables. 0 means
-; passthru.
-; http://php.net/odbc.defaultlrl
-odbc.defaultlrl = 4096
-
-; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
-; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
-; of odbc.defaultlrl and odbc.defaultbinmode
-; http://php.net/odbc.defaultbinmode
-odbc.defaultbinmode = 1
-
-;birdstep.max_links = -1
-
-[Interbase]
-; Allow or prevent persistent links.
-ibase.allow_persistent = 1
-
-; Maximum number of persistent links. -1 means no limit.
-ibase.max_persistent = -1
-
-; Maximum number of links (persistent + non-persistent). -1 means no limit.
-ibase.max_links = -1
-
-; Default database name for ibase_connect().
-;ibase.default_db =
-
-; Default username for ibase_connect().
-;ibase.default_user =
-
-; Default password for ibase_connect().
-;ibase.default_password =
-
-; Default charset for ibase_connect().
-;ibase.default_charset =
-
-; Default timestamp format.
-ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
-
-; Default date format.
-ibase.dateformat = "%Y-%m-%d"
-
-; Default time format.
-ibase.timeformat = "%H:%M:%S"
-
-[MySQL]
-; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
-; http://php.net/mysql.allow_local_infile
-mysql.allow_local_infile = On
-
-; Allow or prevent persistent links.
-; http://php.net/mysql.allow-persistent
-mysql.allow_persistent = On
-
-; If mysqlnd is used: Number of cache slots for the internal result set cache
-; http://php.net/mysql.cache_size
-mysql.cache_size = 2000
-
-; Maximum number of persistent links. -1 means no limit.
-; http://php.net/mysql.max-persistent
-mysql.max_persistent = -1
-
-; Maximum number of links (persistent + non-persistent). -1 means no limit.
-; http://php.net/mysql.max-links
-mysql.max_links = -1
-
-; Default port number for mysql_connect(). If unset, mysql_connect() will use
-; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
-; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
-; at MYSQL_PORT.
-; http://php.net/mysql.default-port
-mysql.default_port =
-
-; Default socket name for local MySQL connects. If empty, uses the built-in
-; MySQL defaults.
-; http://php.net/mysql.default-socket
-mysql.default_socket =
-
-; Default host for mysql_connect() (doesn't apply in safe mode).
-; http://php.net/mysql.default-host
-mysql.default_host =
-
-; Default user for mysql_connect() (doesn't apply in safe mode).
-; http://php.net/mysql.default-user
-mysql.default_user =
-
-; Default password for mysql_connect() (doesn't apply in safe mode).
-; Note that this is generally a *bad* idea to store passwords in this file.
-; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
-; and reveal this password! And of course, any users with read access to this
-; file will be able to reveal the password as well.
-; http://php.net/mysql.default-password
-mysql.default_password =
-
-; Maximum time (in seconds) for connect timeout. -1 means no limit
-; http://php.net/mysql.connect-timeout
-mysql.connect_timeout = 60
-
-; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
-; SQL-Errors will be displayed.
-; http://php.net/mysql.trace-mode
-mysql.trace_mode = Off
-
-[MySQLi]
-
-; Maximum number of persistent links. -1 means no limit.
-; http://php.net/mysqli.max-persistent
-mysqli.max_persistent = -1
-
-; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
-; http://php.net/mysqli.allow_local_infile
-;mysqli.allow_local_infile = On
-
-; Allow or prevent persistent links.
-; http://php.net/mysqli.allow-persistent
-mysqli.allow_persistent = On
-
-; Maximum number of links. -1 means no limit.
-; http://php.net/mysqli.max-links
-mysqli.max_links = -1
-
-; If mysqlnd is used: Number of cache slots for the internal result set cache
-; http://php.net/mysqli.cache_size
-mysqli.cache_size = 2000
-
-; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
-; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
-; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
-; at MYSQL_PORT.
-; http://php.net/mysqli.default-port
-mysqli.default_port = 3306
-
-; Default socket name for local MySQL connects. If empty, uses the built-in
-; MySQL defaults.
-; http://php.net/mysqli.default-socket
-mysqli.default_socket =
-
-; Default host for mysql_connect() (doesn't apply in safe mode).
-; http://php.net/mysqli.default-host
-mysqli.default_host =
-
-; Default user for mysql_connect() (doesn't apply in safe mode).
-; http://php.net/mysqli.default-user
-mysqli.default_user =
-
-; Default password for mysqli_connect() (doesn't apply in safe mode).
-; Note that this is generally a *bad* idea to store passwords in this file.
-; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
-; and reveal this password! And of course, any users with read access to this
-; file will be able to reveal the password as well.
-; http://php.net/mysqli.default-pw
-mysqli.default_pw =
-
-; Allow or prevent reconnect
-mysqli.reconnect = Off
-
-[mysqlnd]
-; Enable / Disable collection of general statistics by mysqlnd which can be
-; used to tune and monitor MySQL operations.
-; http://php.net/mysqlnd.collect_statistics
-mysqlnd.collect_statistics = On
-
-; Enable / Disable collection of memory usage statistics by mysqlnd which can be
-; used to tune and monitor MySQL operations.
-; http://php.net/mysqlnd.collect_memory_statistics
-mysqlnd.collect_memory_statistics = Off
-
-; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
-; http://php.net/mysqlnd.net_cmd_buffer_size
-;mysqlnd.net_cmd_buffer_size = 2048
-
-; Size of a pre-allocated buffer used for reading data sent by the server in
-; bytes.
-; http://php.net/mysqlnd.net_read_buffer_size
-;mysqlnd.net_read_buffer_size = 32768
-
-[OCI8]
-
-; Connection: Enables privileged connections using external
-; credentials (OCI_SYSOPER, OCI_SYSDBA)
-; http://php.net/oci8.privileged-connect
-;oci8.privileged_connect = Off
-
-; Connection: The maximum number of persistent OCI8 connections per
-; process. Using -1 means no limit.
-; http://php.net/oci8.max-persistent
-;oci8.max_persistent = -1
-
-; Connection: The maximum number of seconds a process is allowed to
-; maintain an idle persistent connection. Using -1 means idle
-; persistent connections will be maintained forever.
-; http://php.net/oci8.persistent-timeout
-;oci8.persistent_timeout = -1
-
-; Connection: The number of seconds that must pass before issuing a
-; ping during oci_pconnect() to check the connection validity. When
-; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
-; pings completely.
-; http://php.net/oci8.ping-interval
-;oci8.ping_interval = 60
-
-; Connection: Set this to a user chosen connection class to be used
-; for all pooled server requests with Oracle 11g Database Resident
-; Connection Pooling (DRCP). To use DRCP, this value should be set to
-; the same string for all web servers running the same application,
-; the database pool must be configured, and the connection string must
-; specify to use a pooled server.
-;oci8.connection_class =
-
-; High Availability: Using On lets PHP receive Fast Application
-; Notification (FAN) events generated when a database node fails. The
-; database must also be configured to post FAN events.
-;oci8.events = Off
-
-; Tuning: This option enables statement caching, and specifies how
-; many statements to cache. Using 0 disables statement caching.
-; http://php.net/oci8.statement-cache-size
-;oci8.statement_cache_size = 20
-
-; Tuning: Enables statement prefetching and sets the default number of
-; rows that will be fetched automatically after statement execution.
-; http://php.net/oci8.default-prefetch
-;oci8.default_prefetch = 100
-
-; Compatibility. Using On means oci_close() will not close
-; oci_connect() and oci_new_connect() connections.
-; http://php.net/oci8.old-oci-close-semantics
-;oci8.old_oci_close_semantics = Off
-
-[PostgreSQL]
-; Allow or prevent persistent links.
-; http://php.net/pgsql.allow-persistent
-pgsql.allow_persistent = On
-
-; Detect broken persistent links always with pg_pconnect().
-; Auto reset feature requires a little overheads.
-; http://php.net/pgsql.auto-reset-persistent
-pgsql.auto_reset_persistent = Off
-
-; Maximum number of persistent links. -1 means no limit.
-; http://php.net/pgsql.max-persistent
-pgsql.max_persistent = -1
-
-; Maximum number of links (persistent+non persistent). -1 means no limit.
-; http://php.net/pgsql.max-links
-pgsql.max_links = -1
-
-; Ignore PostgreSQL backends Notice message or not.
-; Notice message logging require a little overheads.
-; http://php.net/pgsql.ignore-notice
-pgsql.ignore_notice = 0
-
-; Log PostgreSQL backends Notice message or not.
-; Unless pgsql.ignore_notice=0, module cannot log notice message.
-; http://php.net/pgsql.log-notice
-pgsql.log_notice = 0
-
-[Sybase-CT]
-; Allow or prevent persistent links.
-; http://php.net/sybct.allow-persistent
-sybct.allow_persistent = On
-
-; Maximum number of persistent links. -1 means no limit.
-; http://php.net/sybct.max-persistent
-sybct.max_persistent = -1
-
-; Maximum number of links (persistent + non-persistent). -1 means no limit.
-; http://php.net/sybct.max-links
-sybct.max_links = -1
-
-; Minimum server message severity to display.
-; http://php.net/sybct.min-server-severity
-sybct.min_server_severity = 10
-
-; Minimum client message severity to display.
-; http://php.net/sybct.min-client-severity
-sybct.min_client_severity = 10
-
-; Set per-context timeout
-; http://php.net/sybct.timeout
-;sybct.timeout=
-
-;sybct.packet_size
-
-; The maximum time in seconds to wait for a connection attempt to succeed before returning failure.
-; Default: one minute
-;sybct.login_timeout=
-
-; The name of the host you claim to be connecting from, for display by sp_who.
-; Default: none
-;sybct.hostname=
-
-; Allows you to define how often deadlocks are to be retried. -1 means "forever".
-; Default: 0
-;sybct.deadlock_retry_count=
-
-[bcmath]
-; Number of decimal digits for all bcmath functions.
-; http://php.net/bcmath.scale
-bcmath.scale = 0
-
-[browscap]
-; http://php.net/browscap
-;browscap = extra/browscap.ini
-
-[Session]
-; Handler used to store/retrieve data.
-; http://php.net/session.save-handler
-session.save_handler = files
-
-; Argument passed to save_handler. In the case of files, this is the path
-; where data files are stored. Note: Windows users have to change this
-; variable in order to use PHP's session functions.
-;
-; The path can be defined as:
-;
-; session.save_path = "N;/path"
-;
-; where N is an integer. Instead of storing all the session files in
-; /path, what this will do is use subdirectories N-levels deep, and
-; store the session data in those directories. This is useful if you
-; or your OS have problems with lots of files in one directory, and is
-; a more efficient layout for servers that handle lots of sessions.
-;
-; NOTE 1: PHP will not create this directory structure automatically.
-; You can use the script in the ext/session dir for that purpose.
-; NOTE 2: See the section on garbage collection below if you choose to
-; use subdirectories for session storage
-;
-; The file storage module creates files using mode 600 by default.
-; You can change that by using
-;
-; session.save_path = "N;MODE;/path"
-;
-; where MODE is the octal representation of the mode. Note that this
-; does not overwrite the process's umask.
-; http://php.net/session.save-path
-;session.save_path = "/var/lib/php5"
-
-; Whether to use strict session mode.
-; Strict session mode does not accept uninitialized session ID and regenerate
-; session ID if browser sends uninitialized session ID. Strict mode protects
-; applications from session fixation via session adoption vulnerability. It is
-; disabled by default for maximum compatibility, but enabling it is encouraged.
-; https://wiki.php.net/rfc/strict_sessions
-session.use_strict_mode = 0
-
-; Whether to use cookies.
-; http://php.net/session.use-cookies
-session.use_cookies = 1
-
-; http://php.net/session.cookie-secure
-;session.cookie_secure =
-
-; This option forces PHP to fetch and use a cookie for storing and maintaining
-; the session id. We encourage this operation as it's very helpful in combating
-; session hijacking when not specifying and managing your own session id. It is
-; not the end all be all of session hijacking defense, but it's a good start.
-; http://php.net/session.use-only-cookies
-session.use_only_cookies = 1
-
-; Name of the session (used as cookie name).
-; http://php.net/session.name
-session.name = PHPSESSID
-
-; Initialize session on request startup.
-; http://php.net/session.auto-start
-session.auto_start = 0
-
-; Lifetime in seconds of cookie or, if 0, until browser is restarted.
-; http://php.net/session.cookie-lifetime
-session.cookie_lifetime = 0
-
-; The path for which the cookie is valid.
-; http://php.net/session.cookie-path
-session.cookie_path = /
-
-; The domain for which the cookie is valid.
-; http://php.net/session.cookie-domain
-session.cookie_domain =
-
-; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
-; http://php.net/session.cookie-httponly
-session.cookie_httponly =
-
-; Handler used to serialize data. php is the standard serializer of PHP.
-; http://php.net/session.serialize-handler
-session.serialize_handler = php
-
-; Defines the probability that the 'garbage collection' process is started
-; on every session initialization. The probability is calculated by using
-; gc_probability/gc_divisor. Where session.gc_probability is the numerator
-; and gc_divisor is the denominator in the equation. Setting this value to 1
-; when the session.gc_divisor value is 100 will give you approximately a 1% chance
-; the gc will run on any give request.
-; Default Value: 1
-; Development Value: 1
-; Production Value: 1
-; http://php.net/session.gc-probability
-session.gc_probability = 0
-
-; Defines the probability that the 'garbage collection' process is started on every
-; session initialization. The probability is calculated by using the following equation:
-; gc_probability/gc_divisor. Where session.gc_probability is the numerator and
-; session.gc_divisor is the denominator in the equation. Setting this value to 1
-; when the session.gc_divisor value is 100 will give you approximately a 1% chance
-; the gc will run on any give request. Increasing this value to 1000 will give you
-; a 0.1% chance the gc will run on any give request. For high volume production servers,
-; this is a more efficient approach.
-; Default Value: 100
-; Development Value: 1000
-; Production Value: 1000
-; http://php.net/session.gc-divisor
-session.gc_divisor = 1000
-
-; After this number of seconds, stored data will be seen as 'garbage' and
-; cleaned up by the garbage collection process.
-; http://php.net/session.gc-maxlifetime
-session.gc_maxlifetime = 1440
-
-; NOTE: If you are using the subdirectory option for storing session files
-; (see session.save_path above), then garbage collection does *not*
-; happen automatically. You will need to do your own garbage
-; collection through a shell script, cron entry, or some other method.
-; For example, the following script would is the equivalent of
-; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
-; find /path/to/sessions -cmin +24 -type f | xargs rm
-
-; PHP 4.2 and less have an undocumented feature/bug that allows you to
-; to initialize a session variable in the global scope.
-; PHP 4.3 and later will warn you, if this feature is used.
-; You can disable the feature and the warning separately. At this time,
-; the warning is only displayed, if bug_compat_42 is enabled. This feature
-; introduces some serious security problems if not handled correctly. It's
-; recommended that you do not use this feature on production servers. But you
-; should enable this on development servers and enable the warning as well. If you
-; do not enable the feature on development servers, you won't be warned when it's
-; used and debugging errors caused by this can be difficult to track down.
-; Default Value: On
-; Development Value: On
-; Production Value: Off
-; http://php.net/session.bug-compat-42
-session.bug_compat_42 = Off
-
-; This setting controls whether or not you are warned by PHP when initializing a
-; session value into the global space. session.bug_compat_42 must be enabled before
-; these warnings can be issued by PHP. See the directive above for more information.
-; Default Value: On
-; Development Value: On
-; Production Value: Off
-; http://php.net/session.bug-compat-warn
-session.bug_compat_warn = Off
-
-; Check HTTP Referer to invalidate externally stored URLs containing ids.
-; HTTP_REFERER has to contain this substring for the session to be
-; considered as valid.
-; http://php.net/session.referer-check
-session.referer_check =
-
-; How many bytes to read from the file.
-; http://php.net/session.entropy-length
-;session.entropy_length = 32
-
-; Specified here to create the session id.
-; http://php.net/session.entropy-file
-; Defaults to /dev/urandom
-; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom
-; If neither are found at compile time, the default is no entropy file.
-; On windows, setting the entropy_length setting will activate the
-; Windows random source (using the CryptoAPI)
-;session.entropy_file = /dev/urandom
-
-; Set to {nocache,private,public,} to determine HTTP caching aspects
-; or leave this empty to avoid sending anti-caching headers.
-; http://php.net/session.cache-limiter
-session.cache_limiter = nocache
-
-; Document expires after n minutes.
-; http://php.net/session.cache-expire
-session.cache_expire = 180
-
-; trans sid support is disabled by default.
-; Use of trans sid may risk your users security.
-; Use this option with caution.
-; - User may send URL contains active session ID
-; to other person via. email/irc/etc.
-; - URL that contains active session ID may be stored
-; in publicly accessible computer.
-; - User may access your site with the same session ID
-; always using URL stored in browser's history or bookmarks.
-; http://php.net/session.use-trans-sid
-session.use_trans_sid = 0
-
-; Select a hash function for use in generating session ids.
-; Possible Values
-; 0 (MD5 128 bits)
-; 1 (SHA-1 160 bits)
-; This option may also be set to the name of any hash function supported by
-; the hash extension. A list of available hashes is returned by the hash_algos()
-; function.
-; http://php.net/session.hash-function
-session.hash_function = 0
-
-; Define how many bits are stored in each character when converting
-; the binary hash data to something readable.
-; Possible values:
-; 4 (4 bits: 0-9, a-f)
-; 5 (5 bits: 0-9, a-v)
-; 6 (6 bits: 0-9, a-z, A-Z, "-", ",")
-; Default Value: 4
-; Development Value: 5
-; Production Value: 5
-; http://php.net/session.hash-bits-per-character
-session.hash_bits_per_character = 5
-
-; The URL rewriter will look for URLs in a defined set of HTML tags.
-; form/fieldset are special; if you include them here, the rewriter will
-; add a hidden field with the info which is otherwise appended
-; to URLs. If you want XHTML conformity, remove the form entry.
-; Note that all valid entries require a "=", even if no value follows.
-; Default Value: "a=href,area=href,frame=src,form=,fieldset="
-; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
-; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
-; http://php.net/url-rewriter.tags
-url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
-
-; Enable upload progress tracking in $_SESSION
-; Default Value: On
-; Development Value: On
-; Production Value: On
-; http://php.net/session.upload-progress.enabled
-;session.upload_progress.enabled = On
-
-; Cleanup the progress information as soon as all POST data has been read
-; (i.e. upload completed).
-; Default Value: On
-; Development Value: On
-; Production Value: On
-; http://php.net/session.upload-progress.cleanup
-;session.upload_progress.cleanup = On
-
-; A prefix used for the upload progress key in $_SESSION
-; Default Value: "upload_progress_"
-; Development Value: "upload_progress_"
-; Production Value: "upload_progress_"
-; http://php.net/session.upload-progress.prefix
-;session.upload_progress.prefix = "upload_progress_"
-
-; The index name (concatenated with the prefix) in $_SESSION
-; containing the upload progress information
-; Default Value: "PHP_SESSION_UPLOAD_PROGRESS"
-; Development Value: "PHP_SESSION_UPLOAD_PROGRESS"
-; Production Value: "PHP_SESSION_UPLOAD_PROGRESS"
-; http://php.net/session.upload-progress.name
-;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
-
-; How frequently the upload progress should be updated.
-; Given either in percentages (per-file), or in bytes
-; Default Value: "1%"
-; Development Value: "1%"
-; Production Value: "1%"
-; http://php.net/session.upload-progress.freq
-;session.upload_progress.freq = "1%"
-
-; The minimum delay between updates, in seconds
-; Default Value: 1
-; Development Value: 1
-; Production Value: 1
-; http://php.net/session.upload-progress.min-freq
-;session.upload_progress.min_freq = "1"
-
-[MSSQL]
-; Allow or prevent persistent links.
-mssql.allow_persistent = On
-
-; Maximum number of persistent links. -1 means no limit.
-mssql.max_persistent = -1
-
-; Maximum number of links (persistent+non persistent). -1 means no limit.
-mssql.max_links = -1
-
-; Minimum error severity to display.
-mssql.min_error_severity = 10
-
-; Minimum message severity to display.
-mssql.min_message_severity = 10
-
-; Compatibility mode with old versions of PHP 3.0.
-mssql.compatibility_mode = Off
-
-; Connect timeout
-;mssql.connect_timeout = 5
-
-; Query timeout
-;mssql.timeout = 60
-
-; Valid range 0 - 2147483647. Default = 4096.
-;mssql.textlimit = 4096
-
-; Valid range 0 - 2147483647. Default = 4096.
-;mssql.textsize = 4096
-
-; Limits the number of records in each batch. 0 = all records in one batch.
-;mssql.batchsize = 0
-
-; Specify how datetime and datetim4 columns are returned
-; On => Returns data converted to SQL server settings
-; Off => Returns values as YYYY-MM-DD hh:mm:ss
-;mssql.datetimeconvert = On
-
-; Use NT authentication when connecting to the server
-mssql.secure_connection = Off
-
-; Specify max number of processes. -1 = library default
-; msdlib defaults to 25
-; FreeTDS defaults to 4096
-;mssql.max_procs = -1
-
-; Specify client character set.
-; If empty or not set the client charset from freetds.conf is used
-; This is only used when compiled with FreeTDS
-;mssql.charset = "ISO-8859-1"
-
-[Assertion]
-; Assert(expr); active by default.
-; http://php.net/assert.active
-;assert.active = On
-
-; Issue a PHP warning for each failed assertion.
-; http://php.net/assert.warning
-;assert.warning = On
-
-; Don't bail out by default.
-; http://php.net/assert.bail
-;assert.bail = Off
-
-; User-function to be called if an assertion fails.
-; http://php.net/assert.callback
-;assert.callback = 0
-
-; Eval the expression with current error_reporting(). Set to true if you want
-; error_reporting(0) around the eval().
-; http://php.net/assert.quiet-eval
-;assert.quiet_eval = 0
-
-[COM]
-; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
-; http://php.net/com.typelib-file
-;com.typelib_file =
-
-; allow Distributed-COM calls
-; http://php.net/com.allow-dcom
-;com.allow_dcom = true
-
-; autoregister constants of a components typlib on com_load()
-; http://php.net/com.autoregister-typelib
-;com.autoregister_typelib = true
-
-; register constants casesensitive
-; http://php.net/com.autoregister-casesensitive
-;com.autoregister_casesensitive = false
-
-; show warnings on duplicate constant registrations
-; http://php.net/com.autoregister-verbose
-;com.autoregister_verbose = true
-
-; The default character set code-page to use when passing strings to and from COM objects.
-; Default: system ANSI code page
-;com.code_page=
-
-[mbstring]
-; language for internal character representation.
-; http://php.net/mbstring.language
-;mbstring.language = Japanese
-
-; internal/script encoding.
-; Some encoding cannot work as internal encoding.
-; (e.g. SJIS, BIG5, ISO-2022-*)
-; http://php.net/mbstring.internal-encoding
-;mbstring.internal_encoding = UTF-8
-
-; http input encoding.
-; http://php.net/mbstring.http-input
-;mbstring.http_input = UTF-8
-
-; http output encoding. mb_output_handler must be
-; registered as output buffer to function
-; http://php.net/mbstring.http-output
-;mbstring.http_output = pass
-
-; enable automatic encoding translation according to
-; mbstring.internal_encoding setting. Input chars are
-; converted to internal encoding by setting this to On.
-; Note: Do _not_ use automatic encoding translation for
-; portable libs/applications.
-; http://php.net/mbstring.encoding-translation
-;mbstring.encoding_translation = Off
-
-; automatic encoding detection order.
-; auto means
-; http://php.net/mbstring.detect-order
-;mbstring.detect_order = auto
-
-; substitute_character used when character cannot be converted
-; one from another
-; http://php.net/mbstring.substitute-character
-;mbstring.substitute_character = none
-
-; overload(replace) single byte functions by mbstring functions.
-; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
-; etc. Possible values are 0,1,2,4 or combination of them.
-; For example, 7 for overload everything.
-; 0: No overload
-; 1: Overload mail() function
-; 2: Overload str*() functions
-; 4: Overload ereg*() functions
-; http://php.net/mbstring.func-overload
-;mbstring.func_overload = 0
-
-; enable strict encoding detection.
-;mbstring.strict_detection = On
-
-; This directive specifies the regex pattern of content types for which mb_output_handler()
-; is activated.
-; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
-;mbstring.http_output_conv_mimetype=
-
-[gd]
-; Tell the jpeg decode to ignore warnings and try to create
-; a gd image. The warning will then be displayed as notices
-; disabled by default
-; http://php.net/gd.jpeg-ignore-warning
-;gd.jpeg_ignore_warning = 0
-
-[exif]
-; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
-; With mbstring support this will automatically be converted into the encoding
-; given by corresponding encode setting. When empty mbstring.internal_encoding
-; is used. For the decode settings you can distinguish between motorola and
-; intel byte order. A decode setting cannot be empty.
-; http://php.net/exif.encode-unicode
-;exif.encode_unicode = ISO-8859-15
-
-; http://php.net/exif.decode-unicode-motorola
-;exif.decode_unicode_motorola = UCS-2BE
-
-; http://php.net/exif.decode-unicode-intel
-;exif.decode_unicode_intel = UCS-2LE
-
-; http://php.net/exif.encode-jis
-;exif.encode_jis =
-
-; http://php.net/exif.decode-jis-motorola
-;exif.decode_jis_motorola = JIS
-
-; http://php.net/exif.decode-jis-intel
-;exif.decode_jis_intel = JIS
-
-[Tidy]
-; The path to a default tidy configuration file to use when using tidy
-; http://php.net/tidy.default-config
-;tidy.default_config = /usr/local/lib/php/default.tcfg
-
-; Should tidy clean and repair output automatically?
-; WARNING: Do not use this option if you are generating non-html content
-; such as dynamic images
-; http://php.net/tidy.clean-output
-tidy.clean_output = Off
-
-[soap]
-; Enables or disables WSDL caching feature.
-; http://php.net/soap.wsdl-cache-enabled
-soap.wsdl_cache_enabled=1
-
-; Sets the directory name where SOAP extension will put cache files.
-; http://php.net/soap.wsdl-cache-dir
-soap.wsdl_cache_dir="/tmp"
-
-; (time to live) Sets the number of second while cached file will be used
-; instead of original one.
-; http://php.net/soap.wsdl-cache-ttl
-soap.wsdl_cache_ttl=86400
-
-; Sets the size of the cache limit. (Max. number of WSDL files to cache)
-soap.wsdl_cache_limit = 5
-
-[sysvshm]
-; A default size of the shared memory segment
-;sysvshm.init_mem = 10000
-
-[ldap]
-; Sets the maximum number of open links or -1 for unlimited.
-ldap.max_links = -1
-
-[mcrypt]
-; For more information about mcrypt settings see http://php.net/mcrypt-module-open
-
-; Directory where to load mcrypt algorithms
-; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
-;mcrypt.algorithms_dir=
-
-; Directory where to load mcrypt modes
-; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
-;mcrypt.modes_dir=
-
-[dba]
-;dba.default_handler=
-
-[opcache]
-; Determines if Zend OPCache is enabled
-;opcache.enable=0
-
-; Determines if Zend OPCache is enabled for the CLI version of PHP
-;opcache.enable_cli=0
-
-; The OPcache shared memory storage size.
-;opcache.memory_consumption=64
-
-; The amount of memory for interned strings in Mbytes.
-;opcache.interned_strings_buffer=4
-
-; The maximum number of keys (scripts) in the OPcache hash table.
-; Only numbers between 200 and 100000 are allowed.
-;opcache.max_accelerated_files=2000
-
-; The maximum percentage of "wasted" memory until a restart is scheduled.
-;opcache.max_wasted_percentage=5
-
-; When this directive is enabled, the OPcache appends the current working
-; directory to the script key, thus eliminating possible collisions between
-; files with the same name (basename). Disabling the directive improves
-; performance, but may break existing applications.
-;opcache.use_cwd=1
-
-; When disabled, you must reset the OPcache manually or restart the
-; webserver for changes to the filesystem to take effect.
-;opcache.validate_timestamps=1
-
-; How often (in seconds) to check file timestamps for changes to the shared
-; memory storage allocation. ("1" means validate once per second, but only
-; once per request. "0" means always validate)
-;opcache.revalidate_freq=2
-
-; Enables or disables file search in include_path optimization
-;opcache.revalidate_path=0
-
-; If disabled, all PHPDoc comments are dropped from the code to reduce the
-; size of the optimized code.
-;opcache.save_comments=1
-
-; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
-; may be always stored (save_comments=1), but not loaded by applications
-; that don't need them anyway.
-;opcache.load_comments=1
-
-; If enabled, a fast shutdown sequence is used for the accelerated code
-;opcache.fast_shutdown=0
-
-; Allow file existence override (file_exists, etc.) performance feature.
-;opcache.enable_file_override=0
-
-; A bitmask, where each bit enables or disables the appropriate OPcache
-; passes
-;opcache.optimization_level=0xffffffff
-
-;opcache.inherited_hack=1
-;opcache.dups_fix=0
-
-; The location of the OPcache blacklist file (wildcards allowed).
-; Each OPcache blacklist file is a text file that holds the names of files
-; that should not be accelerated. The file format is to add each filename
-; to a new line. The filename may be a full path or just a file prefix
-; (i.e., /var/www/x blacklists all the files and directories in /var/www
-; that start with 'x'). Line starting with a ; are ignored (comments).
-;opcache.blacklist_filename=
-
-; Allows exclusion of large files from being cached. By default all files
-; are cached.
-;opcache.max_file_size=0
-
-; Check the cache checksum each N requests.
-; The default value of "0" means that the checks are disabled.
-;opcache.consistency_checks=0
-
-; How long to wait (in seconds) for a scheduled restart to begin if the cache
-; is not being accessed.
-;opcache.force_restart_timeout=180
-
-; OPcache error_log file name. Empty string assumes "stderr".
-;opcache.error_log=
-
-; All OPcache errors go to the Web server log.
-; By default, only fatal errors (level 0) or errors (level 1) are logged.
-; You can also enable warnings (level 2), info messages (level 3) or
-; debug messages (level 4).
-;opcache.log_verbosity_level=1
-
-; Preferred Shared Memory back-end. Leave empty and let the system decide.
-;opcache.preferred_memory_model=
-
-; Protect the shared memory from unexpected writing during script execution.
-; Useful for internal debugging only.
-;opcache.protect_memory=0
-
-[curl]
-; A default value for the CURLOPT_CAINFO option. This is required to be an
-; absolute path.
-;curl.cainfo =
-
-; Local Variables:
-; tab-width: 4
-; End:
diff --git a/docs/assets/linode_readme_book.png b/docs/assets/linode_readme_book.png
deleted file mode 100644
index d2e717b8188..00000000000
Binary files a/docs/assets/linode_readme_book.png and /dev/null differ
diff --git a/docs/assets/linode_readme_logo.png b/docs/assets/linode_readme_logo.png
deleted file mode 100644
index 6672e58f03b..00000000000
Binary files a/docs/assets/linode_readme_logo.png and /dev/null differ
diff --git a/docs/assets/php.rb b/docs/assets/php.rb
deleted file mode 100644
index 81507ce7345..00000000000
--- a/docs/assets/php.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-package "php5" do
- action :install
-end
-
-package "php-pear" do
- action :install
-end
-
-package "php5-mysql" do
- action :install
-end
-
-cookbook_file "/etc/php5/apache2/php.ini" do
- source "php.ini"
- mode "0644"
- notifies :restart, "service[apache2]"
-end
-
-execute "chownlog" do
- command "chown www-data /var/log/php"
- action :nothing
-end
-
-directory "/var/log/php" do
- action :create
- notifies :run, "execute[chownlog]"
-end
diff --git a/docs/guides/_shortguides/email-warning-shortguide/index.md b/docs/guides/_shortguides/email-warning-shortguide/index.md
index bc89db43a3c..53c9f190748 100644
--- a/docs/guides/_shortguides/email-warning-shortguide/index.md
+++ b/docs/guides/_shortguides/email-warning-shortguide/index.md
@@ -14,5 +14,5 @@ aliases: ['/email-warning-shortguide/']
---
{{< note type="warning" title="Email restrictions on the Linode Platform" >}}
-In an effort to fight spam originating from our platform, outbound connections on ports 25, 465, and 587 are blocked by default on Compute Instances for *some* new accounts. These restrictions prevent applications from sending email. If you intend to send email from a Compute Instance, review the [Send Email on the Linode Platform](/docs/products/platform/get-started/guides/send-email/) guide to learn more about our email policies and to request the removal of these restrictions.
+In an effort to fight spam originating from our platform, outbound connections on ports 25, 465, and 587 are blocked by default on Compute Instances for *some* new accounts. These restrictions prevent applications from sending email. If you intend to send email from a Compute Instance, review the [Send Email on the Linode Platform](https://techdocs.akamai.com/cloud-computing/docs/send-email) guide to learn more about our email policies and to request the removal of these restrictions.
{{< /note >}}
\ No newline at end of file
diff --git a/docs/guides/_shortguides/limited-user-note-shortguide/index.md b/docs/guides/_shortguides/limited-user-note-shortguide/index.md
index 4884fdb2f56..e3e2140917f 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: ['/limited-user-note-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, visit our [Users and Groups](/docs/guides/linux-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/complete-observability-for-live-stream-events-with-trafficpeak/index.md b/docs/guides/akamai/solutions/complete-observability-for-live-stream-events-with-trafficpeak/index.md
index 7ef06bcfdb4..c36aea5a4e8 100644
--- a/docs/guides/akamai/solutions/complete-observability-for-live-stream-events-with-trafficpeak/index.md
+++ b/docs/guides/akamai/solutions/complete-observability-for-live-stream-events-with-trafficpeak/index.md
@@ -43,7 +43,7 @@ TrafficPeak offers sub-second querying and optimizes log indexing with fully cus
1. [Akamai Media Services Live (Akamai MSL)](https://www.akamai.com/resources/product-brief/media-services-live) ingests the live stream feeds in a duplicated fashion. MSL logs are sent to TrafficPeak to ensure full visibility for any ingest-related issues in real-time.
-1. [Linode Object Storage](/docs/products/storage/object-storage/) stores all live streaming content for instantaneous, low-latency delivery, as well as playback. Object Storage logs are sent to TrafficPeak.
+1. [Linode Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage) stores all live streaming content for instantaneous, low-latency delivery, as well as playback. Object Storage logs are sent to TrafficPeak.
1. [Akamai CDN](https://www.akamai.com/solutions/content-delivery-network) caches and delivers live streaming content to millions of concurrent users. CDN logs are also sent to TrafficPeak via Akamai DataStream, including all relevant HTTP(S) information for troubleshooting purposes.
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 b9171f39c4a..1d60db31b0c 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,9 +30,9 @@ 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](/docs/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](/docs/guides/deploy-rag-powered-chatbot-langchain-lke) guide shows how to containerize and deploy this application on Linode Kubernetes Engine (LKE).
+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).
## Systems and Components
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 3f3bfc30e2b..1262e12b698 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,9 +26,9 @@ 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](/docs/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](/docs/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance) guide shows how to run the chatbot on a single compute instance.
+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.
## Systems and Components
@@ -101,33 +101,33 @@ This design means you can destroy any pod without losing data. A replacement pod
### Set Up the Code Repository, Object Storage, Databases, and OpenAI API Key
-Follow these sections from the [Deploy a RAG-Powered Chatbot with LangChain on an Akamai Compute Instance](/docs/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance) guide:
+Follow these sections from the [Deploy a RAG-Powered Chatbot with LangChain on an Akamai Compute Instance](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance) guide:
{{< note >}}
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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance/#index-documents-with-langchain) section of the [RAG Chatbot LangChain Compute Instance](/docs/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/akamai/solutions/observability-with-datastream-and-multiplexing/index.md b/docs/guides/akamai/solutions/observability-with-datastream-and-multiplexing/index.md
index bc20b3e8980..c9ec41d6c57 100644
--- a/docs/guides/akamai/solutions/observability-with-datastream-and-multiplexing/index.md
+++ b/docs/guides/akamai/solutions/observability-with-datastream-and-multiplexing/index.md
@@ -13,7 +13,7 @@ Having real-time visibility into log data can help determine how applications ar
One way to achieve an efficient, predictable, and cost-effective observability workflow is to implement a cloud-based multiplexing solution to ingest and parse log data before it’s sent to the relevant DevOps team. Combined with Akamai’s [DataStream](https://techdocs.akamai.com/datastream2/docs/welcome-datastream2) edge-based log reporting, multiplexing can help manage how and where logs are transmitted, improve data security, and reduce overall cost.
-This guide outlines the business challenges of observability workflows, integration and migration need-to-knows, and illustrates a working multiplexing reference architecture using [Linode Kubernetes Engine (LKE)](/docs/products/compute/kubernetes/) running [Elastic Stack (ELK)](https://www.elastic.co/elastic-stack/) and [Vector](https://vector.dev/).
+This guide outlines the business challenges of observability workflows, integration and migration need-to-knows, and illustrates a working multiplexing reference architecture using [Linode Kubernetes Engine (LKE)](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) running [Elastic Stack (ELK)](https://www.elastic.co/elastic-stack/) and [Vector](https://vector.dev/).
## DataStream and Multiplexing Workflow
diff --git a/docs/guides/akamai/solutions/using-langchain-langgraph-build-rag-powered-chatbot/index.md b/docs/guides/akamai/solutions/using-langchain-langgraph-build-rag-powered-chatbot/index.md
index a74fad15a80..b9b6755ba0d 100644
--- a/docs/guides/akamai/solutions/using-langchain-langgraph-build-rag-powered-chatbot/index.md
+++ b/docs/guides/akamai/solutions/using-langchain-langgraph-build-rag-powered-chatbot/index.md
@@ -31,8 +31,8 @@ This guide describes how to leverage LangChain and LangGraph, two open-source pr
{{< note >}}
Two companion guides demonstrate how to deploy this chatbot on Akamai Cloud:
-- [Deploy a RAG-Powered Chatbot with LangChain on an Akamai Compute Instance](/docs/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance)
-- [Deploy a RAG-Powered Chatbot with LangChain on LKE](/docs/guides/deploy-rag-powered-chatbot-langchain-lke)
+- [Deploy a RAG-Powered Chatbot with LangChain on an Akamai Compute Instance](/cloud/guides/deploy-rag-powered-chatbot-langchain-akamai-compute-instance)
+- [Deploy a RAG-Powered Chatbot with LangChain on LKE](/cloud/guides/deploy-rag-powered-chatbot-langchain-lke)
{{< /note >}}
## Workflow Diagram
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 7bf413b4c92..8bde18bf63d 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
@@ -30,7 +30,7 @@ Some use cases where Storm is a good solution:
- Analysis of server logs
- Internet of Things (IoT) sensor data processing
-This guide explains how to create Storm clusters on the Linode cloud using a set of shell scripts that use Linode's Application Programming Interface (APIs) to programmatically create and configure large clusters. The scripts are all provided by the author of this guide via [GitHub repository](https://github.com/pathbreak/storm-linode). This application stack could also benefit from large amounts of disk space, so consider using our [Block Storage](/docs/products/storage/block-storage/) service with this setup.
+This guide explains how to create Storm clusters on the Linode cloud using a set of shell scripts that use Linode's Application Programming Interface (APIs) to programmatically create and configure large clusters. The scripts are all provided by the author of this guide via [GitHub repository](https://github.com/pathbreak/storm-linode). This application stack could also 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 type="alert" >}}
External resources are outside of our control, and can be changed and/or modified without our knowledge. Always review code from third party sites yourself before executing.
@@ -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](/docs/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
@@ -78,7 +78,7 @@ These are the names we'll use, but you are welcome to choose your own when creat
### Get a Linode API Key
-Follow the steps in [Generating an API Key](/docs/products/platform/accounts/guides/manage-api-tokens/) and save your key securely. It will be entered into configuration files in upcoming steps.
+Follow the steps in [Generating an API Key](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) and save your key securely. It will be entered into configuration files in upcoming steps.
If the key expires or is removed, remember to create a new one and update the `api_env_linode.conf` API environment configuration file on the cluster manager Linode. This will be explained further in the next section.
@@ -253,7 +253,7 @@ Creating a new Storm cluster involves four main steps, some of which are necessa
### Create a Zookeeper Image
-A *Zookeeper image* is a master disk image with all necessary Zookeeper software and libraries installed. We'll create our using [Linode Images](/docs/products/tools/images/) The benefits of using a Zookeeper image include:
+A *Zookeeper image* is a master disk image with all necessary Zookeeper software and libraries installed. We'll create our using [Linode Images](https://techdocs.akamai.com/cloud-computing/docs/images) The benefits of using a Zookeeper image include:
- Quick creation of a Zookeeper cluster by simply cloning it to create as many nodes as required, each a perfect copy of the image
- Distribution packages and third party software packages are identical on all nodes, preventing version mismatch errors
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 b4b39f21a17..bc560578301 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](/docs/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 981356998c8..42d43860424 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
@@ -19,12 +19,12 @@ In this tutorial, learn how to get started with Rasa. From installing the framew
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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
@@ -153,7 +153,7 @@ The contents should resemble the following outline excluding files like `__init_
The official documentation has a page on [Connecting to Messaging and Voice Channels](https://rasa.com/docs/rasa/messaging-and-voice-channels) that provides more information.
- Also refer to our tutorial on [How to Use WebSockets with Socket.IO](/docs/guides/using-socket-io) for an example of a Socket.IO chat application that can integrate with a Rasa assistant.
+ Also refer to our tutorial on [How to Use WebSockets with Socket.IO](/cloud/guides/using-socket-io) for an example of a Socket.IO chat application that can integrate with a Rasa assistant.
- `domain.yml` specifies what components from the configurations to include in the Rasa assistant's "world". For example, use this to include intents defined in the `nlu.yml` file or any created actions. This file is also where responses are defined.
@@ -219,7 +219,7 @@ The following steps walk through setting up these prerequisites and deploying an
deactivate
```
-1. Follow our [Deploying and Managing a Cluster on Linode Kubernetes Engine (LKE)](/docs/guides/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial/) guide to set up a Kubernetes cluster and configure kubectl.
+1. Follow our [Deploying and Managing a Cluster on Linode Kubernetes Engine (LKE)](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine) guide to set up a Kubernetes cluster and configure kubectl.
1. Create a namespace for the Rasa Kubernetes cluster. This example designates the namespace `rasacluster`.
@@ -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](/docs/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 a36b55b365d..2dde7aae79b 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](/docs/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](/docs/guides/pytorch-installation-ubuntu-2004/) and make use of [GPU](/docs/products/compute/compute-instances/plans/gpu/) or [dedicated CPU](/docs/products/compute/compute-instances/plans/dedicated-cpu/) 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 c08f951736b..f4167f7db6f 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
@@ -77,9 +77,9 @@ Streams achieve their speedy characteristics by taking some shortcuts. For examp
The examples in this guide assume that you have a RabbitMQ installation available. Follow the instructions and links below to set up a RabbitMQ instance:
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started on the Linode Platform](/docs/products/platform/get-started/) and [Create a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides. An Ubuntu 22.04 LTS, Nanode 1 GB, Shared CPU instance is sufficient for the examples in this guide.
+1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started on the Linode Platform](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Create a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guides. An Ubuntu 22.04 LTS, Nanode 1 GB, Shared CPU instance is sufficient for the examples in this guide.
-1. Follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 contained in the CloudSmith section of RabbitMQ's official [Installing on Debian and Ubuntu](https://www.rabbitmq.com/install-debian.html#apt-quick-start-cloudsmith) guide. It provides everything required for a basic installation, and is the setup used for this guide. To use the streams feature covered in this guide, ensure that you have RabbitMQ 3.9 or above installed on your server:
@@ -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](/docs/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 898d6da937d..dd227f55175 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: ['/applications/big-data/redis-cluster/','/applications/big-data/how-to-install-and-configure-a-redis-cluster-on-ubuntu-1604/']
external_resources:
- '[Redis Official Website](https://redis.io/)'
- - '[Install and Configure Redis on CentOS 7](/docs/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](/docs/guides/configure-firewall-with-ufw/)
-* [Getting Started with VLANs](/docs/products/networking/vlans/get-started/)
-* [Master-Replicas Replication](/docs/guides/how-to-install-a-redis-server-on-ubuntu-or-debian8/)
+* [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/)
### 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](/docs/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:
@@ -98,7 +98,7 @@ cluster-node-timeout 15000
{{< note type="alert" respectIndent=false >}}
Without taking additional precautions, your Redis nodes may be exposed to the public internet via their respective public IP addresses. This means your nodes may be vulnerable to automated attacks. For more information, see [Redis Security](https://redis.io/topics/security).
-To protect your Redis cluster from outside threats, consider utilizing [Cloud Firewalls](/docs/products/networking/cloud-firewall/) or [VLANs](/docs/products/networking/vlans/) to limit access to your cluster Linodes.
+To protect your Redis cluster from outside threats, consider utilizing [Cloud Firewalls](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) or [VLANs](https://techdocs.akamai.com/cloud-computing/docs/vlan) to limit access to your cluster Linodes.
When using VLANs, replace `192.0.2.1` with the respective Linode's IPAM address in each configuration file.
{{< /note >}}
@@ -166,7 +166,7 @@ At this point, each Linode hosts two independent master nodes. The Redis install
1. SSH into **Server 1**, then create a Redis cluster consisting of your three master nodes with the following command:
{{< note respectIndent=false >}}
-If utilizing a [VLAN](/docs/products/networking/vlans/get-started/), use each Linode's IPAM address.
+If utilizing a [VLAN](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-vlans), use each Linode's IPAM address.
{{< /note >}}
redis-cli --cluster create \
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 78027678bc8..c62915a1e21 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
@@ -20,12 +20,12 @@ external_resources:
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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
@@ -171,7 +171,7 @@ Kafka can be launched directly from the command line. You must launch the Zookee
## Create a Kafka Topic
-Before you can send any events to Kafka, you must create a topic to contain the events. An explanation of topics can be found in [Linode's Introduction to Kafka](/docs/guides/what-is-apache-kafka).
+Before you can send any events to Kafka, you must create a topic to contain the events. An explanation of topics can be found in [Linode's Introduction to Kafka](/cloud/guides/what-is-apache-kafka).
1. Open a new console session.
@@ -285,7 +285,7 @@ Events are durable and can be read as many times as you want. You can create a s
## Process Data with Kafka Streams
-Kafka Streams is a library for performing real-time transformations and analysis on a stream. A Kafka Streams application typically acts as both a consumer and a producer. It polls a topic for new events, processes the data, and transmits its output as events to a second topic. Other applications are consumers of this second topic. Kafka Streams is explained in [Linode's Introduction to Apache Kafka](/docs/guides/what-is-apache-kafka).
+Kafka Streams is a library for performing real-time transformations and analysis on a stream. A Kafka Streams application typically acts as both a consumer and a producer. It polls a topic for new events, processes the data, and transmits its output as events to a second topic. Other applications are consumers of this second topic. Kafka Streams is explained in [Linode's Introduction to Apache Kafka](/cloud/guides/what-is-apache-kafka).
You can use the `WordCountDemo` Java application included with Kafka Streams to run a quick demo. `WordCountDemo` consumes `streams-plaintext-input` events. It parses and processes the lines, and stores the words and counts in a table. The updated word counts are converted to a stream of events and sent to the `streams-plaintext-input` topic. The entire file is included below.
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 673b7a30353..2c2013ee7cb 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
@@ -27,12 +27,12 @@ This guide describes how to install TensorFlow on Ubuntu 20.04, which is fully s
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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 b71c198b618..23908aa9d7c 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
@@ -26,9 +26,9 @@ This guide will show you how to create a simple Flask API that will use machine
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 uses Ubuntu 16.04 in the examples. Modify the commands as needed for your distribution. The scripts in this guide are written in Python 3, but should also work on Python 2.
@@ -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](/docs/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 ad7a6971a1c..f691511adf9 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
@@ -28,9 +28,9 @@ Jupyter Notebook is being replaced by [JupyterLab](https://jupyterlab.readthedoc
Because this guide is written for Linodes running Ubuntu 16.04, you should:
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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.
## Install Anaconda Package Manager
@@ -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](/docs/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 b99d9d94361..75ccd8af18d 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,8 +11,8 @@ 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](/docs/guides/how-to-move-machine-learning-model-to-production/)'
-- '[Use Cases for Linode GPU Instances](/docs/products/compute/compute-instances/plans/gpu/)'
+- '[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)'
---
Machine learning (ML) has been around conceptually since 1959, when [Arthur Samuel](https://en.wikipedia.org/wiki/Arthur_Samuel), a pioneer in the field of computer gaming and artificial intelligence, coined the term. Samuel said that machine learning "gives computers the ability to learn without being explicitly programmed". While at IBM he wrote a program to play Checkers, which became the first known self-learning program.
@@ -45,7 +45,7 @@ Once a machine learning model is trained, you can move on to the second phase, w
## Machine Learning: Cloud vs. On Premises
-Training and inference are distinct in their processing requirements. Training requires very powerful processors, with [high-end server CPUs and GPUs](/docs/products/compute/compute-instances/get-started/); whereas inference can often be accomplished on-device, even a mobile phone. Instagram filters that change a person's appearance are an example. The phone recognizes your facial features and suggests changes.
+Training and inference are distinct in their processing requirements. Training requires very powerful processors, with [high-end server CPUs and GPUs](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-compute-instances); whereas inference can often be accomplished on-device, even a mobile phone. Instagram filters that change a person's appearance are an example. The phone recognizes your facial features and suggests changes.
For training, it is not uncommon for systems to use tens or even hundreds of millions of data set examples. The question then becomes where to accumulate all of your data. If the data resides on premises, then it doesn't make sense to upload it to a cloud service provider (CSP). You should just process the data where it resides.
@@ -63,7 +63,7 @@ Cloud storage for machine learning data has multiple benefits and advantages. Th
- **De-coupled architecture is bound to specific hardware**: In an on-prem situation, a company is likely tied to its hardware. When the company upgrades their hardware it also has to undergo a major software rewrite. Cloud-based training has a layer of abstraction from the hardware, so when the hardware is upgraded, the training algorithms may not require a rewrite.
-ML training is [where GPUs really shine](/docs/products/compute/compute-instances/plans/gpu/), but at the cost of expensive hardware and a sizable electric bill. If you are doing training only a few times a year, then the argument for cloud-based training is clear. Do you really want to invest in millions of dollars in high-end GPU-based servers you might use a half dozen times a year? Take your data to the cloud for training and use the models you generate in the cloud or on premises.
+ML training is [where GPUs really shine](https://techdocs.akamai.com/cloud-computing/docs/gpu-compute-instances), but at the cost of expensive hardware and a sizable electric bill. If you are doing training only a few times a year, then the argument for cloud-based training is clear. Do you really want to invest in millions of dollars in high-end GPU-based servers you might use a half dozen times a year? Take your data to the cloud for training and use the models you generate in the cloud or on premises.
## Tips for Machine Learning in the Cloud
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 49b07017781..4530f608bd1 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)](/docs/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](/docs/guides/how-to-install-tensorflow/) and [PyTorch](/docs/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.
@@ -41,7 +41,7 @@ The attacker usually prefers stealth in this case because the goal is not to bri
## Inference
-If a hacker determines which records from a dataset are used to train a machine learning model, that information can be used to look for vulnerabilities. An inference attack uses data mining and analysis techniques to gain knowledge about the underlying dataset. In most cases, the best results come from [overfitted models](https://en.wikipedia.org/wiki/Overfitting). Overfitting happens when a machine learning model follows the original data points too carefully. This makes it possible for the hacker to query a particular data point with relative ease. This attack vector currently works only on [supervised learning models](/docs/guides/introduction-to-machine-learning-training-and-inference#an-introduction-to-training-and-inference) and [Generative Adversarial Networks (GANs)](https://en.wikipedia.org/wiki/Generative_adversarial_network).
+If a hacker determines which records from a dataset are used to train a machine learning model, that information can be used to look for vulnerabilities. An inference attack uses data mining and analysis techniques to gain knowledge about the underlying dataset. In most cases, the best results come from [overfitted models](https://en.wikipedia.org/wiki/Overfitting). Overfitting happens when a machine learning model follows the original data points too carefully. This makes it possible for the hacker to query a particular data point with relative ease. This attack vector currently works only on [supervised learning models](/cloud/guides/introduction-to-machine-learning-training-and-inference#an-introduction-to-training-and-inference) and [Generative Adversarial Networks (GANs)](https://en.wikipedia.org/wiki/Generative_adversarial_network).
As a hacker sends queries to the model, the model makes predictions based on the confidence levels for each class that the model supports, giving the hacker valuable insights into the underlying application. The worst part of this particular attack is that [it’s often used against specific people and their data](https://medium.com/disaitek/demystifying-the-membership-inference-attack-e33e510a0c39), such as their medical records.
@@ -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](/docs/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 73720327820..cf5c09ed396 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](/docs/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
@@ -36,8 +36,8 @@ 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](/docs/products/tools/api/get-started/#get-an-access-token)
-- A configured [SSH key pair](/docs/guides/use-public-key-authentication-with-ssh/) along with your public key
+- 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
- 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](/docs/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 0d5503d046c..a78aa5d9238 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
@@ -42,7 +42,7 @@ This guide discusses key concepts and terminology associated with Apache Storm,
The example cluster in this guide is recommended for development and testing, but it is **not** recommended for production systems. It can be expanded later using the necessary redundancies such as additional ZooKeeper and Nimbus instances, as well as tools like [**supervisord**](http://supervisord.org/).
{{< /note >}}
-1. Using the instructions in our [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide and specifications below, create the **four** necessary instances to run an Apache Storm cluster (one for ZooKeeper, one for Nimbus, and two Storm Supervisors):
+1. Using the instructions in our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide and specifications below, create the **four** necessary instances to run an Apache Storm cluster (one for ZooKeeper, one for Nimbus, and two Storm Supervisors):
- **Images**: Use the latest Long Term Support (LTS) version of Ubuntu available for all nodes. The examples in this guide use **Ubuntu 24.04 LTS**.
@@ -62,10 +62,10 @@ The example cluster in this guide is recommended for development and testing, bu
- **Storm Supervisor Node 1**: `storm-super-1`
- **Storm Supervisor Node 2**: `storm-super-2`
-1. Once deployed, follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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. 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](/docs/guides/linux-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 5de7985a7a5..d3940e24c6f 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](/docs/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](/docs/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](/docs/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 b03f26dfc01..aab7ba34fce 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](/docs/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](/docs/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/access-google-drive-linode/index.md b/docs/guides/applications/cloud-storage/access-google-drive-linode/index.md
index 35581d27236..8d508dcb8f3 100644
--- a/docs/guides/applications/cloud-storage/access-google-drive-linode/index.md
+++ b/docs/guides/applications/cloud-storage/access-google-drive-linode/index.md
@@ -17,7 +17,7 @@ If you've used Google Drive, you know that it can be an indispensable tool for r
[Google-drive-ocamlfuse](https://github.com/astrada/google-drive-ocamlfuse) uses the Drive API to scan and access your Google Drive contents. A majority of the following steps involve authorizing its use and applying that authorization to the copy running on your Linode. Once it has been installed and authorized, you will have real-time access to your Google Drive via Linode.
-Before beginning, you should be familiar with our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, particularly if your Google Drive contains sensitive personal information. This guide is intended to be run as a non-root user, with sudo privileges required for some steps.
+Before beginning, you should be familiar with our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, particularly if your Google Drive contains sensitive personal information. This guide is intended to be run as a non-root user, with sudo privileges required for some steps.
## Install Software
diff --git a/docs/guides/applications/cloud-storage/access-your-box-account-from-your-linode/index.md b/docs/guides/applications/cloud-storage/access-your-box-account-from-your-linode/index.md
index ef716373000..b637c2454b0 100644
--- a/docs/guides/applications/cloud-storage/access-your-box-account-from-your-linode/index.md
+++ b/docs/guides/applications/cloud-storage/access-your-box-account-from-your-linode/index.md
@@ -14,9 +14,9 @@ If you've discovered [Box](https://www.box.com/) then you know that it can be a
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 requires having a Box account.
diff --git a/docs/guides/applications/cloud-storage/dropbox/index.md b/docs/guides/applications/cloud-storage/dropbox/index.md
index a02277d055e..b118e64e418 100644
--- a/docs/guides/applications/cloud-storage/dropbox/index.md
+++ b/docs/guides/applications/cloud-storage/dropbox/index.md
@@ -16,7 +16,7 @@ aliases: ['/applications/cloud-storage/dropbox/','/web-applications/cloud-storag
Dropbox allows for the storage of your documents, files, videos, and photographs. Whatever you choose to store will be available on the Dropbox website, as well as any computers, phones, or servers you have the Dropbox application installed.
-Prior to setting up Dropbox on your Linode it is recommended to follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. You will need a [Dropbox account](https://www.dropbox.com/). Dropbox can be used on Debian, Ubuntu, and any Red Hat Enterprise Linux-based OS.
+Prior to setting up Dropbox on your Linode it is recommended to follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. You will need a [Dropbox account](https://www.dropbox.com/). Dropbox can be used on Debian, Ubuntu, and any Red Hat Enterprise Linux-based OS.
## Installing Dependencies
diff --git a/docs/guides/applications/cloud-storage/freenas-blockstorage/index.md b/docs/guides/applications/cloud-storage/freenas-blockstorage/index.md
index 72d20ad6590..e717cf71fbc 100644
--- a/docs/guides/applications/cloud-storage/freenas-blockstorage/index.md
+++ b/docs/guides/applications/cloud-storage/freenas-blockstorage/index.md
@@ -16,9 +16,9 @@ aliases: ['/applications/cloud-storage/freenas-blockstorage/']
Network-attached storage (NAS) allows multiple client devices to access the connected storage media as though it's stored locally to the device. FreeNAS is FreeBSD-based NAS software, configurable via a browser interface.
-This guides shows how to install FreeNAS on a Linode and attach a [Block Storage Volume](/docs/products/storage/block-storage/) so that you can access both FreeNAS and the Storage Volume from your computer, phone, or tablet almost anywhere in the world.
+This guides shows how to install FreeNAS on a Linode and attach a [Block Storage Volume](https://techdocs.akamai.com/cloud-computing/docs/block-storage) so that you can access both FreeNAS and the Storage Volume from your computer, phone, or tablet almost anywhere in the world.
{{< note type="alert" >}}
-FreeNAS is not officially supported by Linode at this time. This means that features like the [Linode Backup Service](/docs/products/storage/backups/) and Lish will be unavailable to you.
+FreeNAS is not officially supported by Linode at this time. This means that features like the [Linode Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service) and Lish will be unavailable to you.
Any issues you may encounter with FreeNAS on your Linode are outside the scope of Linode Support. For further help with this guide's subject, you can ask questions on the [Linode Community Site](https://www.linode.com/community/questions/).
{{< /note >}}
@@ -27,9 +27,9 @@ Any issues you may encounter with FreeNAS on your Linode are outside the scope o
1. Create a Linode in your preferred data center. Ensure that your Linode has at least 8GB RAM and at least 11GB of available disk space. FreeNAS recommends 16GB of RAM for media servers. Visit the [official requirements](http://www.freenas.org/hardware-requirements/) for more information.
-2. Disable the [Lassie Shutdown Watchdog](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/) to prevent it from attempting to restart your Linode without your input. You can disable Lassie in the **Settings** tab of the Linode Manager under **Shutdown Watchdog**.
+2. Disable the [Lassie Shutdown Watchdog](https://techdocs.akamai.com/cloud-computing/docs/recover-from-unexpected-shutdowns-with-lassie) to prevent it from attempting to restart your Linode without your input. You can disable Lassie in the **Settings** tab of the Linode Manager under **Shutdown Watchdog**.
-3. [Create two disks](/docs/products/compute/compute-instances/guides/disks-and-storage/#create-a-disk):
+3. [Create two disks](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#create-a-disk):
1. **Label:** Installer
* **Type:** unformatted / raw
@@ -39,7 +39,7 @@ Any issues you may encounter with FreeNAS on your Linode are outside the scope o
* **Type:** unformatted / raw
* **Size:** Can be set to use remaining disk. At least 10240MB
-4. [Create two configuration profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/#create-a-configuration-profile) with the following settings. In each profile, disable all of the options under **Filesystem/Boot Helpers**.
+4. [Create two configuration profiles](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance#create-a-configuration-profile) with the following settings. In each profile, disable all of the options under **Filesystem/Boot Helpers**.
1. **Label:** Installer
* **Kernel:** Direct Disk
@@ -56,7 +56,7 @@ Any issues you may encounter with FreeNAS on your Linode are outside the scope o
## Create an Installer Disk
-1. Boot into **Rescue Mode** with the installer disk mounted to `/dev/sda` and access your Linode using [Lish](/docs/products/compute/compute-instances/guides/lish/) from the dashboard of your Linode from the Linode Cloud Manager.
+1. Boot into **Rescue Mode** with the installer disk mounted to `/dev/sda` and access your Linode using [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) from the dashboard of your Linode from the Linode Cloud Manager.
2. Once in Rescue Mode, run the following command to set the [latest FreeNAS release](http://www.freenas.org/download-freenas-release/) (11.1 at the time of this writing) as a variable:
@@ -76,7 +76,7 @@ Any issues you may encounter with FreeNAS on your Linode are outside the scope o
6. Go to the Linode Cloud Manager and access the dashboard for your Linode.
-7. Click the **Launch Console** link to access the [Glish](/docs/products/compute/compute-instances/guides/glish/) console and start the installation.
+7. Click the **Launch Console** link to access the [Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) console and start the installation.
## Install FreeNAS
@@ -108,7 +108,7 @@ Any issues you may encounter with FreeNAS on your Linode are outside the scope o
## Add a Block Storage Volume to FreeNAS
-1. [Add or attach a Block Storage Volume](/docs/products/storage/block-storage/guides/manage-volumes/) to the Linode. After you attach your Block Storage Volume, the Linode Manager will present command-line instructions for mounting it from your Linode, but you can disregard these.
+1. [Add or attach a Block Storage Volume](https://techdocs.akamai.com/cloud-computing/docs/manage-block-storage-volumes) to the Linode. After you attach your Block Storage Volume, the Linode Manager will present command-line instructions for mounting it from your Linode, but you can disregard these.
2. Reboot the Linode from the Linode Manager. After a few minutes, launch Glish from the dashboard again. You can monitor the reboot progress in Glish.
diff --git a/docs/guides/applications/cloud-storage/how-to-install-a-turtl-server-on-ubuntu/index.md b/docs/guides/applications/cloud-storage/how-to-install-a-turtl-server-on-ubuntu/index.md
index e81b47135d7..366d27e1f17 100644
--- a/docs/guides/applications/cloud-storage/how-to-install-a-turtl-server-on-ubuntu/index.md
+++ b/docs/guides/applications/cloud-storage/how-to-install-a-turtl-server-on-ubuntu/index.md
@@ -23,9 +23,9 @@ The Turtl server is written in Common Lisp, and the low-level encryption is deri
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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.
### Install Dependencies:
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 3a7e222d163..8b5373c2011 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
@@ -49,16 +49,16 @@ See the [Nextcloud feature comparison](https://nextcloud.com/compare/) for a mor
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/products/networking/dns-manager/).
+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](/docs/guides/linux-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 a62730b4c9d..b92be27b555 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
@@ -134,12 +134,12 @@ Other types of virtual devices like cache and log can be used when dealing with
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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**.
+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](/docs/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.
@@ -150,7 +150,7 @@ The steps in this guide require root privileges. Be sure to run the steps below
sed -i.bak 's/GRUB_TIMEOUT.*/GRUB_TIMEOUT=0/' /etc/default/grub; update-grub
-1. After deciding how to structure your ZFS build, follow the steps in this guide to [create new volumes and attach them to your Linode](/docs/products/storage/block-storage/guides/manage-volumes/). Ignore the steps about creating a filesystem, mounting, editing `fstab`. ZFS will take care of that.
+1. After deciding how to structure your ZFS build, follow the steps in this guide to [create new volumes and attach them to your Linode](https://techdocs.akamai.com/cloud-computing/docs/manage-block-storage-volumes). Ignore the steps about creating a filesystem, mounting, editing `fstab`. ZFS will take care of that.
1. Linode's kernels, booted by default, don't include the ZFS module you'll need so you have to switch to the kernel provided by Ubuntu. In your Linode's dashboard, click **Edit** to make changes to your Ubuntu configuration profile. Under **Boot settings**, change the **Kernel** to **GRUB 2**.
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 0a7843625b9..189254a9ddd 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,20 +40,20 @@ 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](/docs/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](/docs/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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 >}}
-If you have a registered domain name that you want to point to your ownCloud instance, then use the [Linode DNS Manager to point the domain](/docs/products/networking/dns-manager/) to the Linode server on which you plan to install ownCloud. If you do not have a registered domain name, then replace example.com with the IP address of the Linode server when following the steps in the [Create an Apache Configuration File](#create-an-apache-configuration-file) section.
+If you have a registered domain name that you want to point to your ownCloud instance, then use the [Linode DNS Manager to point the domain](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) to the Linode server on which you plan to install ownCloud. If you do not have a registered domain name, then replace example.com with the IP address of the Linode server when following the steps in the [Create an Apache Configuration File](#create-an-apache-configuration-file) section.
{{< /note >}}
## Install ownCloud
@@ -83,7 +83,7 @@ ownCloud requires a full LAMP (Linux, Apache, MySQL, PHP) stack. In this section
sudo firewall-cmd --reload
```
-1. Ensure you can reach the Apache server. Open a web browser, and enter in your [Linode's IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). For example, enter in `http://192.0.2.0` and replace the IP address with your own. You should see the Apache welcome page.
+1. Ensure you can reach the Apache server. Open a web browser, and enter in your [Linode's IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). For example, enter in `http://192.0.2.0` and replace the IP address with your own. You should see the Apache welcome page.
#### Install MariaDB
@@ -228,7 +228,7 @@ Apache requires a [virtual host configuration file](https://httpd.apache.org/doc
sudo nano /etc/httpd/conf.d/owncloud.conf
```
-1. Paste the following text into the new file. Replace mentions of `example.com` with your own domain name or your [Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/):
+1. Paste the following text into the new file. Replace mentions of `example.com` with your own domain name or your [Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance):
```file {title="etc/httpd/conf.d/owncloud.conf"}
Alias /owncloud "/var/www/html/owncloud/"
@@ -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](/docs/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 40a452b9b73..71aea9f177d 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,20 +38,20 @@ 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](/docs/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](/docs/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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 >}}
-If you have a registered domain name that you want to point to your ownCloud instance, then use the [Linode DNS Manager to point the domain](/docs/products/networking/dns-manager/) to the Linode server on which you plan to install ownCloud. If you do not have a registered domain name, then replace example.com with the IP address of the Linode server when following the steps in the [Create an Apache Configuration File](#create-an-apache-configuration-file) section.
+If you have a registered domain name that you want to point to your ownCloud instance, then use the [Linode DNS Manager to point the domain](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) to the Linode server on which you plan to install ownCloud. If you do not have a registered domain name, then replace example.com with the IP address of the Linode server when following the steps in the [Create an Apache Configuration File](#create-an-apache-configuration-file) section.
{{< /note >}}
## Install ownCloud
@@ -59,7 +59,7 @@ If you have a registered domain name that you want to point to your ownCloud ins
In this section, you install the Apache web server and all of the necessary PHP components.
-1. [Connect to your Linode via SSH](/docs/products/compute/compute-instances/get-started/#connect-to-the-instance).
+1. [Connect to your Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-compute-instances#connect-to-the-instance).
1. Install Apache and all the required PHP packages:
@@ -162,7 +162,7 @@ Apache requires a [virtual host configuration file](https://httpd.apache.org/doc
sudo nano /etc/apache2/sites-available/owncloud.conf
-1. Paste the following text into the new file. Replace mentions of `example.com` with your own domain name or your [Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/):
+1. Paste the following text into the new file. Replace mentions of `example.com` with your own domain name or your [Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance):
{{< file "/etc/apache2/sites-available/owncloud.conf">}}
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 b1e41906e13..0a9b76f7086 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
@@ -21,17 +21,17 @@ deprecated: true
ownCloud is an open source platform that allows easy access to files from multiple locations and platforms. It's compatible with most major operating systems and mobile devices. With ownCloud you can store files on your Linode and then access them wherever you go.
-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](/docs/products/storage/block-storage/) service with this setup.
+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](/docs/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](/docs/websites/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](/docs/guides/linux-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 ff31d1b0e03..40f355dbed4 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,16 +26,16 @@ OwnCloud is an open-source, cloud-based, file hosting service you can install on

{{< note >}}
-To automatically install ownCloud on a Compute Instance, consider deploying [ownCloud Server through the Linode Marketplace](/docs/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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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 6552b5e980c..35d88be0a4b 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,20 +39,20 @@ 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](/docs/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](/docs/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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 >}}
-If you have a registered domain name that you want to point to your ownCloud instance, then use the [Linode DNS Manager to point the domain](/docs/products/networking/dns-manager/) to the Linode server on which you plan to install ownCloud. If you do not have a registered domain name, then replace example.com with the IP address of the Linode server when following the steps in the [Create an Apache Configuration File](#create-an-apache-configuration-file) section.
+If you have a registered domain name that you want to point to your ownCloud instance, then use the [Linode DNS Manager to point the domain](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) to the Linode server on which you plan to install ownCloud. If you do not have a registered domain name, then replace example.com with the IP address of the Linode server when following the steps in the [Create an Apache Configuration File](#create-an-apache-configuration-file) section.
{{< /note >}}
## Install ownCloud
@@ -156,7 +156,7 @@ Apache requires a [virtual host configuration file](https://httpd.apache.org/doc
sudo nano /etc/apache2/sites-available/owncloud.conf
-1. Paste the following text into the new file. Replace mentions of `example.com` with your own domain name or your [Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/):
+1. Paste the following text into the new file. Replace mentions of `example.com` with your own domain name or your [Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance):
{{< file "/etc/apache2/sites-available/owncloud.conf">}}
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 fdb28a44f0d..f35d36b2e94 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](/docs/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 9386164c418..1f55e0f88c9 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
@@ -17,7 +17,7 @@ deprecated: true
Seafile is a cross-platform file hosting tool with server applications for Linux and Windows, and GUI clients for Android, iOS, Linux, OS X and Windows. It supports file versioning and snapshots, two-factor authentication, WebDAV, and can be paired with NGINX or Apache to enable connections over HTTPS.
-Seafile has [two editions](https://www.seafile.com/en/product/private_server/): a free and open source Community Edition and a paid Professional edition. While the Pro edition is free for up to 3 users, this guide will use Seafile Community Edition with NGINX serving an HTTPS connection, and MySQL on the backend. This application stack could also benefit from large amounts of disk space, so consider using our [Block Storage](/docs/products/storage/block-storage/) service with this setup.
+Seafile has [two editions](https://www.seafile.com/en/product/private_server/): a free and open source Community Edition and a paid Professional edition. While the Pro edition is free for up to 3 users, this guide will use Seafile Community Edition with NGINX serving an HTTPS connection, and MySQL on the backend. This application stack could also 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.

@@ -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](/docs/guides/linux-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:
@@ -43,9 +43,9 @@ This guide is written for a non-root user. Commands that require elevated privil
ssh sfadmin@
-4. You should now be logged into your Linode as *sfadmin*. Use our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#harden-ssh-access) guide to harden SSH access.
+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](/docs/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](/docs/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](/docs/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 5927e9534d4..04b593886ff 100644
--- a/docs/guides/applications/cloud-storage/owncloud-external-storage/index.md
+++ b/docs/guides/applications/cloud-storage/owncloud-external-storage/index.md
@@ -17,15 +17,15 @@ 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](/docs/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](/docs/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).
-1. Generate a pair of [Object Storage access keys](/docs/products/storage/object-storage/guides/access-keys/).
+1. Generate a pair of [Object Storage access keys](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys).
{{< note >}}
- ownCloud requires the installation of two external storage applications to connect to an Object Storage service.
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 5267fe50c6e..fbfb3bc13d1 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
@@ -25,9 +25,9 @@ relations:
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 the *EPEL* repository:
@@ -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](/docs/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 7b69ba2b4ce..79fc0386dcb 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
@@ -40,12 +40,12 @@ All of these things make Tahoe-LAFS a good fit for securely storing sensitive da
## Before You Begin
-1. If you have not already done so, create a Linode account and a *Debian 9* Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+1. If you have not already done so, create a Linode account and a *Debian 9* 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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
@@ -152,7 +152,7 @@ Restart the service:
Although the process can be automated so that you can easily expand your storage pool, set up your first node manually to get a better understanding of how things work and where certain files are located. The initial steps from the [Before You Begin](#before-you-begin) section apply here as well.
{{< note >}}
-If you need large amounts of disk space, [configure block storage devices on your Linode](/docs/products/storage/block-storage/).
+If you need large amounts of disk space, [configure block storage devices on your Linode](https://techdocs.akamai.com/cloud-computing/docs/block-storage).
Configure block storage before the other steps in this section.
@@ -218,7 +218,7 @@ To confirm each successful setup instead of launching all instances before verif
This StackScript relies on *icanhazip.com* to retrieve each Linode's external IP address. While the site has redundant servers, there is a chance it may unavailable at times.
{{< /note >}}
-1. [Familiarize yourself with StackScripts](/docs/products/tools/stackscripts/), then navigate to the [StackScripts page](https://cloud.linode.com/stackscripts/index) to add a new StackScript.
+1. [Familiarize yourself with StackScripts](https://techdocs.akamai.com/cloud-computing/docs/stackscripts), then navigate to the [StackScripts page](https://cloud.linode.com/stackscripts/index) to add a new StackScript.
2. Select Debian 9 as the distribution and paste the following in the **Script** section:
diff --git a/docs/guides/applications/cloud-storage/use-block-storage-volume-with-nextcloud/index.md b/docs/guides/applications/cloud-storage/use-block-storage-volume-with-nextcloud/index.md
index f282c0d4c70..16e9d07f284 100644
--- a/docs/guides/applications/cloud-storage/use-block-storage-volume-with-nextcloud/index.md
+++ b/docs/guides/applications/cloud-storage/use-block-storage-volume-with-nextcloud/index.md
@@ -35,7 +35,7 @@ Nextcloud is a cloud storage platform that allows you to store and access your f
## Attach a Block Storage Volume
-1. Create a Block Storage Volume and attach it to your Linode. See [View, Create, and Delete Block Storage Volumes](/docs/products/storage/block-storage/guides/manage-volumes/) for instructions on how to do this from the Linode Manager.
+1. Create a Block Storage Volume and attach it to your Linode. See [View, Create, and Delete Block Storage Volumes](https://techdocs.akamai.com/cloud-computing/docs/manage-block-storage-volumes) for instructions on how to do this from the Linode Manager.
* You can also use the [Linode CLI](https://github.com/linode/linode-cli) to create a new Volume. The command below creates a 20GB Volume with the label `nextcloud` attached to a Linode labeled `nextcloud-linode`. Adjust the command as needed:
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 cd28b36bf12..72834688461 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,20 +29,20 @@ 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](/docs/guides/getting-started-with-ansible/#set-up-the-control-node)
- section of the [Getting Started With Ansible](/docs/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](/docs/guides/running-ansible-playbooks/#add-a-limited-user-account) section of the [Automate Server Configuration with Ansible Playbooks](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) section of the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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.
{{< note >}}
-Follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide for help with creating Linodes.
+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](/docs/guides/getting-started-with-ansible/#create-an-ansible-inventory) section of the [Getting Started With Ansible](/docs/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.
@@ -111,7 +111,7 @@ The `-f` option is used to define number of [forks](https://docs.ansible.com/ans
{{< /note >}}
{{< note >}}
-If your managed node is a Linode, then [Linode's shutdown watchdog *Lassie*](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/) needs to be enabled for the reboot to succeed. This is because a Linode is not able to turn itself on--instead, Linode's host environment must boot the Linode.
+If your managed node is a Linode, then [Linode's shutdown watchdog *Lassie*](https://techdocs.akamai.com/cloud-computing/docs/recover-from-unexpected-shutdowns-with-lassie) needs to be enabled for the reboot to succeed. This is because a Linode is not able to turn itself on--instead, Linode's host environment must boot the Linode.
{{< /note >}}
## Collecting System Diagnostics
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 74b755f15fe..0e0941898e8 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](/docs/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](/docs/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](/docs/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 900a447d9da..3953b5fdc7d 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](/docs/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](/docs/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:
@@ -41,9 +41,9 @@ This guide’s example instructions will create a [1GB Linode](https://www.linod
The steps outlined in this guide require [Ansible version 2.8](https://github.com/ansible/ansible/releases/tag/v2.8.0), and were created using Ubuntu 18.04.
{{< /note >}}
-- Add a limited user to your Linode following the steps below, created by following the [Add a limited User Account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) section of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. Ensure that all commands are entered as your limited user.
+- 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](/docs/guides/getting-started-with-ansible/#set-up-the-control-node) section of the [Getting Started With Ansible - Basic Installation and Setup](/docs/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:
@@ -54,9 +54,9 @@ The steps outlined in this guide require [Ansible version 2.8](https://github.co
sudo apt-get install python-pip
sudo pip install linode_api4
-- Generate a Linode API v4 access token with permission to read and write Linodes. You can follow the [Get an Access Token](/docs/products/tools/api/get-started/#get-an-access-token) section of the [Getting Started with the Linode API](/docs/products/tools/api/get-started/) guide if you do not already have one.
+- Generate a Linode API v4 access token with permission to read and write Linodes. You can follow the [Get an Access Token](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) section of the [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started) guide if you do not already have one.
-- [Create an authentication Key-pair](/docs/products/compute/compute-instances/guides/set-up-and-secure/#upload-ssh-key) if your computer does not already have one.
+- [Create an authentication Key-pair](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#upload-ssh-key) if your computer does not already have one.
## Configure Ansible
@@ -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](/docs/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](/docs/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
@@ -268,7 +268,7 @@ localhost : ok=3 changed=1 unreachable=0 failed=0 s
| `root_pass` | string | The password for the root user. If not specified, will be generated. This generated password will be available in the task success JSON. The root password must conform to the following constraints: • May only use alphanumerics, punctuation, spaces, and tabs.• Must contain at least two of the following characters classes: upper-case letters, lower-case letters, digits, punctuation. |
| `state` | string, *required* | The desired instance state. The accepted values are `absent` and `present`. |
| `tags` | list | The user-defined labels attached to Linodes. Tags are used for grouping Linodes in a way that is relevant to the user. |
-| `type` | string, | The Linode instance's plan type. The plan type determines your Linode's [hardware resources](/docs/products/compute/compute-instances/plans/choosing-a-plan/#compute-resources) and its [pricing](https://www.linode.com/pricing/). To view a list of all available Linode types including pricing and specifications for each type, issue the following command: `curl https://api.linode.com/v4/linode/types`. |
+| `type` | string, | The Linode instance's plan type. The plan type determines your Linode's [hardware resources](https://techdocs.akamai.com/cloud-computing/docs/how-to-choose-a-compute-instance-plan#compute-resources) and its [pricing](https://www.linode.com/pricing/). To view a list of all available Linode types including pricing and specifications for each type, issue the following command: `curl https://api.linode.com/v4/linode/types`. |
## The Linode Dynamic Inventory Plugin
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 dfda63725bb..34ee76b1db4 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
@@ -32,7 +32,7 @@ This guide shows how to:
{{< note type="alert" >}}
This guide’s example instructions create a [1GB Linode](https://www.linode.com/pricing/#compute-shared) (Nanode) billable resource on your Linode account. If you do not want to keep using the Linode that you create, be sure to delete the Linode when you have finished the guide.
-If you remove the resource, [you are only be billed for the hour(s) that the resources were present on your account](/docs/guides/understanding-billing-and-payments/).
+If you remove the resource, [you are only be billed for the hour(s) that the resources were present on your account](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works).
{{< /note >}}
## Before You Begin
@@ -41,15 +41,15 @@ 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*](/docs/guides/getting-started-with-ansible/#what-is-ansible), from which other compute instances are deployed. Follow the instructions in our [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) section of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. Ensure that all commands for the rest of this guide are entered as your limited user.
+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.
1. Ensure that you have performed system updates:
sudo apt update && sudo apt upgrade
-1. Install Ansible on your control node. Follow the steps in the [Install Ansible](/docs/guides/getting-started-with-ansible/#install-ansible) section of the [Getting Started With Ansible - Basic Installation and Setup](/docs/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:
@@ -63,7 +63,7 @@ The steps outlined in this guide require [Ansible version 2.9.10 or greater](htt
sudo apt install python3-pip
-1. Generate a Linode API v4 access token with permission to read and write Linodes and record it in a password manager or other safe location. Follow the [Get an Access Token](/docs/products/tools/api/get-started/#get-an-access-token) section of the [Getting Started with the Linode API](/docs/products/tools/api/get-started/) guide.
+1. Generate a Linode API v4 access token with permission to read and write Linodes and record it in a password manager or other safe location. Follow the [Get an Access Token](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) section of the [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started) guide.
## Install the Linode Ansible Collection
@@ -88,7 +88,7 @@ The Linode Ansible collection is now installed and ready to deploy and manage Li
## Configure Ansible
-When interfacing with the Linode Ansible collection, it is generally good practice to use variables to securely store sensitive strings like API tokens. This section shows how to securely store and access the [Linode API Access token](/docs/products/platform/accounts/guides/manage-api-tokens/) (generated in the [Before You Begin](#before-you-begin) section) along with a root password that is assigned to new Linode instances. Both of these are encrypted with [Ansible Vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html).
+When interfacing with the Linode Ansible collection, it is generally good practice to use variables to securely store sensitive strings like API tokens. This section shows how to securely store and access the [Linode API Access token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) (generated in the [Before You Begin](#before-you-begin) section) along with a root password that is assigned to new Linode instances. Both of these are encrypted with [Ansible Vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html).
### Create an Ansible Vault Password File
@@ -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](/docs/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](/docs/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 ad375b2a039..ee5511790fa 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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 c13578cec9f..a08937a3578 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](/docs/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](/docs/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
@@ -55,10 +55,10 @@ This guide introduces the basics of installing Ansible and preparing your enviro
{{< note type="alert" >}}
This guide's example instructions will create up to three billable Linodes on your account. If you do not want to keep using the example Linodes that you create, be sure to [delete them](#delete-a-cluster) when you have finished the guide.
-If you remove the resources afterward, you will only be billed for the hour(s) that the resources were present on your account. Consult the [Billing and Payments](/docs/products/platform/billing/) guide for detailed information about how hourly billing works.
+If you remove the resources afterward, you will only be billed for the hour(s) that the resources were present on your account. Consult the [Billing and Payments](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works) guide for detailed information about how hourly billing works.
{{< /note >}}
-1. [Create two Linodes](/docs/products/compute/compute-instances/guides/create/) running Ubuntu 22.04 LTS as your **managed nodes**. The examples in this guide can also be followed using a single managed node, if preferred.
+1. [Create two Linodes](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) running Ubuntu 22.04 LTS as your **managed nodes**. The examples in this guide can also be followed using a single managed node, if preferred.
1. Ansible uses the SSH protocol to securely log into managed nodes and apply your Playbook configurations. Create an SSH key-pair on the control node to use for authentication. This guide assumes your public and private SSH key-pair is stored in `~/.ssh/id_rsa.pub` and `~/.ssh/id_rsa`.
@@ -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](/docs/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](/docs/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](/docs/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](/docs/guides/deploy-linodes-using-ansible/#delete-your-resources) section of the [How to use the Linode Ansible Module to Deploy Linodes](/docs/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 0d59b67c99b..aca07f9ee68 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](/docs/guides/getting-started-with-ansible/#what-is-ansible) section of the [Getting Started With Ansible](/docs/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](/docs/guides/getting-started-with-ansible/#set-up-the-control-node) section of our [Getting Started With Ansible](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 ad4c8f6ee4c..0d34d5e2e8c 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
@@ -22,11 +22,11 @@ In this tutorial, learn the most useful methods for implementing secrets managem
## Before You Begin
-1. If you have not already done so, create a Linode account. See our [Getting Started with Linode](/docs/products/platform/get-started/) guide.
+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](/docs/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](/docs/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](/docs/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](/docs/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 >}}
@@ -130,7 +130,7 @@ The vault password can either be entered manually or automatically through a pas
This example of Ansible Vault deploys [rclone](https://rclone.org/) to the managed nodes and configures it to connect to a Linode Object Storage instance. The secrets are the access keys for the object storage instance.
-To follow along, you need to set up a Linode Object Storage instance with access keys and at least one bucket. You can learn how to do so in our guide [Object Storage - Get Started](/docs/products/storage/object-storage/get-started/).
+To follow along, you need to set up a Linode Object Storage instance with access keys and at least one bucket. You can learn how to do so in our guide [Object Storage - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage).
1. Create a file with the access keys for your Linode Object Storage instance. You can do so with the following command, just replace the text in arrow brackets with your corresponding object storage keys:
@@ -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](/docs/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](/docs/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 72a708ad254..376d3f2225a 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
@@ -25,18 +25,18 @@ In this guide you:
{{< note type="alert" >}}
The example instructions in this guide create five, [1GB Linodes](https://www.linode.com/pricing). These add billable resources to your Linode account. If you do not want to keep using the Linodes created, be sure to delete them once you have finished this how-to guide.
-If you remove these resources afterward, you are only [billed for the time](/docs/products/platform/billing/) the resources were present on your account.
+If you remove these resources afterward, you are only [billed for the time](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works) the resources were present on your account.
{{< /note >}}
## Prerequisites
- Intermediate understanding of the Bash shell and its utilities.
-- Install the [Linode CLI](/docs/products/tools/cli/guides/install/) or you can use the [Linode Cloud Manager](https://cloud.linode.com/linodes).
+- Install the [Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli) or you can use the [Linode Cloud Manager](https://cloud.linode.com/linodes).
- Using the CLI allows you to save time creating, labeling, and tagging your Linodes.
- 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](/docs/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
@@ -44,7 +44,7 @@ The steps in this guide are written for non-root users. Commands that require el
### Create One Ansible Control Node and Four Managed Nodes
{{< note >}}
-This section requires that you have the [Linode CLI](/docs/products/tools/cli/guides/install/) installed and configured on your computer.
+This section requires that you have the [Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli) installed and configured on your computer.
{{< /note >}}
On your local machine, set up an environment variable to temporarily store a password. This environment variable will be sued in later steps in a `for` loop to create five Linodes. Substitute `yourrootpassword` for a secure password as this is used as the root password for all your newly created Linodes.
@@ -383,7 +383,7 @@ Ansible playbooks are what makes Ansible powerful software. The syntax of the ta
Using `scp`, the above files are sent to the Ansible control node. You can then log into the control node and execute the control node script, `ansibleCN_setup.sh`.
{{< note >}}
-Throughout all the steps in this section, replace `VM1_IPADDRESS` with the [IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) obtained from either the Linode CLI or Cloud Manager.
+Throughout all the steps in this section, replace `VM1_IPADDRESS` with the [IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) obtained from either the Linode CLI or Cloud Manager.
{{< /note >}}
{{< note type="alert" >}}
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 90c68bef24d..f49afd22296 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](/docs/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)](/docs/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](/docs/guides/how-to-use-git/), [GitHub](/docs/guides/a-beginners-guide-to-github/), [GitLab](/docs/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](/docs/guides/introduction-to-infrastructure-as-code/) (IaC), a methodology that stores all infrastructure configuration as code.
-- [Merge Requests](/docs/guides/resolving-git-merge-conflicts/) (MRs) to serve as a change mechanism for infrastructure updates.
-- [Continuous Integration/Continuous Delivery](/docs/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
@@ -46,7 +46,7 @@ GitOps focuses on automating infrastructure, so it's a perfect workflow for busi
- GitOps ensures everything operates as it was intended.
- Kubernetes ensures stability and availability.
-[Kubernetes](/docs/products/compute/kubernetes/get-started/) always makes sure a deployed application or service remains in a stable state and scales as needed. When GitOps is along for the ride, it ensures everything runs as it should, including the infrastructure necessary for the deployments. GitOps serves as the glue between application build/delivery (Kubernetes) and where the application is to run.
+[Kubernetes](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine) always makes sure a deployed application or service remains in a stable state and scales as needed. When GitOps is along for the ride, it ensures everything runs as it should, including the infrastructure necessary for the deployments. GitOps serves as the glue between application build/delivery (Kubernetes) and where the application is to run.
## The GitOps Workflow
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 5b94cbb2317..8aa22de9df9 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: ['/applications/configuration-management/introduction-to-hcl/','/applications/configuration-management/basics/introduction-to-hcl/']
---
-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](/docs/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" {
{{ file >}}
{{< note >}}
-You should not include sensitive data in the resource declarations. For more information about secrets management, see [Secrets Management with Terraform](/docs/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
@@ -85,7 +85,7 @@ See Terraform's [Configuration Syntax](https://www.terraform.io/docs/configurati
## Terraform Providers and HCL Syntax
-In Terraform, a *provider* is used to interact with an Infrastructure as a Service (IaaS) or Platform as a Service (PaaS) API, like the [Linode APIv4](/docs/products/tools/api/). The provider determines which [resources](#resources) are exposed and available to create, read, update, and delete. A credentials set or token is usually required to interface with the service account. For example, the [Linode Terraform provider](https://www.terraform.io/docs/providers/linode/index.html) requires your [Linode API access token](/docs/products/tools/api/get-started/#get-an-access-token). A list of [all official Terraform providers](https://www.terraform.io/docs/providers/) is available from HashiCorp.
+In Terraform, a *provider* is used to interact with an Infrastructure as a Service (IaaS) or Platform as a Service (PaaS) API, like the [Linode APIv4](https://techdocs.akamai.com/linode-api/reference/api-summary). The provider determines which [resources](#resources) are exposed and available to create, read, update, and delete. A credentials set or token is usually required to interface with the service account. For example, the [Linode Terraform provider](https://www.terraform.io/docs/providers/linode/index.html) requires your [Linode API access token](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token). A list of [all official Terraform providers](https://www.terraform.io/docs/providers/) is available from HashiCorp.
To configure Linode as the provider, you need to include a block which specifies Linode as the provider and sets your Linode API token in one of the `.tf` files:
@@ -140,7 +140,7 @@ module "linode-module-example" {
}
{{ file >}}
-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](/docs/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](/docs/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 b972eb290b7..318a783d070 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](/docs/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](/docs/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](/docs/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](/docs/applications/configuration-management/salt), including a useful [introduction](/docs/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](/docs/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](/docs/guides/terraform-vs-ansible), two of the most common IaC solutions.
\ No newline at end of file
+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 33a2c223e06..437ac6ea0c3 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
@@ -18,7 +18,7 @@ To eliminate the problems associated with manual configuration, many tech firms
## The Basics of Infrastructure as Code
-Infrastructure as Code is a method of managing infrastructure through automation. IaC speeds up Cloud deployments and reduces operational costs. It helps avoid potentially costly errors and enforces consistency and standardization across the Cloud. Infrastructure as Code is central to the concept of DevOps, which is an alliance of the development and operations teams. These groups work together to plan the structure, layout, and configuration of the network. Linode's [Introduction to Infrastructure as Code](/docs/guides/introduction-to-infrastructure-as-code) offers a more comprehensive overview of this subject.
+Infrastructure as Code is a method of managing infrastructure through automation. IaC speeds up Cloud deployments and reduces operational costs. It helps avoid potentially costly errors and enforces consistency and standardization across the Cloud. Infrastructure as Code is central to the concept of DevOps, which is an alliance of the development and operations teams. These groups work together to plan the structure, layout, and configuration of the network. Linode's [Introduction to Infrastructure as Code](/cloud/guides/introduction-to-infrastructure-as-code) offers a more comprehensive overview of this subject.
An important step in this planning process is deciding which IaC tool to use. Although the various products have considerable overlap, they each have different strengths. Some are easier to use than others. Some are geared towards different programming approaches. Some are optimized for configuration management while others are better for service orchestration.
@@ -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](/docs/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](/docs/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](/docs/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 688514bb2e6..2d37ac48129 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](/docs/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](/docs/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 8013919bbe9..f2dbe7837c5 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](/docs/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](/docs/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 e7e6e8b92f1..f1b42defc35 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,10 +93,10 @@ 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](/docs/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](/docs/products/storage/object-storage/guides/use-cases/), file storage, and [block storage](/docs/products/storage/block-storage/guides/use-cases/). Object storage has become more popular recently because its distributed architecture fits well with the IaaS model.
+- 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.
- Consider the resiliency and reliability requirements for the network.
- If necessary, determine the level of support and the service package that is required.
- Decide what network metrics are important, and monitor these items during and after the initial deployment. Scrutinize the entire network as a single system and continue to regularly maintain, adjust, and optimize it.
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 f801ee33ee7..b9ededec55d 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](/docs/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 8dd0c25ad73..2580f7e41c9 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](/docs/guides/applications/configuration-management/ansible/) and container orchestration tools, like [Kubernetes](/docs/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](/docs/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](/docs/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 b710734db56..eb727668504 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: ['/applications/configuration-management/beginners-guide-chef/','/applications/chef/beginners-guide-chef/','/applications/configuration-management/chef/beginners-guide-chef/']
external_resources:
- '[Chef](http://www.chef.io)'
- - '[Setting Up a Chef Server, Workstation, and Node on Ubuntu 18.04](/docs/guides/install-a-chef-server-workstation-on-ubuntu-18-04/)'
- - '[Creating Your First Chef Cookbook](/docs/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](/docs/guides/install-a-chef-server-workstation-on-ubuntu-18-04/) and [Creating Your First Chef Cookbook](/docs/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*](/docs/guides/beginners-guide-chef/#knife) and Chef command-line tools, while nodes communicate with the Chef server using the [Chef client](/docs/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](/docs/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 a6cf5a289cd..01f015b3bf5 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](/docs/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](/docs/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](/docs/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](/docs/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 cdd975ecc07..04771c8db22 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,13 +54,13 @@ 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](/docs/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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. At least three Linode systems running Ubuntu 20.04 are required to implement a Chef system. One server is for the Chef Workstation, the second for the Chef Server, while a third represents a node under administration. Due to Chef's memory demands, the Chef Server requires a 8GB Linode. The other two servers can be 2GB Linodes. Both the Chef Server and Chef Workstation should be configured using the previous instructions. Chef is used to set up the target node.
@@ -70,12 +70,12 @@ Linode has a helpful [Beginner's Guide to Chef](/docs/guides/beginners-guide-che
sudo apt update && sudo apt upgrade
```
-1. Assign a domain name to the Chef Server. For information on domain names and pointing the domain name to a Linode, see the [Linode DNS Manager guide](/docs/products/networking/dns-manager/).
+1. Assign a domain name to the Chef 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. 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](/docs/guides/linux-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
@@ -244,7 +244,7 @@ A few more items must be configured before the Workstation is operational. Tasks
RSA private keys enable better security between the Chef Server and associated workstations through the use of encryption. Earlier, RSA private keys were created on the Chef Server. Copying these keys to a workstation allows it to communicate with the server. To enable encryption using RSA private keys, follow these steps.
{{< note >}}
-SSH password authentication must be enabled on the Chef Server to complete the key exchange. If SSH password authentication has been disabled for better security, enable it again before proceeding. After the keys have been retrieved and added to the workstation, SSH password authentication can be disabled again. See the Linode guide to [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/#ssh-daemon-options) for more information.
+SSH password authentication must be enabled on the Chef Server to complete the key exchange. If SSH password authentication has been disabled for better security, enable it again before proceeding. After the keys have been retrieved and added to the workstation, SSH password authentication can be disabled again. See the Linode guide to [How to Secure Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#ssh-daemon-options) for more information.
{{< /note >}}
1. On the workstation, generate an RSA key pair. This key can be used to initially access the Chef server to copy over the private encryption files.
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 70b63cf6c5a..a783f1c9785 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,14 +30,14 @@ 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](/docs/guides/linux-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
- One 4GB Linode to host the Chef server, running Ubuntu 14.04
- Two Linodes of any size to host a workstation and a node, each running Ubuntu 14.04
-- Each Linode should be configured by following the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide
+- Each Linode should be configured by following the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide
- Each Linode needs to be configured to have a valid FQDN
- Ensure that all servers are up-to-date:
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 4fd0c5770c2..a7d4957c258 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,19 +24,19 @@ aliases: ['/applications/configuration-management/chef/install-a-chef-server-wor
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](/docs/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](/docs/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
- One 8GB Linode running Ubuntu 18.04. This Linode will host the Chef server.
- - 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](/docs/products/networking/dns-manager/guides/create-domain/) for details.
+ - 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. Once your node is [bootstrapped](/docs/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
...
{{ file >}}
-1. Create a `.chef` subdirectory. The `.chef` subdirectory will store your [Knife](/docs/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
@@ -142,7 +142,7 @@ Authentication between the Chef server and workstation and/or nodes is completed
Press **Enter** to use the default names `id_rsa` and `id_rsa.pub` in `/home/your_username/.ssh` before entering your passphrase.
{{< note respectIndent=false >}}
- If you have disabled SSH password authentication on your Chef server's Linode, as recommended by the [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/#ssh-daemon-options) guide, re-enable SSH password authentication prior to performing these steps. Be sure to disable it again once you have added your workstation's public ssh key to the Chef server's Linode.
+ If you have disabled SSH password authentication on your Chef server's Linode, as recommended by the [How to Secure Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#ssh-daemon-options) guide, re-enable SSH password authentication prior to performing these steps. Be sure to disable it again once you have added your workstation's public ssh key to the Chef server's Linode.
{{< /note >}}
Upload your workstation's public key to the Linode hosting the Chef server. Ensure you replace `example_user` with the Chef server's user account and `192.0.2.0` with its IP address:
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 2b87e045f3b..9248a5bd022 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
@@ -9,25 +9,25 @@ keywords: ['cloud-init','cloudinit','metadata']
license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)'
---
-By using Akamai's Metadata service, you can automatically configure your new Compute Instances through cloud-init. This guide walks you through building a cloud-config file (for use with cloud-init) and deploying a Compute Instance using that configuration. It covers a series of recommended options for initializing and securing a Compute Instance. These configurations parallel the steps in our guide on [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Toward the end of the guide, you can see the [Complete Cloud-Config File](#complete-cloud-config-file) as well as steps for how to [Deploy an Instance with User Data](#deploy-an-instance-with-user-data).
+By using Akamai's Metadata service, you can automatically configure your new Compute Instances through cloud-init. This guide walks you through building a cloud-config file (for use with cloud-init) and deploying a Compute Instance using that configuration. It covers a series of recommended options for initializing and securing a Compute Instance. These configurations parallel the steps in our guide on [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Toward the end of the guide, you can see the [Complete Cloud-Config File](#complete-cloud-config-file) as well as steps for how to [Deploy an Instance with User Data](#deploy-an-instance-with-user-data).
## What is cloud-init?
[Cloud-init](https://cloudinit.readthedocs.io/en/latest/index.html) is an industry standard method for automating cloud instance initialization, with support across distributions and platforms. Cloud-init manages initialization using a combination of instance metadata and configuration scripts (user data) to automate the process of setting up a new server.
-Akamai's [Metadata](/docs/products/compute/compute-instances/guides/metadata/) service provides an API for cloud-init to consume, offering the relevant instance and user data to initialize your server. When your new instance spins up, cloud-init starts running locally, accesses the metadata, and automatically configures your system accordingly.
+Akamai's [Metadata](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service) service provides an API for cloud-init to consume, offering the relevant instance and user data to initialize your server. When your new instance spins up, cloud-init starts running locally, accesses the metadata, and automatically configures your system accordingly.
{{< note title="Metadata Availability" >}}
-Akamai’s Metadata service is now available in select data centers. Use Metadata to automate system configuration by adding directives or scripts when deploying Compute Instances. This user data can then be consumed by cloud-init, an industry standard system initialization tool, or accessed directly using the Metadata API. For instructions on using the Metadata service and for a list of supported regions and distributions, reference our [documentation](/docs/products/compute/compute-instances/guides/metadata/#availability).
+Akamai’s Metadata service is now available in select data centers. Use Metadata to automate system configuration by adding directives or scripts when deploying Compute Instances. This user data can then be consumed by cloud-init, an industry standard system initialization tool, or accessed directly using the Metadata API. For instructions on using the Metadata service and for a list of supported regions and distributions, reference our [documentation](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service#availability).
{{< /note >}}
## Create a Cloud-Config File
Cloud-init consumes instance metadata from Akamai's Metadata server. This gives cloud-init relevant information about the Compute Instance. From there, cloud-init derives specific initialization steps from supplied *user data*, which comes in the form of *cloud-config* scripts.
-Cloud-config scripts use declarative YAML formatting to define configuration and other steps cloud-init needs to initialize the new instance. Learn more about cloud-config scripts in our guide on [Using Cloud-Config Files to Configure a Server](/docs/products/compute/compute-instances/guides/metadata-cloud-config/).
+Cloud-config scripts use declarative YAML formatting to define configuration and other steps cloud-init needs to initialize the new instance. Learn more about cloud-config scripts in our guide on [Using Cloud-Config Files to Configure a Server](https://techdocs.akamai.com/cloud-computing/docs/using-cloud-config-files-to-configure-a-server).
-When creating an Akamai Compute Instance, you can add the cloud-config via the Cloud Manager, Linode CLI, or Linode API when deploying the instance. Refer to our [Metadata](/docs/products/compute/compute-instances/guides/metadata/) guide for details on when and how to add the cloud-config *user data*.
+When creating an Akamai Compute Instance, you can add the cloud-config via the Cloud Manager, Linode CLI, or Linode API when deploying the instance. Refer to our [Metadata](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service) guide for details on when and how to add the cloud-config *user data*.
To start, create an initial cloud-config file to design your desired server initialization. The examples that follow name the file `cloud-config.yaml`. All cloud-config files begin with the following line:
@@ -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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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:
@@ -158,7 +158,7 @@ Software packages have different names depending on the distribution you are usi
## Complete Cloud-Config File
-What follows is a complete example cloud-config file, summarizing all of the initialization options covered in this tutorial. You can use this as a basis for initializing your own Compute Instances. For example, remove the `packages` section and customize the limited user and server details, and you have a script following our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. Feel free to add other features to fine-tune the instance to your needs.
+What follows is a complete example cloud-config file, summarizing all of the initialization options covered in this tutorial. You can use this as a basis for initializing your own Compute Instances. For example, remove the `packages` section and customize the limited user and server details, and you have a script following our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Feel free to add other features to fine-tune the instance to your needs.
```file {title="cloud-config.yaml" lang="yaml" hl_lines="6,13,20,21,31,32,33"}
#cloud-config
@@ -198,11 +198,11 @@ packages:
## Deploy an Instance with User Data
-There are three paths to deploy a new Compute Instance using your cloud-config initialization script. These options are summarized below, with links to relevant deployment guides. For more coverage of cloud-init deployments, review our [Overview of the Metadata Service](/docs/products/compute/compute-instances/guides/metadata/) guide.
+There are three paths to deploy a new Compute Instance using your cloud-config initialization script. These options are summarized below, with links to relevant deployment guides. For more coverage of cloud-init deployments, review our [Overview of the Metadata Service](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service) guide.
-- **Cloud Manager**: You can conveniently configure and deploy new instances using a web browser. Follow along with our [Create a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide to deploy a new instance. The guide includes a section on how to **Add User Data**, showing where you can input your cloud-config content.
+- **Cloud Manager**: You can conveniently configure and deploy new instances using a web browser. Follow along with our [Create a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide to deploy a new instance. The guide includes a section on how to **Add User Data**, showing where you can input your cloud-config content.
-- **Linode CLI**: The command-line tool provides a command for creating a new Compute Instance, and that command can take a `--metdata.user_data` option with your cloud-config script. To learn more about using the Linode CLI, see our guides [Getting Started with the Linode CLI](/docs/products/tools/cli/get-started/) and [Linode CLI Commands for Compute Instances](/docs/products/tools/cli/guides/linode-instances/).
+- **Linode CLI**: The command-line tool provides a command for creating a new Compute Instance, and that command can take a `--metdata.user_data` option with your cloud-config script. To learn more about using the Linode CLI, see our guides [Getting Started with the Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli) and [Linode CLI Commands for Compute Instances](https://techdocs.akamai.com/cloud-computing/docs/linode-instances-commands).
What follows is an example set of commands to deploy an instance from a cloud-config file. The example assumes you have set up the Linode CLI tool and that your cloud-config is stored as `cloud-config.yaml` in the current directory. Review the guide linked above for more on the other options used in this example command.
@@ -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](/docs/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 45c4305d1b7..3ed2678e787 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
@@ -12,11 +12,11 @@ external_resources:
- '[Cloud-init Documentation - Cloud-config Examples: Install Arbitrary Packages](https://cloudinit.readthedocs.io/en/latest/reference/examples.html#install-arbitrary-packages)'
---
-[Cloud-init](https://cloudinit.readthedocs.io/en/latest/index.html) offers a cross-platform, cross-distribution approach to automating server initialization. With Akamai's [Metadata](/docs/products/compute/compute-instances/guides/metadata/) service, you can leverage cloud-init to deploy Compute Instances, employing custom user data scripts to define your desired setup.
+[Cloud-init](https://cloudinit.readthedocs.io/en/latest/index.html) offers a cross-platform, cross-distribution approach to automating server initialization. With Akamai's [Metadata](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service) service, you can leverage cloud-init to deploy Compute Instances, employing custom user data scripts to define your desired setup.
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](/docs/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](/docs/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](/docs/guides/apt-package-manager/), most often found on Debian and Ubuntu systems, and [Yum](/docs/guides/yum-package-manager/)/[DNF](/docs/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](/docs/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 a23bf4c65ed..725ccdaae6d 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
@@ -13,11 +13,11 @@ external_resources:
[Cloud-init](https://cloudinit.readthedocs.io/en/latest/index.html) is an industry-standard solution for automating server deployments, with support across platforms and distributions. Combining platform metadata with custom user data scripts, cloud-init can vastly simplify the process of initializing new servers.
-With Akamai's [Metadata](/docs/products/compute/compute-instances/guides/metadata/) service, you can leverage cloud-init to deploy Compute Instances. A cloud-config user data script can define everything you need to initialize instances, from security and user set up to software installation and shell scripts.
+With Akamai's [Metadata](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service) service, you can leverage cloud-init to deploy Compute Instances. A cloud-config user data script can define everything you need to initialize instances, from security and user set up to software installation and shell scripts.
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](/docs/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](/docs/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](/docs/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 5bfc6f838d5..cb6a4c3e153 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
@@ -13,11 +13,11 @@ external_resources:
[Cloud-init](https://cloudinit.readthedocs.io/en/latest/index.html) is an industry-standard, cross-platform tool that automates the process of initializing new servers. Cloud-init leverages metadata from your cloud platform to handle the deployment while taking custom user data to script the server setup to your needs.
-Akamai's [Metadata](/docs/products/compute/compute-instances/guides/metadata/) service lets you deploy Compute Instances using cloud-init. Applying a cloud-config script, you can define everything from security and user setup to software installation and shell script execution.
+Akamai's [Metadata](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service) service lets you deploy Compute Instances using cloud-init. Applying a cloud-config script, you can define everything from security and user setup to software installation and shell script execution.
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](/docs/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
@@ -63,9 +63,9 @@ bootcmd:
More than just commands, cloud-init's `runcmd` can be used to execute shell scripts. Doing so requires that you deliver the script to the new server and use a shell command (via `runcmd`) to execute the script.
-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](/docs/products/storage/object-storage/get-started/) can provide an effective way to host script files.
+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](/docs/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 aeada4450c5..81b857fe32a 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
@@ -11,7 +11,7 @@ external_resources:
- '[Cloud-init Documentation](https://cloudinit.readthedocs.io/en/latest/)'
---
-Akamai's [Metadata service](/docs/products/compute/compute-instances/guides/metadata/) gives you the ability to automate system configuration when deploying Compute Instances. This is primarily accomplished by adding user data in the form of cloud-config scripts. These scripts are processed by the cloud-init software running within the system of the newly deployed instance. To learn more about adding user data and user data formats, review [Add User Data When Deploying a Compute Instance](/docs/products/compute/compute-instances/guides/metadata/#add-user-data).
+Akamai's [Metadata service](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service) gives you the ability to automate system configuration when deploying Compute Instances. This is primarily accomplished by adding user data in the form of cloud-config scripts. These scripts are processed by the cloud-init software running within the system of the newly deployed instance. To learn more about adding user data and user data formats, review [Add User Data When Deploying a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service#add-user-data).
Cloud-init has supported Akamai's Metadata service since [version 23.3.1](https://github.com/canonical/cloud-init/releases/tag/23.3) (released in August 2023). While this version of cloud-init has been included in several of the distribution images offered by Akamai, most distributions do not have cloud-init installed by default. Furthermore, the version of cloud-init provided in most distributions' package repositories is older and incompatible with the Metadata service.
@@ -19,9 +19,9 @@ This guide walks you through how to install a new version of cloud-init on distr
## Deploy a Compute Instance
-The first step is to create a fresh Compute Instance running the distribution of your choice. If the selected distribution is already marked as cloud-init compatible, you do not need to follow the steps in this guide. If the distribution is not cloud-init compatible, continue with this guide to create a cloud-init compatible image for this distribution. For details on Metadata/cloud-init compatibility, review [Overview of the Metadata Service > Availability](/docs/products/compute/compute-instances/guides/metadata/#availability).
+The first step is to create a fresh Compute Instance running the distribution of your choice. If the selected distribution is already marked as cloud-init compatible, you do not need to follow the steps in this guide. If the distribution is not cloud-init compatible, continue with this guide to create a cloud-init compatible image for this distribution. For details on Metadata/cloud-init compatibility, review [Overview of the Metadata Service > Availability](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service#availability).
-This instance forms the basis for a cloud-init deployment template. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides. The instructions in this guide cover Debian, Ubuntu, and RHEL-based systems (CentOS, Fedora, AlmaLinux, Rocky Linux, etc.). The steps have not been verified with other distributions but may be adaptable with some modifications.
+This instance forms the basis for a cloud-init deployment template. 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. The instructions in this guide cover Debian, Ubuntu, and RHEL-based systems (CentOS, Fedora, AlmaLinux, Rocky Linux, etc.). The steps have not been verified with other distributions but may be adaptable with some modifications.
## Install Cloud-Init
@@ -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](/docs/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 >}}
@@ -127,7 +127,7 @@ A few configuration steps are necessary to prepare the cloud-init installation f
```
## Create a Custom Image
-Creating an image from the instance setup above allows you to deploy new instances leveraging the Metadata service and custom cloud-init deployment scripts. For more on creating an image of an Akamai Compute Instance, you can refer to our [Capture an Image](/docs/products/tools/images/guides/capture-an-image/#capturing-an-image-through-cloud-manager) guide.
+Creating an image from the instance setup above allows you to deploy new instances leveraging the Metadata service and custom cloud-init deployment scripts. For more on creating an image of an Akamai Compute Instance, you can refer to our [Capture an Image](https://techdocs.akamai.com/cloud-computing/docs/capture-an-image#capturing-an-image-through-cloud-manager) guide.
What follows is a summary of steps you can use to create a base image from the instance on which you installed cloud-init.
@@ -149,9 +149,9 @@ 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](/docs/products/tools/images/guides/deploy-image-to-new-linode/) for image deployment. Refer to our guide on how to [Use Cloud-Init to Automatically Configure and Secure Your Servers](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide.
+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.
{{< note >}}
Newly deployed Compute Instances do not have network access during boot. This prevents cloud-init from properly running. The last several steps below address this, restarting the cloud-init process after the initial boot.
@@ -163,7 +163,7 @@ Newly deployed Compute Instances do not have network access during boot. This pr

-1. Select a region in which the Metadata service is available. These are listed in the Metadata [reference documentation](/docs/products/compute/compute-instances/guides/metadata/#availability).
+1. Select a region in which the Metadata service is available. These are listed in the Metadata [reference documentation](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service#availability).
1. Select your desired instance plan, enter a label for the new instance, and create credentials for the root user.
@@ -201,7 +201,7 @@ Newly deployed Compute Instances do not have network access during boot. This pr
1. Start the deployment by selecting **Create Linode**, and wait for the new instance to be deployed. You can follow its progress from the **Linodes** section of the Cloud Manager.
-1. Access the instance as the root user through the Lish console. Learn how in our [Access Your System Console Using Lish (Linode Shell)](/docs/products/compute/compute-instances/guides/lish/) guide.
+1. Access the instance as the root user through the Lish console. Learn how in our [Access Your System Console Using Lish (Linode Shell)](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) guide.
1. Reset cloud-init. This ensures that, on the next boot, cloud-init runs as if for the initial system boot.
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 6bb940b4875..7b727ade7a3 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
@@ -14,11 +14,11 @@ external_resources:
[Cloud-init](https://cloudinit.readthedocs.io/en/latest/index.html) is an industry-standard tool that automates server initialization and has cross-distribution, cross-platform support. While the cloud platform provides cloud-init with metadata for server deployment, custom user data lets you script almost every aspect of server initialization.
-Akamai's [Metadata](/docs/products/compute/compute-instances/guides/metadata/) service allows you to leverage cloud-init to deploy Compute Instances. Using a cloud-config script, you can define everything you need, from security and user set up to software installation and shell script execution.
+Akamai's [Metadata](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service) service allows you to leverage cloud-init to deploy Compute Instances. Using a cloud-config script, you can define everything you need, from security and user set up to software installation and shell script execution.
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](/docs/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](/docs/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](/docs/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](/docs/guides/run-shell-commands-with-cloud-init/) and more about `sed` in our guide [Manipulate Text from the Command Line with sed](/docs/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 b370d6fb269..68802563bd8 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
@@ -57,11 +57,11 @@ Follow along with the steps in this section to set up a Kubernetes cluster and g
Crossplane runs on a Kubernetes cluster, so you need a running cluster available to get started with it.
-With Linode, you can quickly deploy a Kubernetes cluster from the Cloud Manager. To do so, follow along with our guide [Linode Kubernetes Engine - Getting Started](/docs/products/compute/kubernetes/get-started/). When done, you should have a fully operational Kubernetes cluster and a `kubectl` instance configured to manage it.
+With Linode, you can quickly deploy a Kubernetes cluster from the Cloud Manager. To do so, follow along with our guide [Linode Kubernetes Engine - Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine). When done, you should have a fully operational Kubernetes cluster and a `kubectl` instance configured to manage it.
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](/docs/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
@@ -156,9 +156,9 @@ The configurations and commands used in this guide add one or more Linode instan
- Replace `${ROOT_PASSWORD}` with a root password to be used for the new Linode Compute instance.
- - 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](/docs/products/tools/api/get-started/#get-an-access-token)
+ - 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](/docs/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/laravel-forge/use-laravel-forge-to-automate-web-server-creation-on-a-linode/index.md b/docs/guides/applications/configuration-management/laravel-forge/use-laravel-forge-to-automate-web-server-creation-on-a-linode/index.md
index ea627a5e02c..94c5f1509d7 100644
--- a/docs/guides/applications/configuration-management/laravel-forge/use-laravel-forge-to-automate-web-server-creation-on-a-linode/index.md
+++ b/docs/guides/applications/configuration-management/laravel-forge/use-laravel-forge-to-automate-web-server-creation-on-a-linode/index.md
@@ -28,7 +28,7 @@ Once your server has been created, deploying updates becomes as clear and painle
1. Sign up for a [Laravel Forge](https://forge.laravel.com/auth/register) account if you don't have one.
-1. Create a Linode API key, which Laravel Forge will use to interface with your account. [Forge uses Linode's new APIv4](https://blog.laravel.com/forge-switching-to-the-new-linode-manager), and APIv4 tokens are created in the [Linode Cloud Manager](https://cloud.linode.com). Refer to the [Getting Started with the Linode API](/docs/products/tools/api/get-started/#get-an-access-token) to learn how to create your key.
+1. Create a Linode API key, which Laravel Forge will use to interface with your account. [Forge uses Linode's new APIv4](https://blog.laravel.com/forge-switching-to-the-new-linode-manager), and APIv4 tokens are created in the [Linode Cloud Manager](https://cloud.linode.com). Refer to the [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) to learn how to create your key.
1. If you don't have a registered domain name for your website, purchase one from a domain name registrar.
@@ -109,7 +109,7 @@ If you do not want to use a domain with your website, you can configure the *def
### Add a New Site
-1. Set up your DNS records for your domain. [Create a Domain Zone and an *A record*](/docs/products/networking/dns-manager/get-started/) assigned to your Linode's IP address. If you use Linode's name servers, review the [DNS Manager](/docs/products/networking/dns-manager/) guide for instructions.
+1. Set up your DNS records for your domain. [Create a Domain Zone and an *A record*](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) assigned to your Linode's IP address. If you use Linode's name servers, review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions.
If you use another DNS provider, check their documentation for instructions.
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 f43f7a8bc3e..f1a7349567f 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,18 +16,18 @@ 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](/docs/guides/how-to-use-linode-packer-builder/) guide. Discover how you can leverage Terraform in our [Beginner's Guide to Terraform](/docs/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.
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/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](/docs/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](/docs/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.
@@ -221,7 +221,7 @@ This tutorial handles variables using two files.
image_id = "private/"
```
- The `` needs to be an API token associated with your Linode account. You can follow our [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) guide to generate a personal access token. Be sure to give the token "Read/Write" permissions.
+ The `` needs to be an API token associated with your Linode account. You can follow our [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) guide to generate a personal access token. Be sure to give the token "Read/Write" permissions.
Above, you can see a value of `private/` for the `image_id`. This value should match the image ID for the Linode image you created with Packer. All custom Linode images are prefaced with `private/` and conclude with the image's ID. In these examples, `private/17691867` is assumed to be the ID for the Linode image built with Packer.
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 8b74d10e31a..4cf18ba699c 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,13 +17,13 @@ aliases: ['/applications/configuration-management/how-to-use-linode-packer-build
[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](/docs/guides/what-is-immutable-infrastructure/) within your [continuous delivery](/docs/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
In Packer's ecosystem, [builders](https://www.packer.io/docs/builders) are responsible for building a system and generating an image from that system. Packer has multiple different types of builders, with each one being used to create images for a specific platform.
-The [Linode builder](https://developer.hashicorp.com/packer/integrations/linode/linode) integrates Packer with the Linode platform. This allows Packer to deploy a temporary Linode on your account (using an APIv4 token), configure the system on the Linode according to the parameters in the provided template file, and then create an image based on that Linode. Essentially, this is a convenient way to automatically create [Linode Images](/docs/products/tools/images/) on your account that can be used for rapidly deploying new Linodes.
+The [Linode builder](https://developer.hashicorp.com/packer/integrations/linode/linode) integrates Packer with the Linode platform. This allows Packer to deploy a temporary Linode on your account (using an APIv4 token), configure the system on the Linode according to the parameters in the provided template file, and then create an image based on that Linode. Essentially, this is a convenient way to automatically create [Linode Images](https://techdocs.akamai.com/cloud-computing/docs/images) on your account that can be used for rapidly deploying new Linodes.
## Before You Begin
@@ -31,7 +31,7 @@ This guide will walk you through the process of installing Packer, creating a t
1. Ensure you have access to [cURL](https://en.wikipedia.org/wiki/CURL) on your computer.
-1. Generate a Linode API v4 access token with read/write permission for both *Linodes* and *Images*. You can follow the [Get an Access Token](/docs/products/tools/api/get-started/#get-an-access-token) section of the [Getting Started with the Linode API](/docs/products/tools/api/get-started/) guide if you do not already have one.
+1. Generate a Linode API v4 access token with read/write permission for both *Linodes* and *Images*. You can follow the [Get an Access Token](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) section of the [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started) guide if you do not already have one.
1. *Optional:* Set a variable named `TOKEN` in your shell environment by running the following command. Replace *x* with your own API token.
@@ -81,7 +81,7 @@ packer plugins install github.com/linode/linode
Now that Packer is installed, you can make a Packer [template](https://www.packer.io/docs/templates). A template is a file that contains the configurations needed to build a machine image. A template can be formatted in [JSON](https://www.packer.io/docs/templates/legacy_json_templates) or [HCL2](https://www.packer.io/docs/templates/hcl_templates) (Hashicorp Configuration Language). As of Packer v1.7.0, the HCL2 template format is preferred and, as such, will be used in the examples within this guide.
{{< note >}}
-The steps in this section will incur charges related to deploying a [1GB Linode](https://www.linode.com/pricing) (Nanode). The Linode will only be deployed for the duration of the time needed to create and snapshot your image and will then be deleted. See our [Billing and Payments](/docs/products/platform/billing/) guide for details about how hourly billing works.
+The steps in this section will incur charges related to deploying a [1GB Linode](https://www.linode.com/pricing) (Nanode). The Linode will only be deployed for the duration of the time needed to create and snapshot your image and will then be deleted. See our [Billing and Payments](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works) guide for details about how hourly billing works.
{{< /note >}}
### Creating the Template File
@@ -176,11 +176,11 @@ To learn how to securely store and use your API v4 token, see the [Vault](https:
## Deploying a Linode with the New Image
-Once the Packer build process completes, a new [Custom Image](/docs/products/tools/images/) will appear on your account. This image can be deployed in a few ways:
+Once the Packer build process completes, a new [Custom Image](https://techdocs.akamai.com/cloud-computing/docs/images) will appear on your account. This image can be deployed in a few ways:
-- **Cloud Manager:** Use the Cloud Manager to deploy a Custom Image by following the [Deploy an Image to a New Compute Instance](/docs/products/tools/images/guides/deploy-image-to-new-linode/) guide.
+- **Cloud Manager:** Use the Cloud Manager to deploy a Custom Image by following the [Deploy an Image to a New Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/deploy-an-image-to-a-new-compute-instance) guide.
-- **Linode CLI:** Use the Linode CLI through the command-line by following the [Using the Linode CLI](/docs/products/tools/cli/get-started/) guide. The [Linode Instances](/docs/products/tools/cli/guides/linode-instances/) guide provides example commands. The command below will deploy a new Linode in the Newark data center. Replace *mypassword* with the root password you'd like to use and *linode/debian10* with the ID of your new image.
+- **Linode CLI:** Use the Linode CLI through the command-line by following the [Using the Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli) guide. The [Linode Instances](https://techdocs.akamai.com/cloud-computing/docs/linode-instances-commands) guide provides example commands. The command below will deploy a new Linode in the Newark data center. Replace *mypassword* with the root password you'd like to use and *linode/debian10* with the ID of your new image.
linode-cli linodes create --root_pass mypassword --region us-east --image linode/debian10
@@ -202,7 +202,7 @@ Once the Packer build process completes, a new [Custom Image](/docs/products/too
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](/docs/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](/docs/guides/beginners-guide-to-terraform/)
-* [Create a Terraform Module](/docs/guides/create-terraform-module/)
-* [Use Terraform to Provision Linode Environments](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/)
-* [Introduction to HashiCorp Configuration Language (HCL)](/docs/applications/configuration-management/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/pulumi/deploy-in-code-with-pulumi/index.md b/docs/guides/applications/configuration-management/pulumi/deploy-in-code-with-pulumi/index.md
index 765d7ff4648..bbec74086db 100644
--- a/docs/guides/applications/configuration-management/pulumi/deploy-in-code-with-pulumi/index.md
+++ b/docs/guides/applications/configuration-management/pulumi/deploy-in-code-with-pulumi/index.md
@@ -19,7 +19,7 @@ aliases: ['/applications/configuration-management/deploy-in-code-with-pulumi/','
[*Pulumi*](https://www.pulumi.com/) is a development tool that allows you to write computer programs which deploy cloud resources--a practice referred to as *infrastructure as code (IaC)*. Pulumi integrates with multiple cloud platforms, and Pulumi programs can be authored in a number of common programming languages.
-With Pulumi's Linode integration, you can manage your Linode resources as you would with our [API](/docs/products/tools/api/) or [CLI](/docs/products/tools/cli/), but in a language you may already be familiar with. This guide will present examples written in JavaScript, but Pulumi is also compatible with Go, Python, and TypeScript.
+With Pulumi's Linode integration, you can manage your Linode resources as you would with our [API](https://techdocs.akamai.com/linode-api/reference/api-summary) or [CLI](https://techdocs.akamai.com/cloud-computing/docs/cli-1), but in a language you may already be familiar with. This guide will present examples written in JavaScript, but Pulumi is also compatible with Go, Python, and TypeScript.
Pulumi also comes with a CLI interface for running the cloud infrastructure programs that you write. Once you've written a program, you can create your cloud resources with a single command:
@@ -33,11 +33,11 @@ In this guide you will learn how to:
## Before You Begin
-1. If you haven't yet, [create a Linode API token](/docs/products/platform/accounts/guides/manage-api-tokens/#create-an-api-token).
+1. If you haven't yet, [create a Linode API token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens#create-an-api-token).
1. [Create a free Pulumi Cloud account](https://app.pulumi.com/signup).
-1. Create a new Debian 9 Linode. Follow our [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide to deploy the Linode, and then follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. Be sure to create a [limited Linux user with sudo privileges](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) on your server. All commands in this guide are to be run from a sudo user.
+1. Create a new Debian 9 Linode. Follow our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide to deploy the Linode, and then follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Be sure to create a [limited Linux user with sudo privileges](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) on your server. All commands in this guide are to be run from a sudo user.
1. [Install Pulumi](https://www.pulumi.com/docs/install/) on your Linode using their installation script:
@@ -271,7 +271,7 @@ exports.nodeBalancerPort = nodeBalancerConfig.port;
{{< /file >}}
{{< note >}}
- In our `index.js` file we've created and configured two Linodes using an existing [StackScript](/docs/products/tools/stackscripts/) which installs NGINX. Pulumi's Linode integration allows for the creation of entirely [new StackScripts](https://www.pulumi.com/registry/packages/linode/api-docs/stackscript/) directly in code, which can help you to automate your deployments even further.
+ In our `index.js` file we've created and configured two Linodes using an existing [StackScript](https://techdocs.akamai.com/cloud-computing/docs/stackscripts) which installs NGINX. Pulumi's Linode integration allows for the creation of entirely [new StackScripts](https://www.pulumi.com/registry/packages/linode/api-docs/stackscript/) directly in code, which can help you to automate your deployments even further.
If you're interested in seeing how this StackScript works, you can view it [here](https://www.linode.com/stackscripts/view/526246).
{{< /note >}}
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 e38b228a81a..f3942015c05 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
@@ -32,7 +32,7 @@ Puppet deployments can range from small groups of servers up to enterprise-level
After installation, the next section will show you how to secure these servers via Puppet. This section will demonstrate core features of the Puppet language.
{{< note >}}
-Most guides will instruct you to follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide before proceeding. Because Puppet will be used to perform this task, you should begin this guide as the `root` user. A limited user with administrative privileges will be configured via Puppet in later steps.
+Most guides will instruct you to follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide before proceeding. Because Puppet will be used to perform this task, you should begin this guide as the `root` user. A limited user with administrative privileges will be configured via Puppet in later steps.
{{< /note >}}
## Before You Begin
@@ -53,11 +53,11 @@ Throughout this guide, commands and code snippets will reference the values disp
1. Create three Linodes corresponding to the servers listed in the table above. Your Puppet master Linode should have at least four CPU cores; the [Linode 8GB](https://www.linode.com/pricing) plan is recommended. The two other nodes can be of any plan size, depending on how you intend to use them after Puppet is installed and configured.
-1. [Configure your timezone](/docs/products/compute/compute-instances/guides/set-up-and-secure/#set-the-timezone) on your master and agent nodes so that they all have the same time data.
+1. [Configure your timezone](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#set-the-timezone) on your master and agent nodes so that they all have the same time data.
-1. [Set the hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) for each server.
+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](/docs/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:
@@ -89,7 +89,7 @@ Throughout this guide, commands and code snippets will reference the values disp
```
{{< /note >}}
-1. [Set up DNS records](/docs/products/networking/dns-manager/guides/manage-dns-records/) for your Linodes' FQDNs. For each Linode, create a new *A record* with the name specified by its FQDN and assign it to that Linode's IP address.
+1. [Set up DNS records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) for your Linodes' FQDNs. For each Linode, create a new *A record* with the name specified by its FQDN and assign it to that Linode's IP address.
If you don't use Linode's name servers for your domain, consult your name server authority's website for instructions on how to edit your DNS records.
@@ -279,7 +279,7 @@ Notice: Applied catalog in 0.02 seconds
## Add Modules to Configure Agent Nodes
-The Puppet master and agent nodes are now functional, but they are not secure. Based on concepts from the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, a limited user and a firewall should be configured. This can be done on all nodes through the creation of basic Puppet modules, shown below.
+The Puppet master and agent nodes are now functional, but they are not secure. Based on concepts from the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, a limited user and a firewall should be configured. This can be done on all nodes through the creation of basic Puppet modules, shown below.
{{< note >}}
This is not meant to provide a basis for a fully-hardened server, and is intended only as a starting point. Alter and add firewall rules and other configuration options, depending on your specific needs.
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 e97f0be8684..631597e96d7 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
@@ -33,7 +33,7 @@ Begin this guide as the `root` user. A limited user with administrative privileg
1. You should have three available Linodes, one of which has at least four CPU cores for the Puppet master. A [Linode 8GB](https://www.linode.com/pricing) plan is recommended. The two other nodes can be of any plan size, depending on how you intend to use them after Puppet is installed and configured.
-2. Follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide and ensure your Linodes are configured to use the same timezone.
+2. 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 ensure your Linodes are configured to use the same timezone.
{{< note respectIndent=false >}}
For ease of use, set the Puppet master server's hostname to `puppet`, and have a valid fully-qualified domain name (FQDN).
@@ -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](/docs/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:
@@ -162,7 +162,7 @@ server=puppet.example.com
## Add Modules to Configure Agent Nodes
-Both the Puppet master and agent nodes configured above are functional, but not secure. Based on concepts from the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, a limited user and a firewall should be configured. This can be done on all nodes through the creation of basic Puppet modules, shown below.
+Both the Puppet master and agent nodes configured above are functional, but not secure. Based on concepts from the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, a limited user and a firewall should be configured. This can be done on all nodes through the creation of basic Puppet modules, shown below.
{{< note >}}
This is not meant to provide a basis for a fully-hardened server, and is intended only as a starting point. Alter and add firewall rules and other configuration options, depending on your specific needs.
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 2ebf3fcbb05..669853db933 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,18 +31,18 @@ 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](/docs/guides/linux-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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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.
## 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](/docs/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](/docs/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 28bfcf2bb09..9d70e682bc3 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,18 +27,18 @@ aliases: ['/applications/configuration-management/puppet/install-and-manage-mysq
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](/docs/guides/linux-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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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.
## 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](/docs/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](/docs/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/assets/apache2.conf b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/apache2.conf
similarity index 100%
rename from docs/assets/apache2.conf
rename to docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/apache2.conf
diff --git a/docs/assets/httpd.conf b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/httpd.conf
similarity index 100%
rename from docs/assets/httpd.conf
rename to docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/httpd.conf
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 345bfd2a3a9..535f8a96cc1 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](/docs/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
@@ -90,7 +90,7 @@ class apache::params {
An `if` statement is used to define the parameters, pulling from information provided by [Facter](https://puppet.com/docs/puppet/7/facter.html), which is already installed on the Puppet master. In this case, Facter will be used to pull down the operating system family (`osfamily`), to discern if it is Red Hat or Debian-based.
{{< note respectIndent=false >}}
-For the duration of this guide, when something needs to be added to the parameter list the variables needed for Red Hat and Debian will be provided, but the expanding code will not be shown. A complete copy of `params.pp` can be viewed [here](/docs/assets/params.pp).
+For the duration of this guide, when something needs to be added to the parameter list the variables needed for Red Hat and Debian will be provided, but the expanding code will not be shown. A complete copy of `params.pp` can be viewed [here](params.pp).
{{< /note >}}
1. With the parameters finally defined, we need to call the `params.pp` file and the parameters into `init.pp`. To do this, the parameters need to be added after the class name, but before the opening curly bracket (`{`):
@@ -108,7 +108,7 @@ class apache (
### Manage Configuration Files
-The Apache configuration file will be different depending on whether you are working on a Red Hat- or Debian-based system. These can be viewed here: [httpd.conf (Red Hat)](/docs/assets/httpd.conf), [apache2.conf (Debian)](/docs/assets/apache2.conf).
+The Apache configuration file will be different depending on whether you are working on a Red Hat- or Debian-based system. These can be viewed here: [httpd.conf (Red Hat)](httpd.conf), [apache2.conf (Debian)](apache2.conf).
1. Copy the content of `httpd.conf` and `apache2.conf` in separate files and save them in the `files` directory located at `/etc/puppetlabs/code/environments/production/modules/apache/files`.
@@ -157,7 +157,7 @@ else {
{{< /file >}}
- These parameters will also need to be added to the beginning of the `apache` class declaration in the `init.pp` file, similar to the previous example. A complete copy of the `init.pp` file can be seen [here](/docs/assets/puppet_apacheinit.pp) for reference.
+ These parameters will also need to be added to the beginning of the `apache` class declaration in the `init.pp` file, similar to the previous example. A complete copy of the `init.pp` file can be seen [here](puppet_apacheinit.pp) for reference.
1. When the configuration file is changed, Apache needs to restart. To automate this, the `service` resource can be used in combination with the `notify` attribute, which will call the resource to run whenever the configuration file is changed:
@@ -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](/docs/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](/docs/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](/docs/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/assets/params.pp b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/params.pp
similarity index 100%
rename from docs/assets/params.pp
rename to docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/params.pp
diff --git a/docs/assets/puppet_apacheinit.pp b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/puppet_apacheinit.pp
similarity index 100%
rename from docs/assets/puppet_apacheinit.pp
rename to docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack-ubuntu-18-04-master/puppet_apacheinit.pp
diff --git a/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/apache2.conf b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/apache2.conf
new file mode 100644
index 00000000000..65bcb752dda
--- /dev/null
+++ b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/apache2.conf
@@ -0,0 +1,221 @@
+# This is the main Apache server configuration file. It contains the
+# configuration directives that give the server its instructions.
+# See http://httpd.apache.org/content/2.4/ for detailed information about
+# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
+# hints.
+#
+#
+# Summary of how the Apache 2 configuration works in Debian:
+# The Apache 2 web server configuration in Debian is quite different to
+# upstream's suggested way to configure the web server. This is because Debian's
+# default Apache2 installation attempts to make adding and removing modules,
+# virtual hosts, and extra configuration directives as flexible as possible, in
+# order to make automating the changes and administering the server as easy as
+# possible.
+
+# It is split into several files forming the configuration hierarchy outlined
+# below, all located in the /etc/apache2/ directory:
+#
+# /etc/apache2/
+# |-- apache2.conf
+# | `-- ports.conf
+# |-- mods-enabled
+# | |-- *.load
+# | `-- *.conf
+# |-- conf-enabled
+# | `-- *.conf
+# `-- sites-enabled
+# `-- *.conf
+#
+#
+# * apache2.conf is the main configuration file (this file). It puts the pieces
+# together by including all remaining configuration files when starting up the
+# web server.
+#
+# * ports.conf is always included from the main configuration file. It is
+# supposed to determine listening ports for incoming connections which can be
+# customized anytime.
+#
+# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
+# directories contain particular configuration snippets which manage modules,
+# global configuration fragments, or virtual host configurations,
+# respectively.
+#
+# They are activated by symlinking available configuration files from their
+# respective *-available/ counterparts. These should be managed by using our
+# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See
+# their respective man pages for detailed information.
+#
+# * The binary is called apache2. Due to the use of environment variables, in
+# the default configuration, apache2 needs to be started/stopped with
+# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
+# work with the default configuration.
+
+
+# Global configuration
+#
+
+#
+# ServerRoot: The top of the directory tree under which the server's
+# configuration, error, and log files are kept.
+#
+# NOTE! If you intend to place this on an NFS (or otherwise network)
+# mounted filesystem then please read the Mutex documentation (available
+# at );
+# you will save yourself a lot of trouble.
+#
+# Do NOT add a slash at the end of the directory path.
+#
+#ServerRoot "/etc/apache2"
+
+#
+# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
+#
+Mutex file:${APACHE_LOCK_DIR} default
+
+#
+# PidFile: The file in which the server should record its process
+# identification number when it starts.
+# This needs to be set in /etc/apache2/envvars
+#
+PidFile ${APACHE_PID_FILE}
+
+#
+# Timeout: The number of seconds before receives and sends time out.
+#
+Timeout 300
+
+#
+# KeepAlive: Whether or not to allow persistent connections (more than
+# one request per connection). Set to "Off" to deactivate.
+#
+KeepAlive On
+
+#
+# MaxKeepAliveRequests: The maximum number of requests to allow
+# during a persistent connection. Set to 0 to allow an unlimited amount.
+# We recommend you leave this number high, for maximum performance.
+#
+MaxKeepAliveRequests 100
+
+#
+# KeepAliveTimeout: Number of seconds to wait for the next request from the
+# same client on the same connection.
+#
+KeepAliveTimeout 5
+
+
+# These need to be set in /etc/apache2/envvars
+User ${APACHE_RUN_USER}
+Group ${APACHE_RUN_GROUP}
+
+#
+# HostnameLookups: Log the names of clients or just their IP addresses
+# e.g., www.apache.org (on) or 204.62.129.132 (off).
+# The default is off because it'd be overall better for the net if people
+# had to knowingly turn this feature on, since enabling it means that
+# each client request will result in AT LEAST one lookup request to the
+# nameserver.
+#
+HostnameLookups Off
+
+# ErrorLog: The location of the error log file.
+# If you do not specify an ErrorLog directive within a
+# container, error messages relating to that virtual host will be
+# logged here. If you *do* define an error logfile for a
+# container, that host's errors will be logged there and not here.
+#
+ErrorLog ${APACHE_LOG_DIR}/error.log
+
+#
+# LogLevel: Control the severity of messages logged to the error_log.
+# Available values: trace8, ..., trace1, debug, info, notice, warn,
+# error, crit, alert, emerg.
+# It is also possible to configure the log level for particular modules, e.g.
+# "LogLevel info ssl:warn"
+#
+LogLevel warn
+
+# Include module configuration:
+IncludeOptional mods-enabled/*.load
+IncludeOptional mods-enabled/*.conf
+
+# Include list of ports to listen on
+Include ports.conf
+
+
+# Sets the default security model of the Apache2 HTTPD server. It does
+# not allow access to the root filesystem outside of /usr/share and /var/www.
+# The former is used by web applications packaged in Debian,
+# the latter may be used for local directories served by the web server. If
+# your system is serving content from a sub-directory in /srv you must allow
+# access here, or in any related virtual host.
+
+ Options FollowSymLinks
+ AllowOverride None
+ Require all denied
+
+
+
+ AllowOverride None
+ Require all granted
+
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride None
+ Require all granted
+
+
+#
+# Options Indexes FollowSymLinks
+# AllowOverride None
+# Require all granted
+#
+
+
+
+
+# AccessFileName: The name of the file to look for in each directory
+# for additional configuration directives. See also the AllowOverride
+# directive.
+#
+AccessFileName .htaccess
+
+#
+# The following lines prevent .htaccess and .htpasswd files from being
+# viewed by Web clients.
+#
+
+ Require all denied
+
+
+
+#
+# The following directives define some format nicknames for use with
+# a CustomLog directive.
+#
+# These deviate from the Common Log Format definitions in that they use %O
+# (the actual bytes sent including headers) instead of %b (the size of the
+# requested file), because the latter makes it impossible to detect partial
+# requests.
+#
+# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
+# Use mod_remoteip instead.
+#
+LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
+LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
+LogFormat "%h %l %u %t \"%r\" %>s %O" common
+LogFormat "%{Referer}i -> %U" referer
+LogFormat "%{User-agent}i" agent
+
+# Include of directories ignores editors' and dpkg's backup files,
+# see README.Debian for details.
+
+# Include generic snippets of statements
+IncludeOptional conf-enabled/*.conf
+
+# Include the virtual host configurations:
+IncludeOptional sites-enabled/*.conf
+
+# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
diff --git a/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/httpd.conf b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/httpd.conf
new file mode 100644
index 00000000000..69ec9750d35
--- /dev/null
+++ b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/httpd.conf
@@ -0,0 +1,353 @@
+#
+# This is the main Apache HTTP server configuration file. It contains the
+# configuration directives that give the server its instructions.
+# See for detailed information.
+# In particular, see
+#
+# for a discussion of each configuration directive.
+#
+# Do NOT simply read the instructions in here without understanding
+# what they do. They're here only as hints or reminders. If you are unsure
+# consult the online docs. You have been warned.
+#
+# Configuration and logfile names: If the filenames you specify for many
+# of the server's control files begin with "/" (or "drive:/" for Win32), the
+# server will use that explicit path. If the filenames do *not* begin
+# with "/", the value of ServerRoot is prepended -- so 'log/access_log'
+# with ServerRoot set to '/www' will be interpreted by the
+# server as '/www/log/access_log', where as '/log/access_log' will be
+# interpreted as '/log/access_log'.
+
+#
+# ServerRoot: The top of the directory tree under which the server's
+# configuration, error, and log files are kept.
+#
+# Do not add a slash at the end of the directory path. If you point
+# ServerRoot at a non-local disk, be sure to specify a local disk on the
+# Mutex directive, if file-based mutexes are used. If you wish to share the
+# same ServerRoot for multiple httpd daemons, you will need to change at
+# least PidFile.
+#
+ServerRoot "/etc/httpd"
+
+#
+# Listen: Allows you to bind Apache to specific IP addresses and/or
+# ports, instead of the default. See also the
+# directive.
+#
+# Change this to Listen on specific IP addresses as shown below to
+# prevent Apache from glomming onto all bound IP addresses.
+#
+#Listen 12.34.56.78:80
+Listen 80
+
+#
+# Dynamic Shared Object (DSO) Support
+#
+# To be able to use the functionality of a module which was built as a DSO you
+# have to place corresponding `LoadModule' lines at this location so the
+# directives contained in it are actually available _before_ they are used.
+# Statically compiled modules (those listed by `httpd -l') do not need
+# to be loaded here.
+#
+# Example:
+# LoadModule foo_module modules/mod_foo.so
+#
+Include conf.modules.d/*.conf
+
+#
+# If you wish httpd to run as a different user or group, you must run
+# httpd as root initially and it will switch.
+#
+# User/Group: The name (or #number) of the user/group to run httpd as.
+# It is usually good practice to create a dedicated user and group for
+# running httpd, as with most system services.
+#
+User apache
+Group apache
+
+# 'Main' server configuration
+#
+# The directives in this section set up the values used by the 'main'
+# server, which responds to any requests that aren't handled by a
+# definition. These values also provide defaults for
+# any containers you may define later in the file.
+#
+# All of these directives may appear inside containers,
+# in which case these default settings will be overridden for the
+# virtual host being defined.
+#
+
+#
+# ServerAdmin: Your address, where problems with the server should be
+# e-mailed. This address appears on some server-generated pages, such
+# as error documents. e.g. admin@your-domain.com
+#
+ServerAdmin root@localhost
+
+#
+# ServerName gives the name and port that the server uses to identify itself.
+# This can often be determined automatically, but we recommend you specify
+# it explicitly to prevent problems during startup.
+#
+# If your host doesn't have a registered DNS name, enter its IP address here.
+#
+#ServerName www.example.com:80
+
+#
+# Deny access to the entirety of your server's filesystem. You must
+# explicitly permit access to web content directories in other
+# blocks below.
+#
+
+ AllowOverride none
+ Require all denied
+
+
+#
+# Note that from this point forward you must specifically allow
+# particular features to be enabled - so if something's not working as
+# you might expect, make sure that you have specifically enabled it
+# below.
+#
+
+#
+# DocumentRoot: The directory out of which you will serve your
+# documents. By default, all requests are taken from this directory, but
+# symbolic links and aliases may be used to point to other locations.
+#
+DocumentRoot "/var/www/html"
+
+#
+# Relax access to content within /var/www.
+#
+
+ AllowOverride None
+ # Allow open access:
+ Require all granted
+
+
+# Further relax access to the default document root:
+
+ #
+ # Possible values for the Options directive are "None", "All",
+ # or any combination of:
+ # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
+ #
+ # Note that "MultiViews" must be named *explicitly* --- "Options All"
+ # doesn't give it to you.
+ #
+ # The Options directive is both complicated and important. Please see
+ # http://httpd.apache.org/content/2.4/mod/core.html#options
+ # for more information.
+ #
+ Options Indexes FollowSymLinks
+
+ #
+ # AllowOverride controls what directives may be placed in .htaccess files.
+ # It can be "All", "None", or any combination of the keywords:
+ # Options FileInfo AuthConfig Limit
+ #
+ AllowOverride None
+
+ #
+ # Controls who can get stuff from this server.
+ #
+ Require all granted
+
+
+#
+# DirectoryIndex: sets the file that Apache will serve if a directory
+# is requested.
+#
+
+ DirectoryIndex index.html
+
+
+#
+# The following lines prevent .htaccess and .htpasswd files from being
+# viewed by Web clients.
+#
+
+ Require all denied
+
+
+#
+# ErrorLog: The location of the error log file.
+# If you do not specify an ErrorLog directive within a
+# container, error messages relating to that virtual host will be
+# logged here. If you *do* define an error logfile for a
+# container, that host's errors will be logged there and not here.
+#
+ErrorLog "logs/error_log"
+
+#
+# LogLevel: Control the number of messages logged to the error_log.
+# Possible values include: debug, info, notice, warn, error, crit,
+# alert, emerg.
+#
+LogLevel warn
+
+
+ #
+ # The following directives define some format nicknames for use with
+ # a CustomLog directive (see below).
+ #
+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
+ LogFormat "%h %l %u %t \"%r\" %>s %b" common
+
+
+ # You need to enable mod_logio.c to use %I and %O
+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
+
+
+ #
+ # The location and format of the access logfile (Common Logfile Format).
+ # If you do not define any access logfiles within a
+ # container, they will be logged here. Contrariwise, if you *do*
+ # define per- access logfiles, transactions will be
+ # logged therein and *not* in this file.
+ #
+ #CustomLog "logs/access_log" common
+
+ #
+ # If you prefer a logfile with access, agent, and referer information
+ # (Combined Logfile Format) you can use the following directive.
+ #
+ CustomLog "logs/access_log" combined
+
+
+
+ #
+ # Redirect: Allows you to tell clients about documents that used to
+ # exist in your server's namespace, but do not anymore. The client
+ # will make a new request for the document at its new location.
+ # Example:
+ # Redirect permanent /foo http://www.example.com/bar
+
+ #
+ # Alias: Maps web paths into filesystem paths and is used to
+ # access content that does not live under the DocumentRoot.
+ # Example:
+ # Alias /webpath /full/filesystem/path
+ #
+ # If you include a trailing / on /webpath then the server will
+ # require it to be present in the URL. You will also likely
+ # need to provide a section to allow access to
+ # the filesystem path.
+
+ #
+ # ScriptAlias: This controls which directories contain server scripts.
+ # ScriptAliases are essentially the same as Aliases, except that
+ # documents in the target directory are treated as applications and
+ # run by the server when requested rather than as documents sent to the
+ # client. The same rules about trailing "/" apply to ScriptAlias
+ # directives as to Alias.
+ #
+ ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
+
+
+
+#
+# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
+# CGI directory exists, if you have that configured.
+#
+
+ AllowOverride None
+ Options None
+ Require all granted
+
+
+
+ #
+ # TypesConfig points to the file containing the list of mappings from
+ # filename extension to MIME-type.
+ #
+ TypesConfig /etc/mime.types
+
+ #
+ # AddType allows you to add to or override the MIME configuration
+ # file specified in TypesConfig for specific file types.
+ #
+ #AddType application/x-gzip .tgz
+ #
+ # AddEncoding allows you to have certain browsers uncompress
+ # information on the fly. Note: Not all browsers support this.
+ #
+ #AddEncoding x-compress .Z
+ #AddEncoding x-gzip .gz .tgz
+ #
+ # If the AddEncoding directives above are commented-out, then you
+ # probably should define those extensions to indicate media types:
+ #
+ AddType application/x-compress .Z
+ AddType application/x-gzip .gz .tgz
+
+ #
+ # AddHandler allows you to map certain file extensions to "handlers":
+ # actions unrelated to filetype. These can be either built into the server
+ # or added with the Action directive (see below)
+ #
+ # To use CGI scripts outside of ScriptAliased directories:
+ # (You will also need to add "ExecCGI" to the "Options" directive.)
+ #
+ #AddHandler cgi-script .cgi
+
+ # For type maps (negotiated resources):
+ #AddHandler type-map var
+
+ #
+ # Filters allow you to process content before it is sent to the client.
+ #
+ # To parse .shtml files for server-side includes (SSI):
+ # (You will also need to add "Includes" to the "Options" directive.)
+ #
+ AddType text/html .shtml
+ AddOutputFilter INCLUDES .shtml
+
+
+#
+# Specify a default charset for all content served; this enables
+# interpretation of all content as UTF-8 by default. To use the
+# default browser choice (ISO-8859-1), or to allow the META tags
+# in HTML content to override this choice, comment out this
+# directive:
+#
+AddDefaultCharset UTF-8
+
+
+ #
+ # The mod_mime_magic module allows the server to use various hints from the
+ # contents of the file itself to determine its type. The MIMEMagicFile
+ # directive tells the module where the hint definitions are located.
+ #
+ MIMEMagicFile conf/magic
+
+
+#
+# Customizable error responses come in three flavors:
+# 1) plain text 2) local redirects 3) external redirects
+#
+# Some examples:
+#ErrorDocument 500 "The server made a boo boo."
+#ErrorDocument 404 /missing.html
+#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
+#ErrorDocument 402 http://www.example.com/subscription_info.html
+#
+
+#
+# EnableMMAP and EnableSendfile: On systems that support it,
+# memory-mapping or the sendfile syscall may be used to deliver
+# files. This usually improves server performance, but must
+# be turned off when serving from networked-mounted
+# filesystems or if support for these functions is otherwise
+# broken on your system.
+# Defaults if commented: EnableMMAP On, EnableSendfile Off
+#
+#EnableMMAP off
+EnableSendfile on
+
+# Supplemental configuration
+#
+# Load config files in the "/etc/httpd/conf.d" directory, if any.
+IncludeOptional conf.d/*.conf
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 781e3ca3384..39942ac06df 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](/docs/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
@@ -128,7 +128,7 @@ class apache::params {
{{< note respectIndent=false >}}
-For the duration of this guide, when something needs to be added to the parameter list the variables needed for Red Hat and Debian will be provided, but the expanding code will not be shown. A complete copy of `params.pp` can be viewed [here](/docs/assets/params.pp).
+For the duration of this guide, when something needs to be added to the parameter list the variables needed for Red Hat and Debian will be provided, but the expanding code will not be shown. A complete copy of `params.pp` can be viewed [here](params.pp).
{{< /note >}}
4. With the parameters finally defined, we need to call the `params.pp` file and the parameters into `init.pp`. To do this, the parameters need to be added after the class name, but before the opening curly bracket (`{`):
@@ -146,7 +146,7 @@ class apache (
### Manage Configuration Files
-Apache has two different configuration files, depending on whether you are working on a Red Hat- or Debian-based system. These can be pulled off a server, or viewed here: [httpd.conf (Red Hat)](/docs/assets/httpd.conf), [apache2.conf (Debian)](/docs/assets/apache2.conf).
+Apache has two different configuration files, depending on whether you are working on a Red Hat- or Debian-based system. These can be pulled off a server, or viewed here: [httpd.conf (Red Hat)](httpd.conf), [apache2.conf (Debian)](apache2.conf).
1. Copy the `httpd.conf` and `apache2.conf` files to the `files` directory located at `/etc/puppet/modules/apache/files/`.
@@ -194,7 +194,7 @@ if $::osfamily == 'RedHat' {
{{< /file >}}
- These parameters will also need to be added to the `init.pp` file, following the example of the additional parameters. A complete copy of the `init.pp` file can be seen [here](/docs/assets/puppet_apacheinit.pp).
+ These parameters will also need to be added to the `init.pp` file, following the example of the additional parameters. A complete copy of the `init.pp` file can be seen [here](puppet_apacheinit.pp).
5. When the configuration file is changed, Apache needs to restart. To automate this, the `service` resource can be used in combination with the `notify` attribute, which will call the resource to run whenever the configuration file is changed:
@@ -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](/docs/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](/docs/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/puppet/use-puppet-modules-to-create-a-lamp-stack/params.pp b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/params.pp
new file mode 100644
index 00000000000..2b635a6a2d2
--- /dev/null
+++ b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/params.pp
@@ -0,0 +1,15 @@
+class apache::params {
+
+ if $::osfamily == 'RedHat' {
+ $apachename = 'httpd'
+ $conffile = '/etc/httpd/conf/httpd.conf'
+ $confsource = 'puppet:///modules/apache/httpd.conf'
+ } elsif $::osfamily == 'Debian' {
+ $apachename = 'apache2'
+ $conffile = '/etc/apache2/apache2.conf'
+ $confsource = 'puppet:///modules/apache/apache2.conf'
+ } else {
+ print "This is not a supported distro."
+ }
+
+}
diff --git a/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/puppet_apacheinit.pp b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/puppet_apacheinit.pp
new file mode 100644
index 00000000000..9d42dfec8a5
--- /dev/null
+++ b/docs/guides/applications/configuration-management/puppet/use-puppet-modules-to-create-a-lamp-stack/puppet_apacheinit.pp
@@ -0,0 +1,30 @@
+class apache (
+ $updatesys = $::apache::params::updatesys,
+ $apachename = $::apache::params::apachename,
+ $conffile = $::apache::params::conffile,
+ $confsource = $::apache::params::confsource,
+) inherits ::apache::params {
+
+# exec { 'update system':
+# command => $updatesys,
+# path => '/usr/bin'
+# }
+
+ package { 'apache':
+ name => $apachename,
+ ensure => present,
+ }
+
+ file { 'configuration-file':
+ path => $conffile,
+ ensure => file,
+ source => $confsource,
+ notify => Service['apache-service'],
+ }
+
+ service { 'apache-service':
+ name => $apachename,
+ hasrestart => true,
+ }
+
+}
\ No newline at end of file
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 3b2b7b42993..1a28d12be37 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](/docs/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:
@@ -71,15 +71,15 @@ Development of your Hugo site and your Salt formula will take place on your pers
### Deploy the Linodes
-1. Follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide and deploy two Linodes running Debian 9.
+1. Follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide and deploy two Linodes running Debian 9.
1. In the settings tab of your Linodes' dashboards, label one of the Linodes as `salt-master` and the other as `salt-minion`. This is not required, but it will help keep track of which Linode serves which purpose.
-1. Complete the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide on each Linode to create a limited Linux user account with `sudo` privileges, harden SSH access, and remove unnecessary network services.
+1. Complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide on each Linode to create a limited Linux user account with `sudo` privileges, harden SSH access, and remove unnecessary network services.
{{% content "limited-user-note-shortguide" %}}
-1. Configure DNS for your site by adding a [domain zone](/docs/products/networking/dns-manager/guides/create-domain/) and setting up [reverse DNS](/docs/products/compute/compute-instances/guides/configure-rdns/) on your Salt minion's IP address.
+1. Configure DNS for your site by adding a [domain zone](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) and setting up [reverse DNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) on your Salt minion's IP address.
## Set Up the Salt Master and Salt Minion
@@ -94,7 +94,7 @@ Before you can start setting up the Salt formulas for the minion, you first need
The `-M` option tells the script to install the Salt master software, and the `-N` option tells the script to not install the minion software.
{{< /note >}}
-1. Log into the Salt **minion** Linode via SSH and [set the hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). This guide uses `hugo-webserver` as the example hostname:
+1. Log into the Salt **minion** Linode via SSH and [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). This guide uses `hugo-webserver` as the example hostname:
sudo hostnamectl set-hostname hugo-webserver
@@ -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](/docs/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](/docs/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 c1598f3b5c6..e95b297d1ad 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](/docs/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](/docs/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 035a1a36060..0ddbf647fd5 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
@@ -33,7 +33,7 @@ This guide shows how to install Salt Cloud and configure it to work on a Linode.
2. This guide assumes that Salt Cloud will be installed together with Salt master server.
-3. Generate an [API key](/docs/products/platform/accounts/guides/manage-api-tokens/) to access Linode API. This key will be used by Salt Cloud to manage your instances. Make sure to keep your API key safe. Set the environment variable `API_TOKEN` and test your API key is working through the REST interface:
+3. Generate an [API key](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to access Linode API. This key will be used by Salt Cloud to manage your instances. Make sure to keep your API key safe. Set the environment variable `API_TOKEN` and test your API key is working through the REST interface:
curl -H "Authorization:Bearer $API_TOKEN" https://api.linode.com/v4/account | json_pp
@@ -151,7 +151,7 @@ provider: my-linode-provider
master: mymaster.example.com
{{< /file >}}
-3. Set up [SSH key authentication](/docs/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 4aba3bbe350..9e695848b84 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](/docs/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 558c9fb6af1..1105ed0adac 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](/docs/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](/docs/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
{{ file >}}
- This MPM prefork module provides additional [tuning for your Apache installation](/docs/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](/docs/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](/docs/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 74be6879c66..edeb29f3530 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](/docs/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](/docs/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/getting-started-with-salt-basic-installation-and-setup/index.md b/docs/guides/applications/configuration-management/salt/getting-started-with-salt-basic-installation-and-setup/index.md
index f67052ca90f..b46b00031fa 100644
--- a/docs/guides/applications/configuration-management/salt/getting-started-with-salt-basic-installation-and-setup/index.md
+++ b/docs/guides/applications/configuration-management/salt/getting-started-with-salt-basic-installation-and-setup/index.md
@@ -20,9 +20,9 @@ tags: ["automation","salt"]
- You will need at least two Linodes: One will function as the Salt Master and the other(s) as Salt Minions.
-- Set each Linode's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). The hostname will be used to identify each Linode within Salt so be specific with their naming (e.g. master, minion1, minion2, etc.).
+- Set each Linode's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). The hostname will be used to identify each Linode within Salt so be specific with their naming (e.g. master, minion1, minion2, etc.).
-- We recommend that you configure [private IP addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) for each system if your Linodes are located in the same data center.
+- We recommend that you configure [private IP addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) for each system if your Linodes are located in the same data center.
## Install Using Salt Bootstrap
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 eb4af4275c2..ff283c9a832 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](/docs/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](/docs/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 ba5a862def4..e138a13b881 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](/docs/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](/docs/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/secrets-management-with-salt/index.md b/docs/guides/applications/configuration-management/salt/secrets-management-with-salt/index.md
index 4f15c4591a2..a39e0f40124 100644
--- a/docs/guides/applications/configuration-management/salt/secrets-management-with-salt/index.md
+++ b/docs/guides/applications/configuration-management/salt/secrets-management-with-salt/index.md
@@ -37,7 +37,7 @@ To handle this distinction, you could create a special directory at `/srv/pillar
Pillar data is kept in `.sls` files which are written in the same YAML syntax as states. These are generally stored within `/srv/pillar` on the Salt master, but this location can be configured via the `pillar_roots` option in your master's configuration.
-For example, let's say your minion runs an application which accesses the [Linode API](/docs/products/tools/api/). This example pillar file records your API token in a variable called `linode_api_token`:
+For example, let's say your minion runs an application which accesses the [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary). This example pillar file records your API token in a variable called `linode_api_token`:
{{< file "/srv/pillar/app_secrets.sls" >}}
linode_api_token: YOUR_API_TOKEN
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 c0066221616..7e3cc8961bd 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](/docs/guides/linux-users-and-groups/) guide.
-- [Install Git](/docs/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 8a390fc4da5..68188d7fbcc 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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access and remove unnecessary network services.
+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](/docs/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
{{ file >}}
- 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](/docs/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](/docs//applications/configuration-management/automate-a-static-site-deployment-with-salt/#initialize-the-salt-minion-s-formula) 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 8d3e3e121ac..186f074df0f 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](/docs/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 462a2a0813a..efd6ee78680 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](/docs/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)](/docs/applications/salt/salt-states-configuration-apache-mysql-php/) 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 150378c8525..77436c62b24 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](/docs/products/tools/api/), and an API access token is needed to use it. See [Use Terraform to Provision Linode Environments](/docs/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)](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 a2fc11c2124..228ace7a37c 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
@@ -57,14 +57,14 @@ Code that declares the final state of your desired infrastructure is referred to
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 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](/docs/products/tools/api/get-started/#get-an-access-token) to get a token.
+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](/docs/guides/linux-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
@@ -73,7 +73,7 @@ In this section, you install Terraform on an Ubuntu 24.04 LTS Linode. These step
To download Terraform on a Linode server, follow the steps below:
-1. [Login to the Linode server via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). This is the Linode server where you want to install Terraform. Replace `192.0.2.0` with your [Linode's IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/).
+1. [Login to the Linode server via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). This is the Linode server where you want to install Terraform. Replace `192.0.2.0` with your [Linode's IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance).
ssh username@192.0.2.0
@@ -198,7 +198,7 @@ The following steps explain how you can construct a multicloud configuration con
cd terraform
vi linode-terraform.tf
-1. At the top of the file, add a `terraform` block to define the [Linode Provider](https://registry.terraform.io/providers/linode/linode/latest/docs), followed by the declaration of the Linode provider itself. Within the provider block, add the `token` declaration. See Linode’s guide on [Getting Started with the Linode API](/docs/products/tools/api/get-started/#get-an-access-token) to learn how to create an API token, if you have not done so already.
+1. At the top of the file, add a `terraform` block to define the [Linode Provider](https://registry.terraform.io/providers/linode/linode/latest/docs), followed by the declaration of the Linode provider itself. Within the provider block, add the `token` declaration. See Linode’s guide on [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) to learn how to create an API token, if you have not done so already.
{{< note title ="Linode Provider Version 3.0.0" >}}
As of June, 2025, the Linode Terraform Provider version is 3.0.0. To determine the current version, see the [Linode Namespace](https://registry.terraform.io/namespaces/linode) in the Terraform Registry.
@@ -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*](/docs/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](/docs/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 1afbed9cab3..fcb8f1b861b 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
@@ -23,14 +23,14 @@ aliases: ['/applications/configuration-management/create-a-nodebalancer-with-ter
Terraform allows you to represent Infrastructure as Code (IaC). You can use it to manage infrastructure, speed up deployments, and share your infrastructure's configuration files within a team. In this guide you will use Terraform to create a NodeBalancer that distributes traffic between two Linodes.
{{< note type="alert" >}}
-The configurations and commands used in this guide will result in multiple billable resources being added to your account. Be sure to monitor your account closely in the Linode Cloud Manager to avoid unwanted charges. See the [Billings and Payments](/docs/products/platform/billing/) guide for more details.
+The configurations and commands used in this guide will result in multiple billable resources being added to your account. Be sure to monitor your account closely in the Linode Cloud Manager to avoid unwanted charges. See the [Billings and Payments](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works) guide for more details.
If you would like to stop billing for the resources created in this guide, [remove them](#optional-remove-the-nodebalancer-resources) when you have finished your work.
{{< /note >}}
## 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](/docs/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.
@@ -40,9 +40,9 @@ If you would like to stop billing for the resources created in this guide, [remo
The examples in this guide were originally written to be compatible with [Terraform version 0.11](https://www.terraform.io/docs/configuration-0-11/terraform.html).
{{< /note >}}
-1. Terraform requires an API access token. Follow the [Getting Started with the Linode API](/docs/products/tools/api/get-started/#get-an-access-token) guide to obtain a token.
+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](/docs/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](/docs/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" >}}
...
@@ -116,7 +116,7 @@ The NodeBalancer Config resource requires a NodeBalancer ID, which is populated
As far as settings go, the health check is set to `http_body`, meaning that the health check will look for the string set by `check_body` within the body of the page set at `check_path`. The NodeBalancer will take a node out of rotation after 30 failed check attempts. Each check will wait for a response for 25 seconds before it is considered a failure, with 30 seconds between checks. Additionally, the session stickiness setting has been set to `http_cookie`. This means that the user will continue to be sent to the same server by the use of a session cookie. The algorithm has been set to `roundrobin`, which will sort users evenly across your backend nodes based on which server was accessed last.
{{< note >}}
-Review the [NodeBalancer Reference Guide](/docs/products/networking/nodebalancers/guides/configure/) for a full list of NodeBalancer configuration options.
+Review the [NodeBalancer Reference Guide](https://techdocs.akamai.com/cloud-computing/docs/configuration-options-for-nodebalancers) for a full list of NodeBalancer configuration options.
{{< /note >}}
### Create NodeBalancer Node Resources
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 bd4af536c3b..3acd92ed51c 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](/docs/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.
@@ -42,11 +42,11 @@ This guide covers the creation of a Terraform module used to deploy a Linode ins
The Linode Terraform Provider version 3.0.0 requires `terraform` version 1.0 or greater. See [Terraform's developer documentation](https://developer.hashicorp.com/terraform/language/v1.1.x/upgrade-guides/1-0) for guidance on upgrading to version 1.0.
{{< /note >}}
-2. Terraform requires an API access token. Follow the [Getting Started with the Linode API](/docs/products/tools/api/get-started/#get-an-access-token) guide to obtain a token.
+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](/docs/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](/docs/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
@@ -162,7 +162,7 @@ resource "linode_sshkey" "main_key" {
- The `linode_sshkey` resource will create Linode SSH Keys tied to your Linode account. These keys can be reused for future Linode deployments once the resource has been created. `ssh_key = chomp(file(local.key))` uses Terraform’s built-in function `file()` to provide a local file path to the public SSH key’s location. The location of the file path is the value of the local variable `key`. The `chomp()` built-in function removes trailing new lines from the SSH key.
{{< note respectIndent=false >}}
-If you do not already have SSH keys, follow the steps in the **Create an Authentication Key-pair** section of the our guide [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#upload-ssh-key).
+If you do not already have SSH keys, follow the steps in the **Create an Authentication Key-pair** section of the our guide [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#upload-ssh-key).
{{< /note >}}
{{< file >}}
@@ -282,7 +282,7 @@ resource "linode_stackscript" "default" {
}
{{ file >}}
- The `main.tf` file creates the `linode_stackscript` resource and provides the required configurations. All argument values use interpolation syntax to access input variable values. You will declare the input variables next and provide the variable values in the root module’s `terraform.tfvars` file. For more information on StackScripts see the [StackScripts product page](/docs/products/tools/stackscripts/) and the [Linode APIv4 StackScripts reference](https://techdocs.akamai.com/linode-api/reference/api-summary).
+ The `main.tf` file creates the `linode_stackscript` resource and provides the required configurations. All argument values use interpolation syntax to access input variable values. You will declare the input variables next and provide the variable values in the root module’s `terraform.tfvars` file. For more information on StackScripts see the [StackScripts product page](https://techdocs.akamai.com/cloud-computing/docs/stackscripts) and the [Linode APIv4 StackScripts reference](https://techdocs.akamai.com/linode-api/reference/api-summary).
1. Create the `variables.tf` file to define your resource's required variables:
@@ -553,7 +553,7 @@ In Terraform 0.12, variables with map and object values will use the last value
{{< /note >}}
{{< note respectIndent=false >}}
- There are several other options available for secrets management with Terraform. For more information on this subject, see [Secrets Management with Terraform](/docs/guides/secrets-management-with-terraform).
+ There are several other options available for secrets management with Terraform. For more information on this subject, see [Secrets Management with Terraform](/cloud/guides/secrets-management-with-terraform).
{{< /note >}}
You are now ready to apply your `linode_stackscripts` module's Terraform configuration. These steps will be completed in the next section.
@@ -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](/docs/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 1dea630c7c3..0561269d6c3 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
@@ -16,7 +16,7 @@ aliases: ['/applications/configuration-management/terraform/deploy-a-wordpress-s
image: deploy-wordpress-using-terraform-linode-stackscripts.png
---
-Linode's Terraform provider supports [StackScripts](/docs/products/tools/stackscripts/). StackScripts allow you to automate the deployment of custom software on top of Linode's default Linux distribution images or on any of your [saved custom images](/docs/products/tools/images/). You can create your own StackScripts, use a StackScript created by Linode, or use a Community StackScript.
+Linode's Terraform provider supports [StackScripts](https://techdocs.akamai.com/cloud-computing/docs/stackscripts). StackScripts allow you to automate the deployment of custom software on top of Linode's default Linux distribution images or on any of your [saved custom images](https://techdocs.akamai.com/cloud-computing/docs/images). You can create your own StackScripts, use a StackScript created by Linode, or use a Community StackScript.
This guide covers how to use a Community StackScript to deploy WordPress on a Compute Instance using Terraform.
@@ -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](/docs/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.
@@ -34,9 +34,9 @@ Following this guide results in the creation of billable resources on your accou
The Linode Terraform Provider version 3.0.0 requires `terraform` version 1.0 or greater. See [Terraform's developer documentation](https://developer.hashicorp.com/terraform/language/v1.1.x/upgrade-guides/1-0) for guidance on upgrading to version 1.0.
{{< /note >}}
-1. Terraform requires an API access token. Follow the [Getting Started with the Linode API](/docs/products/tools/api/get-started/#get-an-access-token) guide to obtain one.
+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 one.
-1. If you have not already, [assign Linode's name servers](/docs/products/networking/dns-manager/guides/authoritative-name-servers/) to your domain at your domain name's registrar.
+1. If you have not already, [assign Linode's name servers](https://techdocs.akamai.com/cloud-computing/docs/configure-your-domains-authoritative-name-servers) to your domain at your domain name's registrar.
1. Browse the existing [StackScripts Library](https://www.linode.com/stackscripts/) to familiarize yourself with common tasks you can complete with existing StackScripts.
@@ -145,7 +145,7 @@ Let's take a closer look at each block in the configuration file:
`ssh_key = chomp(file("~/.ssh/id_rsa.pub"))` uses Terraform's built-in `file()` function to provide a local file path to the public SSH key's location. The `chomp()` built-in function removes trailing new lines from the SSH key.
{{< note >}}
- If you do not already have SSH keys, follow the steps in the *Create an Authentication Key-pair* section of the [Securing Your Server Guide](/docs/products/compute/compute-instances/guides/set-up-and-secure/#upload-ssh-key).
+ If you do not already have SSH keys, follow the steps in the *Create an Authentication Key-pair* section of the [Securing Your Server Guide](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#upload-ssh-key).
{{< /note >}}
1. The `random_string` resource can be used to create a random string of 32 characters. The `linode_instance` resource will use it to create a root user password:
@@ -186,7 +186,7 @@ Let's take a closer look at each block in the configuration file:
- To use an existing StackScript you must use the `stackscript_id` argument and provide a valid ID as a value. Every StackScript is assigned a unique ID upon creation. This guide uses the [WordPress on Ubuntu 20.04](https://cloud.linode.com/stackscripts/998743) StackScript adapted by the Linode user [hmorris](https://cloud.linode.com/stackscripts/community?query=username%3Ahmorris). This StackScript's ID will be assigned to a Terraform variable later in this guide.
- StackScripts support user defined data. A StackScript can use the [`UDF` tag](/docs/products/tools/stackscripts/guides/write-a-custom-script/#declare-user-defined-fields-udfs) to create a variable whose value must be provided by the user of the script. This allows users to customize the behavior of a StackScript on a per-deployment basis. Any required `UDF` variable can be defined using the `stackscript_data` argument.
+ StackScripts support user defined data. A StackScript can use the [`UDF` tag](https://techdocs.akamai.com/cloud-computing/docs/write-a-custom-script-for-use-with-stackscripts#declare-user-defined-fields-udfs) to create a variable whose value must be provided by the user of the script. This allows users to customize the behavior of a StackScript on a per-deployment basis. Any required `UDF` variable can be defined using the `stackscript_data` argument.
The StackScript is responsible for installing WordPress on your Compute Instance along with all other requirements, such as installing Apache, configuring Apache, configuring the Virtual Hosts file, and installing MySQL.
@@ -217,10 +217,10 @@ 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](/docs/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](/docs/products/networking/dns-manager/guides/create-domain/) for your domain.
+ The `linode_domain` resource creates a [domain zone](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) for your domain.
Each `linode_domain_record` resource retrieves the `linode_domain` resource's ID and assigns it to that record's `domain_id` argument. Each record's `target` argument retrieves the IP address from the Linode instance. Every `linode_instance` resource exposes [several attributes](https://www.terraform.io/docs/providers/linode/r/instance.html#attributes), including a Compute Instance's IPv4 address.
@@ -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](/docs/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](/docs/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-build-your-infrastructure-using-terraform-and-linode/index.md b/docs/guides/applications/configuration-management/terraform/how-to-build-your-infrastructure-using-terraform-and-linode/index.md
index 7660ac87734..33d5e1c826a 100644
--- a/docs/guides/applications/configuration-management/terraform/how-to-build-your-infrastructure-using-terraform-and-linode/index.md
+++ b/docs/guides/applications/configuration-management/terraform/how-to-build-your-infrastructure-using-terraform-and-linode/index.md
@@ -37,7 +37,7 @@ The examples in this guide were originally written to be compatible with [Terraf
- When following this guide, your Linux user may need sudo privileges in order to install supplementary software packages.
-- You need a personal access token for Linode's [v4 API](https://techdocs.akamai.com/linode-api/reference/api) to use with Terraform. Follow the [Getting Started with the Linode API](/docs/products/tools/api/get-started/#get-an-access-token) to get a token.
+- You need a personal access token for Linode's [v4 API](https://techdocs.akamai.com/linode-api/reference/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.
## Install Terraform
@@ -487,7 +487,7 @@ To solve these issues, Terraform allows you to declare variables and insert thos
Terraform allows you to change a server's name, size, or other attributes without needing to destroy and rebuild it. Terraform handles this through changes to the configuration files.
{{< note type="alert" >}}
-Changing the size of your Linode forces your server to be powered off and migrated to a different host in the same data center. The associated disk migration takes approximately 1 minute for every 3-5 gigabytes of data. See our [Resizing a Linode](/docs/products/compute/compute-instances/guides/resize/) guide for more information.
+Changing the size of your Linode forces your server to be powered off and migrated to a different host in the same data center. The associated disk migration takes approximately 1 minute for every 3-5 gigabytes of data. See our [Resizing a Linode](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) guide for more information.
{{< /note >}}
1. Modify `linode-terraform-template.tf` and update the `type` value to `g6-standard-4` for the `terraform-db` resource.
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 3eaedde952f..85e9078f58b 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
@@ -16,23 +16,23 @@ aliases: ['/applications/configuration-management/terraform/how-to-deploy-secure
Terraform modules allow you to better organize your configuration code and to distribute and reuse it. You can host your Terraform modules on remote version control services, like GitHub, for others to use. The Terraform Module Registry hosts community modules that you can reuse for your own Terraform configurations, or you can publish your own modules for consumption by the Terraform community.
-In this guide, you will create a Linode Firewalls module which declares commonly used Cloud Firewall configurations. You will then use the module to create a Linode instance and assign the Linode to the Cloud Firewall. You can adopt the example configurations in this guide to create your own reusable Cloud Firewall configurations. For more information on Cloud Firewalls, see the [Cloud Firewalls documentation](/docs/products/networking/cloud-firewall/).
+In this guide, you will create a Linode Firewalls module which declares commonly used Cloud Firewall configurations. You will then use the module to create a Linode instance and assign the Linode to the Cloud Firewall. You can adopt the example configurations in this guide to create your own reusable Cloud Firewall configurations. For more information on Cloud Firewalls, see the [Cloud Firewalls documentation](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall).
## Before You Begin
-1. If you are new to Terraform, read through our [A Beginner's Guide to Terraform](/docs/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](/docs/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](/docs/products/platform/accounts/guides/manage-api-tokens/) guide for steps to create a token.
+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.
{{< note respectIndent=false >}}
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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 6759d55bcbe..23df2c0ffe3 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,17 +27,17 @@ 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](/docs/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](/docs/guides/beginners-guide-to-kubernetes-part-1-introduction/) series. Read through [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/docs/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](/docs/products/tools/api/get-started/#get-an-access-token) to get a token.
+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.
{{< note >}}
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](/docs/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](/docs/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:
@@ -88,7 +88,7 @@ By default, Terraform uses the SSH agent of the operating system to connect to a
Agent pid 11308
{{ output >}}
-2. Add the SSH keys to the agent. For more information, see [creating an authentication key-pair](/docs/products/compute/compute-instances/guides/set-up-and-secure/#upload-ssh-key). This command adds keys from the default location, `~/.ssh/`
+2. Add the SSH keys to the agent. For more information, see [creating an authentication key-pair](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#upload-ssh-key). This command adds keys from the default location, `~/.ssh/`
ssh-add
@@ -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](/docs/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" {
}
{{ file >}}
- 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](/docs/guides/beginners-guide-to-terraform/#input-variables) section in the [A Beginner's Guide to Terraform](/docs/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](/docs/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 2898c858db3..a831357c6bc 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
@@ -24,7 +24,7 @@ external_resources:
- '[Linode Object Storage Objects documentation](https://registry.terraform.io/providers/linode/linode/latest/docs/resources/object_storage_object)'
---
-[Terraform](https://www.terraform.io/) is a powerful *Infrastructure as Code* (IaC) application for deploying and managing infrastructure. It can be used to add, modify, and delete resources including servers, networking elements, and storage objects. Linode has partnered with Terraform to provide an API to configure common Linode infrastructure items. This guide provides a brief introduction to Terraform and explains how to use it to create [Linode Object Storage](/docs/products/storage/object-storage/) solutions.
+[Terraform](https://www.terraform.io/) is a powerful *Infrastructure as Code* (IaC) application for deploying and managing infrastructure. It can be used to add, modify, and delete resources including servers, networking elements, and storage objects. Linode has partnered with Terraform to provide an API to configure common Linode infrastructure items. This guide provides a brief introduction to Terraform and explains how to use it to create [Linode Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage) solutions.
## What is Terraform?
@@ -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](/docs/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,14 +47,14 @@ 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](/docs/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](/docs/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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 all Linode servers are updated. The following commands can be used to update Ubuntu systems.
@@ -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](/docs/guides/linux-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
@@ -180,10 +180,10 @@ 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](/docs/products/tools/api/get-started/#get-an-access-token) for more information about tokens.
+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](/docs/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"}
@@ -195,7 +195,7 @@ To hide sensitive information, such as API tokens, declare a `variables.tf` file
1. Create a `linode_object_storage_cluster` data source. In the following code sample, the new cluster object is named `primary`. Designate a region for the cluster using the `id` attribute. In the following example, the region is `eu-central-1`. The cluster object provides access to the domain, status, and region of the cluster. See the Terraform registry documentation for the [Linode Object Storage Cluster data source](https://registry.terraform.io/providers/linode/linode/latest/docs/data-sources/object_storage_cluster) for more information.
{{< note respectIndent=false >}}
-Not all regions support storage clusters. For a full list of all data centers where a storage cluster can be configured, see the Linode [Object Storage Product Information](/docs/products/storage/object-storage/).
+Not all regions support storage clusters. For a full list of all data centers where a storage cluster can be configured, see the Linode [Object Storage Product Information](https://techdocs.akamai.com/cloud-computing/docs/object-storage).
{{< /note >}}
```file {title="/terraform/linode-terraform-storage.tf" lang="aconf" linenostart="14"}
@@ -474,10 +474,10 @@ 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](/docs/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
Terraform is a powerful and efficient *Infrastructure as Code* (IaC) application. It automates the process of deploying infrastructure. To use Terraform, use the HCL or JSON formats to describe the final state of the network. Use the `terraform plan` command from the Terraform client to preview the changes and `terraform apply` to deploy the configuration.
-The [Linode Provider](https://registry.terraform.io/providers/linode/linode/latest) includes an API for configuring [Linode Object Storage infrastructure](/docs/products/storage/object-storage/). First declare the Linode provider and the [Linode Object Storage Cluster](https://registry.terraform.io/providers/linode/linode/latest/docs/data-sources/object_storage_cluster) data source. Define the object storage infrastructure using [Linode object storage buckets](https://registry.terraform.io/providers/linode/linode/latest/docs/resources/object_storage_bucket), [object storage keys](https://registry.terraform.io/providers/linode/linode/latest/docs/resources/object_storage_key), and [object storage objects](https://registry.terraform.io/providers/linode/linode/latest/docs/resources/object_storage_object). The object storage objects are the files or strings of text to be stored. For more information on using Terraform, consult the [Terraform documentation](https://developer.hashicorp.com/terraform/docs).
\ No newline at end of file
+The [Linode Provider](https://registry.terraform.io/providers/linode/linode/latest) includes an API for configuring [Linode Object Storage infrastructure](https://techdocs.akamai.com/cloud-computing/docs/object-storage). First declare the Linode provider and the [Linode Object Storage Cluster](https://registry.terraform.io/providers/linode/linode/latest/docs/data-sources/object_storage_cluster) data source. Define the object storage infrastructure using [Linode object storage buckets](https://registry.terraform.io/providers/linode/linode/latest/docs/resources/object_storage_bucket), [object storage keys](https://registry.terraform.io/providers/linode/linode/latest/docs/resources/object_storage_key), and [object storage objects](https://registry.terraform.io/providers/linode/linode/latest/docs/resources/object_storage_object). The object storage objects are the files or strings of text to be stored. For more information on using Terraform, consult the [Terraform documentation](https://developer.hashicorp.com/terraform/docs).
\ No newline at end of file
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 4ea8758a89b..ff17825adc7 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,11 +25,11 @@ 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](/docs/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](/docs/products/tools/api/get-started/#get-an-access-token) 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.
-3. This guide uses the Linode CLI to retrieve information about the Linode infrastructure you import to Terraform. For more information on the setup, installation, and usage of the Linode CLI, check out the [Using the Linode CLI](/docs/products/tools/cli/get-started/) guide.
+3. This guide uses the Linode CLI to retrieve information about the Linode infrastructure you import to Terraform. For more information on the setup, installation, and usage of the Linode CLI, check out the [Using the Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli) guide.
## Terraform's Import Command
@@ -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](/docs/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.
@@ -251,11 +251,11 @@ resource "linode_instance" "example_label" {
{{ file >}}
{{< note respectIndent=false >}}
-If your Linode uses more than two disks (for instance, if you have attached a [Block Storage Volume](/docs/products/storage/block-storage/)), you need to add those disks to your Linode resource configuration block. In order to add a disk, you must add the disk to the `devices` stanza and create an additional `disk` stanza.
+If your Linode uses more than two disks (for instance, if you have attached a [Block Storage Volume](https://techdocs.akamai.com/cloud-computing/docs/block-storage)), you need to add those disks to your Linode resource configuration block. In order to add a disk, you must add the disk to the `devices` stanza and create an additional `disk` stanza.
{{< /note >}}
{{< note respectIndent=false >}}
-If you have more than one [configuration profile](/docs/products/compute/compute-instances/guides/configuration-profiles/), you must choose which profile to boot from with the `boot_config_label` key. For example:
+If you have more than one [configuration profile](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance), you must choose which profile to boot from with the `boot_config_label` key. For example:
resource "linode_instance" "example_label" {
boot_config_label = "My Debian 9 Disk Profile"
@@ -306,7 +306,7 @@ If you have more than one [configuration profile](/docs/products/compute/compute
### Create an Empty Resource Configuration
-1. Ensure you are in your [Terraform project directory](/docs/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](/docs/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" {
@@ -635,7 +635,7 @@ Though it is not required, it's a good idea to include a configuration for the s
## Import a NodeBalancer to Terraform
-Configuring [Linode NodeBalancers](/docs/products/networking/nodebalancers/get-started/) with Terraform requires three separate resource configuration blocks: one to create the NodeBalancer, a second for the NodeBalancer Configuration, and a third for the NodeBalancer Nodes.
+Configuring [Linode NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers) with Terraform requires three separate resource configuration blocks: one to create the NodeBalancer, a second for the NodeBalancer Configuration, and a third for the NodeBalancer Nodes.
### Retrieve Your NodeBalancer, NodeBalancer Config, NodeBalancer Node IDs
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 30d2e2ccea2..d41d0aca585 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: ['/applications/configuration-management/test-kitchen-shortguide/']
## Try This Guide Using Test Kitchen
-To try this guide out locally, read the [Test Salt States Locally with KitchenSalt](/docs/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/vagrant/vagrant-linode-environments/index.md b/docs/guides/applications/configuration-management/vagrant/vagrant-linode-environments/index.md
index 0ade96024ce..7013486c995 100644
--- a/docs/guides/applications/configuration-management/vagrant/vagrant-linode-environments/index.md
+++ b/docs/guides/applications/configuration-management/vagrant/vagrant-linode-environments/index.md
@@ -77,7 +77,7 @@ end
All code will take place between the `Vagrant.configure` and `end` lines.
-2. When creating a *guest machine* -- the sever that will be created -- Vagrant will create a username, password, and private key to access the machine. The default username and password is `vagrant`. Define your own parameters for the `username`, and set the pathway to your own private key. If you have not generated a private and public key, you can do so by following the [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/#upload-ssh-key) guide:
+2. When creating a *guest machine* -- the sever that will be created -- Vagrant will create a username, password, and private key to access the machine. The default username and password is `vagrant`. Define your own parameters for the `username`, and set the pathway to your own private key. If you have not generated a private and public key, you can do so by following the [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#upload-ssh-key) guide:
{{< file "~/vagrant-linode/Vagrantfile" ruby >}}
Vagrant.configure('2') do |config|
@@ -146,7 +146,7 @@ end
## Set Up the Vagrant Box
-Although the server can now be created successfully, many aspects of it still need to be configured. Shell scripts will be used to complete the steps from the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and to install and configure Apache. Files will also be synced between the workstation and the Linode.
+Although the server can now be created successfully, many aspects of it still need to be configured. Shell scripts will be used to complete the steps from the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, and to install and configure Apache. Files will also be synced between the workstation and the Linode.
### Configure the Server
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 3f0fe267bb3..21d6f08bd4b 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
@@ -61,15 +61,15 @@ The configuration outlined in this guide is suitable for small deployments. In s
### Before you Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 >}}
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](/docs/guides/configure-firewall-with-ufw/) in order to install and configure a firewall on your Ubuntu or Debian-based system, or our [FirewallD Guide](/docs/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](/docs/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/access-an-apache-web-server-inside-a-lxd-container/index.md b/docs/guides/applications/containers/access-an-apache-web-server-inside-a-lxd-container/index.md
index 1b83097b0a6..266181ccf24 100644
--- a/docs/guides/applications/containers/access-an-apache-web-server-inside-a-lxd-container/index.md
+++ b/docs/guides/applications/containers/access-an-apache-web-server-inside-a-lxd-container/index.md
@@ -32,9 +32,9 @@ For simplicity, the term *container* is used throughout this guide to describe t
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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.
## Mount Storage Volume
@@ -42,7 +42,7 @@ When setting up LXD, you can either store container data in an [external volume]
### Block Storage Volume
-1. Follow the [View, Create, and Delete Block Storage Volumes](/docs/products/storage/block-storage/guides/manage-volumes/) guide and create a block storage volume with size *at least 20GB* and attach it to your Linode. Make a note of the device name and the path to the Volume.
+1. Follow the [View, Create, and Delete Block Storage Volumes](https://techdocs.akamai.com/cloud-computing/docs/manage-block-storage-volumes) guide and create a block storage volume with size *at least 20GB* and attach it to your Linode. Make a note of the device name and the path to the Volume.
{{< note type="alert" respectIndent=false >}}
**Do not** format the volume and do not add it to `/etc/fstab`.
@@ -50,7 +50,7 @@ When setting up LXD, you can either store container data in an [external volume]

-2. Edit your Configuration Profile and under **Boot Settings** select **GRUB 2** as your kernel. See [Run a Distribution-Supplied Kernel on a KVM Linode](/docs/products/compute/compute-instances/guides/manage-the-kernel/) for more information.
+2. Edit your Configuration Profile and under **Boot Settings** select **GRUB 2** as your kernel. See [Run a Distribution-Supplied Kernel on a KVM Linode](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) for more information.
3. Reboot your Linode from the Linode Manager.
@@ -61,7 +61,7 @@ When setting up LXD, you can either store container data in an [external volume]

{{< note respectIndent=false >}}
-If your Linode's distribution disk already has 100% of the available disk space allocated to it, you will need to resize the disk before you can create a storage disk. See [Resizing a Disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#resize-a-disk) for more information.
+If your Linode's distribution disk already has 100% of the available disk space allocated to it, you will need to resize the disk before you can create a storage disk. See [Resizing a Disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#resize-a-disk) for more information.
{{< /note >}}
2. Edit your Linode's Configuration Profile. Under **Block Device Assignment**, assign your new disk to `/dev/sdc`. Make a note of this path, which you will need when configuring LXD in the next section.
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 ec01057a3b2..eca476c3e08 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](/docs/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,12 +60,12 @@ 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](/docs/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 >}}
-2. This guide uses the hostnames `apache1.example.com` and `nginx1.example.com` for the two example websites. Replace these names with hostnames you own and setup their DNS entries to point them to the IP address of the server you created. For help with DNS see our [DNS Manager Guide](/docs/products/networking/dns-manager/).
+2. This guide uses the hostnames `apache1.example.com` and `nginx1.example.com` for the two example websites. Replace these names with hostnames you own and setup their DNS entries to point them to the IP address of the server you created. For help with DNS see our [DNS Manager Guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager).
## Creating the Containers
@@ -306,7 +306,7 @@ server {

{{< 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](/docs/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 90fbb221e73..bad9cd8c4c5 100644
--- a/docs/guides/applications/containers/beginners-guide-to-lxd/index.md
+++ b/docs/guides/applications/containers/beginners-guide-to-lxd/index.md
@@ -36,9 +36,9 @@ For simplicity, the term *container* is used throughout this guide to describe t
## Before You Begin
-1. Complete the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. Select a Linode with at least 2GB of RAM memory, such as the Linode 2GB. Specify the Ubuntu 19.04 distribution. You may specify a different Linux distribution, as long as there is support for **snap packages (snapd)**; see the [More Information](#more-information) for more details.
+1. Complete the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. Select a Linode with at least 2GB of RAM memory, such as the Linode 2GB. Specify the Ubuntu 19.04 distribution. You may specify a different Linux distribution, as long as there is support for **snap packages (snapd)**; see the [More Information](#more-information) for more details.
-1. Follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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.
## Configure the Snap Package Support
@@ -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](/docs/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 273bdda0439..716ab225c24 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
@@ -54,22 +54,22 @@ First, you need to choose the right flavor of Quay for the kind of project you w
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. Use a minimum of a Linode 4 GB plan to create a Quay setup on CentOS Stream. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+1. If you have not already done so, create a Linode account and Compute Instance. Use a minimum of a Linode 4 GB plan to create a Quay setup on CentOS Stream. 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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](/docs/guides/linux-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 9cba7917882..f5f229cad66 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](/docs/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](/docs/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 4a80a81c956..4dfd560b100 100644
--- a/docs/guides/applications/containers/create-a-dagger-pipeline/index.md
+++ b/docs/guides/applications/containers/create-a-dagger-pipeline/index.md
@@ -54,14 +54,14 @@ For more background on Dagger, see the [Dagger Documentation](https://docs.dagge
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/guides/linux-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 a5d1371bfb0..0d066642fbf 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: ['/applications/containers/create-tag-and-upload-your-own-docker-image/
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](/docs/guides/installing-and-using-docker-on-ubuntu-and-debian/). For more information about Docker and containers, visit our [guides on Containers](/docs/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 853f8480cef..80d494844eb 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](/docs/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 b3a1585b6a5..3ce4cd648ac 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](/docs/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](/docs/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](/docs/guides/linux-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 14d180ab7b1..cce62845f0e 100644
--- a/docs/guides/applications/containers/deploying-microservices-with-docker/index.md
+++ b/docs/guides/applications/containers/deploying-microservices-with-docker/index.md
@@ -27,12 +27,12 @@ This guide shows how to build and deploy an example microservice using Docker an
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/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](/docs/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 c49741959f0..ed959c61ec3 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](/docs/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 4870cc0eb40..28f53323a7e 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](/docs/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 4f087068995..d255f351155 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,13 +16,13 @@ external_resources:
- '[Docker Docs](http://docs.docker.com/)'
---
-[Docker images](/docs/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](/docs/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](/docs/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
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide, create and update a Linode, and install Docker. Alternatively, you can quickly deploy an updated, Docker-enabled Linode with the [Docker Quick Deploy App](https://www.linode.com/marketplace/apps/linode/docker/).
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, create and update a Linode, and install Docker. Alternatively, you can quickly deploy an updated, Docker-enabled Linode with the [Docker Quick Deploy App](https://www.linode.com/marketplace/apps/linode/docker/).
-2. Ensure your Linode is secure by following our guide on [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/).
+2. Ensure your Linode is secure by following our guide on [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).
3. This guide assumes you are comfortable with using the Docker command-line interface (CLI). To learn more about the Docker CLI, check out their [documentation](https://docs.docker.com/engine/reference/commandline/cli/).
@@ -156,7 +156,7 @@ When deploying containers with port configurations, Docker may also create host
## Further Reading
-This guide and [How to Use a Dockerfile to Build a Docker Image](/docs/guides/how-to-use-dockerfiles) covered the basics of using Dockerfiles to build images and containers, but they barely scratch the surface of what you can accomplish with Docker. For more information:
+This guide and [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles) covered the basics of using Dockerfiles to build images and containers, but they barely scratch the surface of what you can accomplish with Docker. For more information:
- visit the official [Dockerfile Best Practices](https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/) documentation for more on Dockerfiles;
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 903ab706cf5..28d48897c4d 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
@@ -22,12 +22,12 @@ aliases: ['/applications/containers/how-to-create-a-docker-swarm-manager-and-nod
1. Completing this guide will require at least two Linodes located in the same data center. The instructions in this guide were written for Ubuntu 16.04, but other distributions can be used; the Linodes do not need to use the same distribution.
-1. Follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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.
@@ -40,7 +40,7 @@ The Docker Swarm Manager’s purpose is to receive commands on behalf of the clu
In this guide, we create a single Swarm Manager. If your goal is high-availability, you can create multiple managers.
-1. Log in to the Linode you've chosen for Swarm manager and initialize the manager. Replace `PUBLIC_IP` in this example with your Linode's [public IP address](/docs/products/compute/compute-instances/guides/manual-network-configuration/):
+1. Log in to the Linode you've chosen for Swarm manager and initialize the manager. Replace `PUBLIC_IP` in this example with your Linode's [public IP address](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance):
docker swarm init --advertise-addr PUBLIC_IP
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 57db13388d2..5ad0ab937a2 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

-2. Update the original image with `docker pull nginx` as shown in the [How to Install Docker and Pull Images for Container Deployment](/docs/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:

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 a9663199759..2a9a11cd9aa 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
@@ -21,7 +21,7 @@ Docker is a container platform for applications. With Docker, users can download

-*If you are familiar with Docker containers, also try [Linode Images](/docs/products/tools/images/) to capture and deploy larger system profiles.*
+*If you are familiar with Docker containers, also try [Linode Images](https://techdocs.akamai.com/cloud-computing/docs/images) to capture and deploy larger system profiles.*
## Install Prerequisites
Due to a [known issue](https://github.com/docker/docker/issues/23347) with the dependencies of the docker .deb, installing docker on a Debian/Ubuntu VM requires an additional step:
@@ -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](/docs/guides/run-a-distributionsupplied-kernel-with-pvgrub/) or [custom compiled](/docs/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](/docs/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-install-openvz-on-debian-9/index.md b/docs/guides/applications/containers/how-to-install-openvz-on-debian-9/index.md
index ff8a8fa70cc..3d4d32f5d98 100644
--- a/docs/guides/applications/containers/how-to-install-openvz-on-debian-9/index.md
+++ b/docs/guides/applications/containers/how-to-install-openvz-on-debian-9/index.md
@@ -23,14 +23,14 @@ OpenVZ is a software-based OS virtualization tool enabling the deployment, manag
### Before You Begin
-1. Working through this tutorial requires a root user account, and is written as if commands are issued as the root user. Readers choosing to use a limited user account will need to prefix commands with `sudo` where required. If you have yet to create a limited user account, follow the steps in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide.
+1. Working through this tutorial requires a root user account, and is written as if commands are issued as the root user. Readers choosing to use a limited user account will need to prefix commands with `sudo` where required. If you have yet to create a limited user account, follow 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.
2. The instructions in this guide were written for and tested on Debian 9 only. They are unlikely to work for other Debian or Ubuntu distributions.
3. Certain essential modifications to your Debian 9 system are required to run OpenVZ, including the removal and replacement of Systemd with SystemV, and the use of a custom Linux kernel. Before continuing, be certain that all software currently installed on the machine will be compatible with these changes.
{{< note respectIndent=false >}}
-Although not required, it is recommended to create a separate Ext4 filesystem partition for OpenVZ templates. By default, both the Debian 9 installer and the Linode Manager format newly created partitions with Ext4. For information on how to accomplish this configuration, follow the steps to create a disk in the [Managing Disks and Storage on a Linode](/docs/products/compute/compute-instances/guides/disks-and-storage/) guide.
+Although not required, it is recommended to create a separate Ext4 filesystem partition for OpenVZ templates. By default, both the Debian 9 installer and the Linode Manager format newly created partitions with Ext4. For information on how to accomplish this configuration, follow the steps to create a disk in the [Managing Disks and Storage on a Linode](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance) guide.
{{< /note >}}
### Optional: Create A Separate Partition For OpenVZ Templates
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 a858ec651c1..91a9d03d692 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
@@ -22,11 +22,11 @@ The [Elastic Stack](https://www.elastic.co/products) can monitor a variety of da
## Before you Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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 52a0a13d628..c1edc1809a7 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](/docs/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?
@@ -65,12 +65,12 @@ Some applications also require a *Dockerfile*. This file explains how to build a
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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
@@ -305,7 +305,7 @@ Docker Compose makes it easy to launch a project. Use the `docker compose up` co
⠿ Container wordpress-wordpress-1 S... 3.0s
```
-1. Test the application to ensure the Docker project is running correctly. Navigate to the IP address of the server, and append the port `:8000`, or alternatively use the address `http://ip_address:8000/wp-admin/install.php`. The WordPress installation page should appear. Choose the appropriate language and continue with the installation. Supply the user credentials and database details when prompted. See the Linode Guide on [How to Install WordPress on Ubuntu 22.04](/docs/guides/how-to-install-wordpress-ubuntu-22-04) for more details.
+1. Test the application to ensure the Docker project is running correctly. Navigate to the IP address of the server, and append the port `:8000`, or alternatively use the address `http://ip_address:8000/wp-admin/install.php`. The WordPress installation page should appear. Choose the appropriate language and continue with the installation. Supply the user credentials and database details when prompted. See the Linode Guide on [How to Install WordPress on Ubuntu 22.04](/cloud/guides/how-to-install-wordpress-ubuntu-22-04) for more details.

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 5f8d5eeff0b..d596a750a38 100644
--- a/docs/guides/applications/containers/how-to-use-dockerfiles/index.md
+++ b/docs/guides/applications/containers/how-to-use-dockerfiles/index.md
@@ -18,13 +18,13 @@ aliases: ['/applications/containers/how-to-use-dockerfiles/']
---

-A Dockerfile is a text file of instructions which are used to automate installation and configuration of a [Docker image](/docs/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
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide, create and update a Linode, and install Docker. Alternatively, you can quickly deploy an updated, Docker-enabled Linode with the [Docker Quick Deploy App](https://www.linode.com/marketplace/apps/linode/docker/).
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, create and update a Linode, and install Docker. Alternatively, you can quickly deploy an updated, Docker-enabled Linode with the [Docker Quick Deploy App](https://www.linode.com/marketplace/apps/linode/docker/).
-2. Ensure your Linode is secure by following our guide on [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/).
+2. Ensure your Linode is secure by following our guide on [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).
3. This guide assumes you are comfortable with using the Docker command-line interface (CLI). To learn more about the Docker CLI, check out their [documentation](https://docs.docker.com/engine/reference/commandline/cli/).
@@ -152,6 +152,6 @@ Congratulations! You've built your first Dockerfile and run your first Docker im
For more examples and information on using Dockerfiles with Docker images and containers, see:
-- our guide on [How to Use Docker Images, Containers, and Dockerfiles in Depth](/docs/guides/docker-images-containers-and-dockerfiles-in-depth);
+- our guide on [How to Use Docker Images, Containers, and Dockerfiles in Depth](/cloud/guides/docker-images-containers-and-dockerfiles-in-depth);
- Docker's [Dockerfile Best Practices](https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/).
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 f3999ccfeae..d552a2f2513 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
@@ -26,16 +26,16 @@ This guide covers installing the Docker Engine on various Linux distributions us
## Before You Begin
-1. Ensure you have command line access to a Linux server running a supported Linux distribution. If not, follow the [Getting Started](/docs/products/platform/get-started/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides to create a new Linode.
+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](/docs/guides/linux-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](/docs/guides/introduction-to-docker/)
- - [When and Why to Use Docker](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) or [Linux Users and Groups](/docs/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
-](/docs/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 49f95c98f67..e913a7f8721 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
@@ -28,16 +28,16 @@ This guide covers installing the Docker Engine on various Linux distributions us
## Before You Begin
-1. Ensure you have command line access to a Linux server running a supported Linux distribution. If not, follow the [Getting Started](/docs/products/platform/get-started/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides to create a new Linode.
+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](/docs/guides/linux-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](/docs/guides/introduction-to-docker/)
- - [When and Why to Use Docker](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) or [Linux Users and Groups](/docs/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
-](/docs/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 54499a39a77..d08b63fa054 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](/docs/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](/docs/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 ad6589ae775..2430e396859 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](/docs/guides/docker-commands-quick-reference-cheat-sheet/), our guide on [deploying a Node.js web server](/docs/guides/node-js-web-server-deployed-within-docker/), or the Linode [How to install Docker and deploy a LAMP Stack](/docs/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 e6a1610a546..f2fef92810b 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)](/docs/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](/docs/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](/docs/guides/how-to-monitor-containers-with-the-elastic-stack/) and time-series analysis with [Graphite and a Grafana Dashboard](/docs/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](/docs/guides/mongodb-introduction/), [MySQL](/docs/guides/an-overview-of-mysql/), [PostgreSQL](/docs/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 ee1bc2729db..1b1b43bcf6d 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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 ed8c521478c..9aa81949fc8 100644
--- a/docs/guides/applications/containers/remove-docker-resources/index.md
+++ b/docs/guides/applications/containers/remove-docker-resources/index.md
@@ -20,9 +20,9 @@ Learn in this guide how to clean up your Docker resources. Here, you can see how
## Before You Begin
-1. Familiarize yourself with our [Getting Started on the Linode Platform](/docs/products/platform/get-started/) guide, and complete the steps for setting your instance's hostname and timezone.
+1. Familiarize yourself with our [Getting Started on the Linode Platform](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, and complete the steps for setting your instance's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+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, harden SSH access, and remove unnecessary network services.
1. Update your system.
@@ -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](/docs/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](/docs/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 b4426845d43..cfacc5703e1 100644
--- a/docs/guides/applications/containers/running-commands-with-dockerized/index.md
+++ b/docs/guides/applications/containers/running-commands-with-dockerized/index.md
@@ -19,12 +19,12 @@ There are multiple separate applications that are named *Dockerized*, *Dockerize
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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 17020918a42..26b54e94137 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](/docs/marketplace-docs/guides/docker/). For the purposes of this guide, we recommend deploying the Docker Quick Deploy App with the [Docker Options](/docs/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
@@ -33,11 +33,11 @@ You can quickly set up a secure, updated Linode with the Docker Quick Deploy App
#### Manual Installation
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for updating your Linode.
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for updating your Linode.
-1. Complete the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account, harden SSH access and remove unnecessary network services.
+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](/docs/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 16b1688956c..29deed2c2a0 100644
--- a/docs/guides/applications/containers/understanding-docker-volumes/index.md
+++ b/docs/guides/applications/containers/understanding-docker-volumes/index.md
@@ -17,22 +17,22 @@ Files (and other data) stored within a Docker container does not persist if the
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 Docker on your system.
-1. This guide assumes you are comfortable using the Linux command-line. See [Using the terminal](/docs/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
-](/docs/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](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/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](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/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 59d5ba5ced8..7187f9b6072 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
@@ -35,10 +35,10 @@ Container Linux does not use a swap space, so while Linode's other distributions
### Filesystem/Boot Helpers
-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](/docs/products/compute/compute-instances/guides/systemd-networkd/) guide if you want to configure static and/or multiple IP addresses for your deployment.
+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](/docs/products/storage/backups/) is not available for Container Linux. You should back up your data and configurations using an [alternative backup method](/docs/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
@@ -49,7 +49,7 @@ The default user is the `core` user, so you must log in as `core` rather than `r
Container Linux has no package manager such as *apt* or *yum*, and in fact the operating system is not upgraded with individual package updates like most distributions. Instead, entire [system updates](https://coreos.com/why#updates) are pushed to the distribution and the system reboots in accordance with one of three [reboot strategies](https://coreos.com/os/docs/latest/update-strategies.html).
-The default configuration is to follow the *etcd-lock* strategy if [etcd](https://coreos.com/etcd/) is being used (such as if you are clustering Linodes running Container Linux). If not, the system will reboot immediately after applying the update. For the Linode to boot back up automatically, you will want [Lassie](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/) enabled in the Linode Manager.
+The default configuration is to follow the *etcd-lock* strategy if [etcd](https://coreos.com/etcd/) is being used (such as if you are clustering Linodes running Container Linux). If not, the system will reboot immediately after applying the update. For the Linode to boot back up automatically, you will want [Lassie](https://techdocs.akamai.com/cloud-computing/docs/recover-from-unexpected-shutdowns-with-lassie) enabled in the Linode Manager.
If you find an update has undesirable effects, [roll back](https://coreos.com/os/docs/latest/manual-rollbacks.html) to the previous version you were using. Update checks will take place about 10 minutes after Container Linux boots and about every hour afterwards. Should you need to trigger a [manual update](https://coreos.com/os/docs/latest/update-strategies.html#manually-triggering-an-update), use:
@@ -57,7 +57,7 @@ If you find an update has undesirable effects, [roll back](https://coreos.com/os
## Recovery Mode
-Should you need to access your Container Linux disk using Rescue Mode, use the boot instructions shown in our [Rescue and Rebuild](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) guide. The root partition is located on `/dev/sda9`. To access it, enter:
+Should you need to access your Container Linux disk using Rescue Mode, use the boot instructions shown in our [Rescue and Rebuild](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) guide. The root partition is located on `/dev/sda9`. To access it, enter:
mount /dev/sda9 && cd /media/sda9
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 7154c3c3a83..a2a10620ec6 100644
--- a/docs/guides/applications/containers/using-buildah-oci-images/index.md
+++ b/docs/guides/applications/containers/using-buildah-oci-images/index.md
@@ -21,9 +21,9 @@ Learn how to install and start using Buildah in this tutorial. Below, find steps
## Before You Begin
-1. Familiarize yourself with our [Getting Started with Linode](/docs/products/platform/get-started/) guide, and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, and complete the steps for setting your Linode's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure 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.
1. Update your system.
@@ -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](/docs/guides/linux-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](/docs/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](/docs/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](/docs/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](/docs/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 8e34aaf4f68..ff98aff3cc1 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?](/docs/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](/docs/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](/docs/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](/docs/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
@@ -35,13 +35,13 @@ Follow the steps here to install Nomad manually. These walk through everything n
#### Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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.
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](/docs/guides/linux-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](/docs/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,13 +200,13 @@ 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](/docs/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.
Here's a rundown of what the Terraform script does:
-- Creates a given number of Nomad server and client nodes. All instances deploy within a single region and leverage [Linode's VLAN](/docs/products/networking/vlans/) feature for virtual private cloud (VPC) communications between nodes.
+- Creates a given number of Nomad server and client nodes. All instances deploy within a single region and leverage [Linode's VLAN](https://techdocs.akamai.com/cloud-computing/docs/vlan) feature for virtual private cloud (VPC) communications between nodes.
- Executes a script on each node to install Nomad, Consul, and Docker.
@@ -246,7 +246,7 @@ The configurations and commands used in this guide add multiple Linode instances
1. Open the `terraform.tfvars` file, and configure the variables there. Here is a breakdown of the variables and how to set them:
- - `token` needs your Linode API token. Terraform uses this to provision Linode instances. Follow our [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) guide to generate a personal access token. Be sure to give the token "Read/Write" permissions.
+ - `token` needs your Linode API token. Terraform uses this to provision Linode instances. Follow our [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) guide to generate a personal access token. Be sure to give the token "Read/Write" permissions.
- `ssh_keys` takes a list of SSH public keys. These keys are added to the known hosts on each node, allowing SSH access to the nodes. Enter the full public key for your local machine in one line.
@@ -254,14 +254,14 @@ The configurations and commands used in this guide add multiple Linode instances
- `server_count` and `client_count` dictate the number of Nomad server and client nodes to provision, respectively. Nomad recommends three or five server nodes for each region. This tutorial uses three server nodes and three client nodes.
- - `region` determines what Linode region the nodes should be created in. The full list of regions and their designations is available via the [Linode regions API](https://api.linode.com/v4/regions). However, this tutorial uses Linode's VLAN feature, which is only available for certain regions. Those regions are listed on the [VLAN Overview](/docs/products/networking/vlans/#availability) page.
+ - `region` determines what Linode region the nodes should be created in. The full list of regions and their designations is available via the [Linode regions API](https://api.linode.com/v4/regions). However, this tutorial uses Linode's VLAN feature, which is only available for certain regions. Those regions are listed on the [VLAN Overview](https://techdocs.akamai.com/cloud-computing/docs/vlan#availability) page.
- `linode_image` points to an image to use for each node. The default for this tutorial is an Ubuntu 20.04 LTS image. Find a list of possible images via the [Linode images API](https://api.linode.com/v4/images). Be aware that changing the image requires accordingly adjusting the scripts for installing Consul, Nomad, and Docker.
- `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](/docs/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](/docs/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 83832ab64e9..5e71665c40f 100644
--- a/docs/guides/applications/containers/using-podman/index.md
+++ b/docs/guides/applications/containers/using-podman/index.md
@@ -17,15 +17,15 @@ 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](/docs/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.
## Before You Begin
-1. Familiarize yourself with our [Getting Started with Linode](/docs/products/platform/get-started/) guide, and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, and complete the steps for setting your Linode's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure 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.
1. Update your system.
@@ -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](/docs/guides/linux-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](/docs/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](/docs/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](/docs/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/what-is-docker/index.md b/docs/guides/applications/containers/what-is-docker/index.md
index 0b22c7072cf..a4d2ef3a274 100644
--- a/docs/guides/applications/containers/what-is-docker/index.md
+++ b/docs/guides/applications/containers/what-is-docker/index.md
@@ -12,7 +12,7 @@ aliases: ['/applications/containers/docker.md/','/applications/containers/what-i
deprecated: true
---
-Docker is an extensible, open-source engine powered by [Linux Containers](http://linuxcontainers.org/) that automates the deployment of applications as portable, lightweight, and self-sufficient containers. For purposes of this tutorial, we'll assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged in to your Linode as root via SSH.
+Docker is an extensible, open-source engine powered by [Linux Containers](http://linuxcontainers.org/) that automates the deployment of applications as portable, lightweight, and self-sufficient containers. For purposes of this tutorial, we'll 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), that your system is up to date, and that you've logged in to your Linode as root via SSH.
## Installation
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 54031257393..5f4afcc29dc 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: ['/applications/containers/when-and-why-to-use-docker/']
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](/docs/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 2810c8622da..86bd96ae097 100644
--- a/docs/guides/applications/marketplaces/installing-yunohost/index.md
+++ b/docs/guides/applications/marketplaces/installing-yunohost/index.md
@@ -18,14 +18,14 @@ This tutorial walks through installing YunoHost on a base Debian server and outl
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance running Debian 11 or higher. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+1. If you have not already done so, create a Linode account and Compute Instance running Debian 11 or higher. 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. Optionally, create a domain name and configure it with the Linode DNS Manager. See our [DNS Manager - Get Started](/docs/products/networking/dns-manager/get-started/) guide for instructions on adding a domain to Linode and using the Linode name servers with the domain registrar.
+1. Optionally, create a domain name and configure it with the Linode DNS Manager. See our [DNS Manager - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) guide for instructions on adding a domain to Linode and using the Linode name servers with the domain registrar.
- Be sure to also add an [A and AAA record](/docs/products/networking/dns-manager/guides/a-record/) pointing to the remote IP address of your Compute Instance.
+ 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](/docs/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 154583015e2..90dc9b36b13 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
@@ -20,16 +20,16 @@ In this guide you complete the following:
## Before you Begin
-1. If you have not set up your Linode yet, check out our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode’s hostname and timezone.
+1. If you have not set up your Linode yet, check out 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 up with our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account with `sudo` privileges.
+2. Follow up with 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.
3. Run the following command to upgrade your packages:
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](/docs/guides/linux-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

-- Media can be added to individual folders from inside your Linode using various [file transfer tools](/docs/guides/tools-reference/file-transfer/) and [download methods](/docs/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.

@@ -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](/docs/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 b51ac841355..a37c09ca8bd 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
@@ -19,7 +19,7 @@ dedicated_cpu_link: true

-SHOUTcast is software designed for streaming media over the internet. The SHOUTcast system uses a classic client-server configuration. You can install SHOUTcast on your server and use it to broadcast a stream of music to clients connected to the server. A Shoutcast media server could benefit from large amounts of disk space, so consider using our [Block Storage](/docs/products/storage/block-storage/) service with this setup.
+SHOUTcast is software designed for streaming media over the internet. The SHOUTcast system uses a classic client-server configuration. You can install SHOUTcast on your server and use it to broadcast a stream of music to clients connected to the server. A Shoutcast media 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 >}}
Be sure to [check the broadcast tools download page](http://www.shoutcast.com/broadcast-tools) for the newest version of SHOUTcast.
@@ -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](/docs/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-centos-7/index.md b/docs/guides/applications/media-servers/install-plex-media-server-on-centos-7/index.md
index 9d71a618c44..bbe6b766a79 100644
--- a/docs/guides/applications/media-servers/install-plex-media-server-on-centos-7/index.md
+++ b/docs/guides/applications/media-servers/install-plex-media-server-on-centos-7/index.md
@@ -22,16 +22,16 @@ aliases: ['/applications/media-servers/install-plex-media-server-on-centos-7/']
[Plex](https://www.plex.tv/) is a feature-rich media library platform that allows you to organize and stream your digital video and audio from virtually anywhere. Basic Plex features are [free](https://support.plex.tv/articles/202526943-plex-free-vs-paid/), while the paid Plex Pass adds additional features.
-This guide demonstrates how to set up **Plex Media Server** on a Linode running CentOS 7, and how to connect client devices. A Plex media server could benefit from large amounts of disk space, so consider using Linode's [Block Storage](/docs/products/storage/block-storage/) service with this setup.
+This guide demonstrates how to set up **Plex Media Server** on a Linode running CentOS 7, and how to connect client devices. A Plex media server could benefit from large amounts of disk space, so consider using Linode's [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) service with this setup.

## Before you Begin
-- You will need root access to your Linode, or a [limited user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) with `sudo` privilege.
+- You will need root access to your Linode, or a [limited user account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) with `sudo` privilege.
-- Set your system's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) and [time zone](/docs/products/compute/compute-instances/guides/set-up-and-secure/#set-the-timezone).
+- Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) and [time zone](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#set-the-timezone).
- Plex requires that you create an [account](https://www.plex.tv/features/) to make use of the service, and provides additional features such as DVR capability and offline viewing if you pay for their premium [Plex Pass](https://www.plex.tv/features/plex-pass/) offering. To complete this guide, you will need a Plex account.
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 3a2678ec3c1..469bccef940 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
@@ -21,19 +21,19 @@ relations:
- distribution: Ubuntu 18.04
---
-[Plex](https://www.plex.tv/) is a feature-rich media library platform that allows you to organize and stream your digital video and audio from anywhere. This guide shows you how to set up the **Plex Media Server** on your Linode running Ubuntu 18.04 LTS, as well as how to connect to your media server from a [Plex client application](https://www.plex.tv/apps-devices/. A Plex media server could benefit from large amounts of disk space, so consider using our [Block Storage](/docs/products/storage/block-storage/) service with this setup.
+[Plex](https://www.plex.tv/) is a feature-rich media library platform that allows you to organize and stream your digital video and audio from anywhere. This guide shows you how to set up the **Plex Media Server** on your Linode running Ubuntu 18.04 LTS, as well as how to connect to your media server from a [Plex client application](https://www.plex.tv/apps-devices/. A Plex media 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 >}}
-This guide is written for 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](/docs/guides/linux-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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. Create a [Plex account](https://www.plex.tv/). This is required to make use of the service, and provides additional features such as DVR capability and offline viewing if you pay for their premium [Plex Pass](https://www.plex.tv/features/plex-pass/). Purchasing a premium Plex Pass is optional.
@@ -47,7 +47,7 @@ This section shows you how to install the Plex Media Server on your Ubuntu 18.04

-1. [Connect to your Ubuntu 18.04 Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) and use `wget` to download the installer via the copied link. Replace the link with your selected distribution as shown in the example below:
+1. [Connect to your Ubuntu 18.04 Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) and use `wget` to download the installer via the copied link. Replace the link with your selected distribution as shown in the example below:
wget https://downloads.plex.tv/plex-media-server/1.14.1.5488-cc260c476/plexmediaserver_1.14.1.5488-cc260c476_amd64.deb
@@ -78,7 +78,7 @@ In this section, you complete your server setup and start adding media libraries

-1. Finally, [connect to your Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) to create the directories that store your Plex media. In the example, you create library directories for `movies` and `television` within a `plex-media` directory. These are located within your user's home directory (`/home/username/`):
+1. Finally, [connect to your Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) to create the directories that store your Plex media. In the example, you create library directories for `movies` and `television` within a `plex-media` directory. These are located within your user's home directory (`/home/username/`):
cd ~/
mkdir -p plex-media/movies && mkdir plex-media/television
@@ -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)](/docs/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 85bce08ef24..dff54d93826 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
@@ -22,20 +22,20 @@ Plex is a media server that allows you to stream video and audio content that yo
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+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.
-1. Follow the steps in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide.
+1. Follow 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.
1. Update your system:
sudo apt-get update && sudo apt-get upgrade
-2. You will need to create a Block Storage Volume and attach it to your Linode. You will format and mount the drive as part of this guide. This volume will be used to store your media, so you should pick a size that's appropriate for your media collection, though you can resize the volume later if you need more storage. For more on Block Storage, see our [Block Storage Overview](/docs/products/storage/block-storage/) guide.
+2. You will need to create a Block Storage Volume and attach it to your Linode. You will format and mount the drive as part of this guide. This volume will be used to store your media, so you should pick a size that's appropriate for your media collection, though you can resize the volume later if you need more storage. For more on Block Storage, see our [Block Storage Overview](https://techdocs.akamai.com/cloud-computing/docs/block-storage) guide.
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](/docs/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
@@ -148,7 +148,7 @@ disk.format:
- group: plex
{{< /file >}}
- The directories that are created during this step are for organizational purposes, and will house your media. Make sure you replace `username` with the name of the limited user account you created when following the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. The location of the directories is the volume you mounted in the previous step. If you wish to add more directories, perhaps one for your music media, you can do so here, just be sure to include the `- require` block, as this prevents Salt from trying to create the directory before the Block Storage Volume has been mounted.
+ The directories that are created during this step are for organizational purposes, and will house your media. Make sure you replace `username` with the name of the limited user account you created when following the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. The location of the directories is the volume you mounted in the previous step. If you wish to add more directories, perhaps one for your music media, you can do so here, just be sure to include the `- require` block, as this prevents Salt from trying to create the directory before the Block Storage Volume has been mounted.
1. Go to the [Plex Media Server download page](https://www.plex.tv/media-server-downloads/#plex-media-server) and note the most recent version of their Linux distribution. At the time of writing, the most recent version is `1.13.9.5456-ecd600442`. Create the `plex.sls` Pillar file in `/srv/pillar` and change the Plex version number and the name of your Block Storage Volume as necessary:
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 c58a4fa7c27..4383fb5e093 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
@@ -22,7 +22,7 @@ dedicated_cpu_link: true
[Subsonic](http://subsonic.org) is an easy-to-use media streaming service with a user-friendly interface and the ability to share music and video with multiple users. It is highly customizable and includes features such as Chromecast support and file conversion.
-This guide shows how to set up Subsonic on a Linode running Debian or Ubuntu. If you have a large music library, consider attaching a [Block Storage Volume](/docs/products/storage/block-storage/) to your Linode to store your music files.
+This guide shows how to set up Subsonic on a Linode running Debian or Ubuntu. If you have a large music library, consider attaching a [Block Storage Volume](https://techdocs.akamai.com/cloud-computing/docs/block-storage) to your Linode to store your music files.
## Install Java
@@ -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](/docs/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 ccab7eb3645..ee7b28046a8 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
@@ -18,14 +18,14 @@ This guide shows you how to use Docker Compose to install LiveKit on a Compute I
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/guides/linux-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
@@ -66,7 +66,7 @@ Prior to deploying the LiveKit server, you must configure domain names for the L
- For the LiveKit server, use `livekit.{{< placeholder "example.com" >}}`.
- For the TURN server, use `livekit-turn.{{< placeholder "example.com" >}}`. This is bundled with LiveKit to help manage traffic.
-Your DNS records can be setup using the [DNS Manager](/docs/products/networking/dns-manager/get-started/) in Cloud Manager. Follow the linked guide to add your domain (e.g. {{< placeholder "example.com" >}}) and create A records for the `livekit` and `livekit-turn` subdomains.
+Your DNS records can be setup using the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) in Cloud Manager. Follow the linked guide to add your domain (e.g. {{< placeholder "example.com" >}}) and create A records for the `livekit` and `livekit-turn` subdomains.
### LiveKit Server Setup
@@ -118,9 +118,9 @@ Your DNS records can be setup using the [DNS Manager](/docs/products/networking/
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](/docs/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](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/)
+ 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 >}}
1. Navigate into the newly created `livekit.{{< placeholder "example.com" >}}` directory, replacing {{< placeholder "example.com" >}} with your domain:
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 947e0d40124..d64a11f6dc7 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
@@ -34,12 +34,12 @@ This guide discusses how to configure an RTMP streaming server, and how to use o
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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 68623cc1cf0..80051c3bef0 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,13 +24,13 @@ 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](/docs/guides/install-plex-media-server-on-ubuntu-18-04/) if it is not already installed. After installation, follow the steps in the [Configuring Plex](/docs/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.
## Attach a Block Storage Volume to a Linode
-1. Create a Block Storage Volume and attach it to the Linode running Plex Media Server. See [View, Create, and Delete Block Storage Volumes](/docs/products/storage/block-storage/guides/manage-volumes/) for instructions on how to do this from the Linode Manager.
+1. Create a Block Storage Volume and attach it to the Linode running Plex Media Server. See [View, Create, and Delete Block Storage Volumes](https://techdocs.akamai.com/cloud-computing/docs/manage-block-storage-volumes) for instructions on how to do this from the Linode Manager.
To use the Linode CLI, create a new Volume and attach it to a Linode. The command below creates a 20GB Volume with the label `plex-volume` and attaches to a Linode labeled `plex-linode`. Adjust the command as needed:
@@ -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](/docs/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 7969d09b89c..5c662b26c22 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](/docs/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 fa78601f0fc..111161fef8e 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](/docs/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](/docs/guides/linux-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 d8be3fd9262..1fe90114d5c 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
@@ -31,14 +31,14 @@ external_resources:
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/dns-overview/) and [DNS Manager](/docs/products/networking/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](/docs/guides/linux-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*](/docs/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](/docs/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.
@@ -79,7 +79,7 @@ The following sections describe each step in more detail.
- `element.example.com` (Element web client)
{{< note respectIndent=false >}}
-Throughout this section and the rest of the guide, replace `example.com` with your own domain name. See the guide for the Linode [DNS Manager](/docs/products/networking/dns-manager/) for more information on adding domains and DNS records.
+Throughout this section and the rest of the guide, replace `example.com` with your own domain name. See the guide for the Linode [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for more information on adding domains and DNS records.
{{< /note >}}
## Download and Install the Matrix-Synapse Communication Layer
@@ -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](/docs/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 1857eb75f33..db74b4f62ee 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
@@ -20,12 +20,12 @@ InspIRCd is a free and open-source IRC server application. It has been designed
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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 31cfdb9da78..d2baed8f4a4 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
@@ -41,17 +41,17 @@ Mastodon servers range in size from small private instances to massive public in
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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](/docs/guides/linux-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](/docs/guides/introduction-to-docker/)
-- [How to Use Docker Compose](/docs/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 99d8247372f..db0502986df 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
@@ -42,15 +42,15 @@ While Mastodon servers are privately-operated, they are often open to public reg
This guide will create a Mastodon server on a Linode running Ubuntu 16.04. Docker Compose is used to install Mastodon. If you prefer a different Linux distribution, you may be able to use this guide with small changes to the listed commands.
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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 respectIndent=false >}}
Consult Mastodon's [resource usage examples](https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Resources-needed.md) when considering which Linode plan to deploy on.
{{< /note >}}
-1. Follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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. 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](/docs/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](/docs/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](/docs/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](/docs/guides/introduction-to-docker/) and [How to Use Docker Compose](/docs/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](/docs/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 4f0ac8efa80..17dcd872a5b 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
@@ -41,15 +41,15 @@ Mastodon servers range in size from small private instances to massive public in
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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](/docs/guides/introduction-to-docker/)
-- [How to Use Docker Compose](/docs/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 ecca265cdf3..47c1047c657 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
@@ -38,17 +38,17 @@ Mastodon servers range in size from small private instances to massive public in
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/guides/introduction-to-docker/)
+- [Introduction to Docker](/cloud/guides/introduction-to-docker/)
-- [How to Use Docker Compose](/docs/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-openfire-on-ubuntu-12-04-for-instant-messaging/index.md b/docs/guides/applications/messaging/install-openfire-on-ubuntu-12-04-for-instant-messaging/index.md
index c1a9d51ce74..28a04cf4990 100644
--- a/docs/guides/applications/messaging/install-openfire-on-ubuntu-12-04-for-instant-messaging/index.md
+++ b/docs/guides/applications/messaging/install-openfire-on-ubuntu-12-04-for-instant-messaging/index.md
@@ -24,7 +24,7 @@ deprecated: true
[Openfire](http://www.igniterealtime.org/projects/openfire/) is an open-source real-time collaboration (instant messaging) server, built on the [XMPP protocol](http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) and available for multiple platforms. This guide will help you get started with Openfire on your Ubuntu 12.04 LTS (Precise Pangolin) Linode.
-If you haven't done so already, please follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as a root user via SSH.
+If you haven't done so already, please 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 before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as a root user via SSH.
## Prerequisites
@@ -98,7 +98,7 @@ This completes the initial installation steps for Openfire. Next, we'll continue
1. Direct your browser to your Linode's IP address, or FQDN (fully qualified domain name) if an entry in DNS points to your Linode's IP, on port 9090. As an example, if your Linode's IP address were `198.51.100.0`, you would visit `http://198.51.100.0:9090` in your web browser.
-2. Configure your domain and ports for administration. Use the FQDN you have assigned to your Linode in DNS. For more information: [configuring DNS with the Linode Manager](/docs/products/networking/dns-manager/).
+2. Configure your domain and ports for administration. Use the FQDN you have assigned to your Linode in DNS. For more information: [configuring DNS with the Linode Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager).
3. You may choose to use Openfire's internal database for account management, or you may connect to an external database. Most users will want to choose the built-in option.
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 727301692ea..c185273637a 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](/docs/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](/docs/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:
@@ -192,10 +192,10 @@ The instructions below require you to be logged into your instance as a user wit
With a reverse proxy in place, you can enable SSL encryption and secure the web traffic for your Rocket.Chat instance using [Certbot](https://certbot.eff.org/).
{{< note title="Domain Name" >}}
-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](/docs/products/networking/dns-manager/get-started/) guide.
+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](/docs/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:
@@ -260,8 +260,8 @@ 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](/docs/products/compute/kubernetes/get-started/).
-- Helm installed and configured on your local machine. See [Installing Apps on Kubernetes with Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-the-helm-client).
+- 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).
1. Once your LKE cluster is running and `kubectl` is configured, use the following `kubectl` command to view the cluster's context name:
@@ -329,9 +329,9 @@ 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](/docs/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](/docs/products/compute/kubernetes/guides/load-balancing/#configuring-linode-nodebalancers-for-tls-encryption) starting with the **Configuring NodeBalancers for TLS Encryption** 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.
## Getting Started With Rocket.Chat After Deployment
diff --git a/docs/guides/applications/messaging/install-znc-debian/index.md b/docs/guides/applications/messaging/install-znc-debian/index.md
index 097b8d55c60..9e673688d65 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: ['/applications/messaging/install-znc-debian/']
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](/docs/guides/linux-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
@@ -162,7 +162,7 @@ Make sure to change the `username` variable.
Once you've completed the configuration and launched ZNC, you can access the web interface by going to your Linode's IP address in your web browser. Be sure to specify the port you defined during the configuration script and prefix it with `https://` .
{{< note respectIndent=false >}}
-If the [Firewall portion](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) of the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide has been completed, add a line to `/etc/iptables.firewall.rules` allowing traffic to your IRC port.
+If the [Firewall portion](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) of the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide has been completed, add a line to `/etc/iptables.firewall.rules` allowing traffic to your IRC port.
{{< /note >}}
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 9c4b545ff2e..feca8e082bb 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,9 +18,9 @@ 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](/docs/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and have logged in via SSH as root.
+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.
## Adding Software Repositories
@@ -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,](/docs/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,](/docs/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 938c6168976..553a7016baa 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,9 +18,9 @@ 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](/docs/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and have logged in via SSH as root.
+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.
## Adding Software Repositories
@@ -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,](/docs/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,](/docs/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 f28edf0ca63..f66cf94a2b9 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](/docs/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/docs/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,](/docs/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,](/docs/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 dd3c95e411d..2cff86fa107 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,9 +22,9 @@ 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](/docs/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and have logged in via SSH as root.
+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.
## Adding Software Repositories
@@ -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,](/docs/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,](/docs/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 612a57be05a..a3099ccc76d 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,9 +18,9 @@ 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](/docs/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and have logged in via SSH as root.
+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.
## Adding Software Repositories
@@ -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,](/docs/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](/docs/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 85ffb692a3b..31cde666456 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,9 +18,9 @@ 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](/docs/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide and have logged in via SSH as root.
+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.
## Adding Software Repositories
@@ -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,](/docs/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,](/docs/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 c34f1aab082..ca21087d6bd 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,9 +18,9 @@ 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](/docs/guides/use-ejabberd-for-instant-messaging-on-ubuntu-12-04/) or [OpenFire](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide and have logged in via SSH as root.
+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.
## Adding Software Repositories
@@ -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](/docs/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,](/docs/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 d7e61c69845..e607d63cd18 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
@@ -18,18 +18,18 @@ Riot has been renamed to *Element*. You can read more about this name change on
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 >}}
-If you choose to configure a firewall, remember to open ports 80 and 443 for the server when you reach the [configure a firewall](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) section of the guide.
+If you choose to configure a firewall, remember to open ports 80 and 443 for the server when you reach 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.
{{< /note >}}
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](/docs/guides/linux-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](/docs/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 d0006197f90..7688545e382 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
@@ -24,11 +24,11 @@ This guide provides the steps to deploy Rocket.Chat on a Linode running Ubuntu 1
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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 b7229365b69..5324a33290f 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
@@ -24,7 +24,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, mostly 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.
-This installation process assumes that you have a working installation of CentOS 5.4, that you've followed the steps in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and that you are connected to your Linode via SSH as the root user. Once you've completed these requirements we can begin with the installation process.
+This installation process assumes that you have a working installation of CentOS 5.4, that you've followed 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, and that you are connected to your Linode via SSH as the root user. Once you've completed these requirements we can begin with the installation process.
## XMPP/Jabber Basics
@@ -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](/docs/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 1c1a0c90c35..67da281d4eb 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
@@ -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, mostly 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.
-This installation process assumes that you have a working installation of Debian 5 (Lenny), that you've followed the steps in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and that you are connected to your Linode via SSH as the root user. Once you've completed these requirements we can begin with the installation process.
+This installation process assumes that you have a working installation of Debian 5 (Lenny), that you've followed 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, and that you are connected to your Linode via SSH as the root user. Once you've completed these requirements we can begin with the installation process.
## 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](/docs/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 155780c1518..247a4ec56d3 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 643ef09b4d1..b3404d2a1d9 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
@@ -20,7 +20,7 @@ deprecated: true
Ejabberd is a Jabber daemon written in the Erlang programming language. It is extensible, flexible and very high performance. With a web-based interface, and broad support for [XMPP standards](http://xmpp.org/), ejabberd is a great choice for a multi-purpose XMPP server. Ejabberd can be considered "heavyweight" by critics, but mostly due to the requirements of the Erlang run-times. However, it is incredibly robust and can scale to support incredibly heavy loads: ejabberd servers are believed to be the backbone for some of the largest Jabber servers running now.
-This installation process assumes that you have a working installation of Ubuntu 8.04 (Hardy) and have followed the steps in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and now have an up to date instance of the Ubuntu Hardy operating system and are connected to your Linode via SSH and have root access. Once you've completed these requirements we can begin with the installation process.
+This installation process assumes that you have a working installation of Ubuntu 8.04 (Hardy) and have followed 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, and now have an up to date instance of the Ubuntu Hardy operating system and are connected to your Linode via SSH and have root access. Once you've completed these requirements we can begin with the installation process.
## 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](/docs/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 c78a4217bd9..9e03abfa8c0 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
@@ -20,7 +20,7 @@ deprecated: true
Ejabberd is a Jabber daemon written in the Erlang programming language. It is extensible, flexible and very high performance. With a web-based interface, and broad support for [XMPP standards](http://xmpp.org/), ejabberd is a great choice for a multi-purpose XMPP server. Ejabberd can be considered "heavyweight" by critics, because of the requirements of the Erlang run-times. However, it is incredibly robust and can scale to support incredibly heavy loads. Ejabberd servers are believed to be the backbone for some of the largest Jabber servers running now.
-This installation process assumes that you have a working installation of Ubuntu 9.04 (Jaunty), have followed the steps in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and now have an up to date instance of the Ubuntu Jaunty operating system. We also assume you are connected to your Linode via SSH as root. Once you've completed these requirements, we can begin with the installation process.
+This installation process assumes that you have a working installation of Ubuntu 9.04 (Jaunty), have followed 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, and now have an up to date instance of the Ubuntu Jaunty operating system. We also assume you are connected to your Linode via SSH as root. Once you've completed these requirements, we can begin with the installation process.
## 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](/docs/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 ea23f5964d3..9c7061aeee5 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
@@ -20,7 +20,7 @@ deprecated: true
Ejabberd is a Jabber daemon written in the Erlang programming language. It is extensible, flexible and very high performance. With a web-based interface, and broad support for [XMPP standards](http://xmpp.org/), ejabberd is a great choice for a multi-purpose XMPP server. Ejabberd can be considered "heavyweight" by critics, because of the requirements of the Erlang run-times. However, it is incredibly robust and can scale to support incredibly heavy loads. Ejabberd servers are believed to be the backbone for some of the largest Jabber servers running now.
-This installation process assumes that you have a working installation of Ubuntu 9.10 (Karmic), have followed the steps in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and now have an up to date instance of the Ubuntu Karmic operating system. We also assume you are connected to your Linode via SSH as root. Once you've completed these requirements, we can begin with the installation process.
+This installation process assumes that you have a working installation of Ubuntu 9.10 (Karmic), have followed 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, and now have an up to date instance of the Ubuntu Karmic operating system. We also assume you are connected to your Linode via SSH as root. Once you've completed these requirements, we can begin with the installation process.
## 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](/docs/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-openfire-on-centos-5/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-centos-5/index.md
index d4e50675e81..9948d8e421b 100644
--- a/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-centos-5/index.md
+++ b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-centos-5/index.md
@@ -24,7 +24,7 @@ deprecated: true
[Openfire](http://www.igniterealtime.org/projects/openfire/) is an open source real-time collaboration (instant messaging) server, built on the [XMPP protocol](http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) and available for multiple platforms. This guide will help you get started with Openfire on your CentOS 5 Linode.
-If you haven't done so already, please follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
+If you haven't done so already, please 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) before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
## Install Prerequisites
@@ -95,7 +95,7 @@ Direct your browser to your Linode's IP address or FQDN (fully qualified domain

-Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](/docs/products/networking/dns-manager/).
+Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager).

diff --git a/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-debian-5-lenny/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-debian-5-lenny/index.md
index e5da83d7052..f068043ae0c 100644
--- a/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-debian-5-lenny/index.md
+++ b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-debian-5-lenny/index.md
@@ -20,7 +20,7 @@ deprecated: true
[Openfire](http://www.igniterealtime.org/projects/openfire/) is an open source real-time collaboration (instant messaging) server, built on the [XMPP protocol](http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) and available for multiple platforms. This guide will help you get started with Openfire on your Debian 5 (Lenny) Linode.
-If you haven't done so already, please follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
+If you haven't done so already, please 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 before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
## Install Prerequisites
@@ -98,7 +98,7 @@ Direct your browser to your Linode's IP address or FQDN (fully qualified domain

-Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](/docs/products/networking/dns-manager/)).
+Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager)).

diff --git a/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-debian-6-squeeze/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-debian-6-squeeze/index.md
index 7354b62d634..c19772a4529 100644
--- a/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-debian-6-squeeze/index.md
+++ b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-debian-6-squeeze/index.md
@@ -20,11 +20,11 @@ deprecated: true
[Openfire](http://www.igniterealtime.org/projects/openfire/) is an open source real-time collaboration (instant messaging) server, built on the [XMPP protocol](http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) and available for multiple platforms. This guide will help you get started with Openfire on your Debian 6 (Squeeze) Linode.
-If you haven't done so already, please follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
+If you haven't done so already, please 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 before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -105,7 +105,7 @@ Before proceeding, reboot your Linode. Once it has come back online, direct your

-Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/)).
+Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations)).

diff --git a/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-10-04-lts-lucid/index.md
index 433d0a7dfac..26347030d13 100644
--- a/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-10-04-lts-lucid/index.md
+++ b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-10-04-lts-lucid/index.md
@@ -20,7 +20,7 @@ deprecated: true
[Openfire](http://www.igniterealtime.org/projects/openfire/) is an open source real-time collaboration (instant messaging) server, built on the [XMPP protocol](http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) and available for multiple platforms. This guide will help you get started with Openfire on your Ubuntu 10.04 LTS (Lucid) Linode.
-If you haven't done so already, please follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
+If you haven't done so already, please 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 before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
## Install Prerequisites
@@ -92,7 +92,7 @@ Direct your browser to your Linode's IP address or FQDN (fully qualified domain

-Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](/docs/products/networking/dns-manager/)).
+Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager)).

diff --git a/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-9-04-jaunty/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-9-04-jaunty/index.md
index 412aec0e68c..708ccbc5c87 100644
--- a/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-9-04-jaunty/index.md
+++ b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-9-04-jaunty/index.md
@@ -20,7 +20,7 @@ deprecated: true
[Openfire](http://www.igniterealtime.org/projects/openfire/) is an open source real-time collaboration (instant messaging) server, built on the [XMPP protocol](http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) and available for multiple platforms. This guide will help you get started with Openfire on your Ubuntu 9.04 (Jaunty) Linode.
-If you haven't done so already, please follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
+If you haven't done so already, please 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 before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
## Install Prerequisites
@@ -106,7 +106,7 @@ Direct your browser to your Linode's IP address or FQDN (fully qualified domain

-Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/)).
+Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations)).

diff --git a/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-9-10-karmic/index.md b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-9-10-karmic/index.md
index d854c6e1a77..f5826344dba 100644
--- a/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-9-10-karmic/index.md
+++ b/docs/guides/applications/messaging/instant-messaging-services-with-openfire-on-ubuntu-9-10-karmic/index.md
@@ -20,7 +20,7 @@ deprecated: true
[Openfire](http://www.igniterealtime.org/projects/openfire/) is an open source real-time collaboration (instant messaging) server, built on the [XMPP protocol](http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) and available for multiple platforms. This guide will help you get started with Openfire on your Ubuntu 9.10 (Karmic) Linode.
-If you haven't done so already, please follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
+If you haven't done so already, please 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 before following these instructions, and make sure your system is fully updated. Initial configuration steps will be performed through the terminal; please make sure you're logged into your Linode as root via SSH.
## Install Prerequisites
@@ -113,7 +113,7 @@ Direct your browser to your Linode's IP address or FQDN (fully qualified domain

-Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/)).
+Next, you'll be asked to configure your domain and ports for administration. Use the fully qualified domain name you have assigned to your Linode in DNS (more information: [configuring DNS with the Linode Manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations)).

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 d5f7a2f743b..f330326afae 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
@@ -20,12 +20,12 @@ This guide walks you through configuring a new or existing Mastodon instance to
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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?
@@ -36,7 +36,7 @@ If your Mastodon instance stays below a certain size and traffic level, these im
But object storage, by contrast, excels when it comes to storing static files — like Mastodon's media attachments. An Amazon S3-compatible object storage bucket can more readily store a large number of static files and scale appropriately.
-To learn more about the features of object storage generally and Linode Object Storage more particularly, take a look at our [Linode Object Storage overview](/docs/products/storage/object-storage/).
+To learn more about the features of object storage generally and Linode Object Storage more particularly, take a look at our [Linode Object Storage overview](https://techdocs.akamai.com/cloud-computing/docs/object-storage).
## How to Use Linode Object Storage with Mastodon
@@ -46,7 +46,7 @@ The tutorial gives instructions for creating a new Mastodon instance, but the in
### Creating the Linode Object Storage Bucket
-To get started, your Mastodon instance needs its own access key and bucket on your Linode Object Storage instance. Follow our [Object Storage - Get Started](/docs/products/storage/object-storage/get-started/) guide to generate the access key and create a bucket for Mastodon.
+To get started, your Mastodon instance needs its own access key and bucket on your Linode Object Storage instance. Follow our [Object Storage - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage) guide to generate the access key and create a bucket for Mastodon.
The access keys you generate will be used later within your Mastodon configuration, so keep them somewhere safe. The secret key generated at this time cannot be viewed later — you have to regenerate the keys if you lose them.
@@ -54,7 +54,7 @@ This tutorial uses the name `example-mastodon-bucket` for the Linode Object Stor
Additionally, this guide places the bucket in the Atlanta region, which has the region designation `us-southeast-1`. Likewise, replace this throughout the rest of the guide with your bucket's actual region designation. You can determine your bucket's region designation through the bucket's URL. The region designation is given between the bucket name and `linodeobjects.com`, as in `example-mastodon-bucket.us-southeast-1.linodeobjects.com`.
-You can learn more about creating and managing Linode Object Storage buckets through our guide [Create and Manage Buckets](/docs/products/storage/object-storage/guides/manage-buckets/).
+You can learn more about creating and managing Linode Object Storage buckets through our guide [Create and Manage Buckets](https://techdocs.akamai.com/cloud-computing/docs/create-and-manage-buckets).
### Installing 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](/docs/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](/docs/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](/docs/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](/docs/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 4658ddaf71c..6f26ae63d0c 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](/docs/marketplace-docs/guides/jitsi/) or our [Jitsi Cluster Quick Deploy App deployment](/docs/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
@@ -54,9 +54,9 @@ The following software and components must be installed and configured on your l
- The [virtualenv](https://virtualenv.pypa.io/en/latest/installation.html) Python library
-- A [Linode API access token](/docs/products/tools/api/get-started/#get-an-access-token)
+- A [Linode API access token](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token)
-- A configured [SSH key pair](/docs/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,11 +189,11 @@ 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](/docs/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
- - `subdomain` and `subdomain` (optional): If you have a FQDN, you can use these optional values to customize your Jitsi meet URL. If you choose to leave these blank, you can navigate to your Jitsi meet using the Jitsi meet instance's default rDNS value once the cluster is provisioned. See our guide on [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses) for how to find an instance's rDNS value.
+ - `subdomain` and `subdomain` (optional): If you have a FQDN, you can use these optional values to customize your Jitsi meet URL. If you choose to leave these blank, you can navigate to your Jitsi meet using the Jitsi meet instance's default rDNS value once the cluster is provisioned. See our guide on [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses) for how to find an instance's rDNS value.
```file {title="group_vars/jitsi/vars"}
ssh_keys:
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 17d049338ea..59959248357 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
@@ -23,7 +23,7 @@ deprecated: true
Ejabberd is a Jabber daemon written in the Erlang programming language. It is extensible, flexible and very high performance. With a web-based interface and broad support for [XMPP standards](http://xmpp.org/), ejabberd is a great choice for a multi-purpose XMPP server. Ejabberd can be considered "heavyweight" by critics because of the requirements of the Erlang run-times. However, it is incredibly robust and can scale to support incredibly heavy loads. Ejabberd servers are believed to be the backbone for some of the largest Jabber servers running now.
-This installation process assumes that you have a working installation of Ubuntu 12.04 (Precise Pangolin), have followed the steps in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and now have an up-to-date instance of the Ubuntu Precise Pangolin operating system. We also assume you are connected to your Linode via SSH as root. Once you've completed these requirements, we can begin with the installation process.
+This installation process assumes that you have a working installation of Ubuntu 12.04 (Precise Pangolin), have followed 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, and now have an up-to-date instance of the Ubuntu Precise Pangolin operating system. We also assume you are connected to your Linode via SSH as root. Once you've completed these requirements, we can begin with the installation process.
## XMPP/Jabber Basics
@@ -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](/docs/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 f07a16645b5..87ca0f727fe 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: ['/applications/messaging/using-irssi-for-internet-relay-chat/','/commu
external_resources:
- '[Irssi Project Home Page](http://www.irssi.org/)'
- '[Irssi Themes Page](http://irssi.org/themes/)'
- - '[Screen for Persistent Terminal Sessions](/docs/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](/docs/guides/advanced-irssi-usage/)'
+ - '[Advanced Irssi Usage](/cloud/guides/advanced-irssi-usage/)'
---

**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](/docs/guides/using-the-terminal/) and [Introduction to Linux Concepts](/docs/guides/introduction-to-linux-concepts/). Additionally, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) for information.
+- 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.
## 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](/docs/guides/advanced-irssi-usage/#use-plugins) section of the [Advanced Irssi Usage](/docs/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 25235c52ca7..9d66904035e 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](/docs/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: ['/applications/messaging/using-weechat-for-irc/']
---
[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](/docs/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](/docs/guides/using-the-terminal/) and [Linux System Administration Basics](/docs/guides/linux-system-administration-basics/), along with the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/).
+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?
@@ -38,17 +38,17 @@ A user is often represented as `nickname!username@host`.
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/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-create-a-private-python-package-repository/index.md b/docs/guides/applications/project-management/how-to-create-a-private-python-package-repository/index.md
index 4cce406eaa5..689429e9a05 100644
--- a/docs/guides/applications/project-management/how-to-create-a-private-python-package-repository/index.md
+++ b/docs/guides/applications/project-management/how-to-create-a-private-python-package-repository/index.md
@@ -28,7 +28,7 @@ Package management in Python is available through a variety of different program
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's timezone.
+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 timezone.
2. This guide assumes usage of Python 3 and a working installation of `pip` along with `setuptools`. Starting with Python 3.4, `pip` comes with the default installation. On Debian distributions, `pip` can be installed using the apt package manager with `sudo apt install python-pip`.
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 9e4c0f051ea..02f73cd53e0 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](/docs/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 2ac685096fc..e9761723b70 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
@@ -78,14 +78,14 @@ As an additional resource, community nodes and third-party integrations are avai
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. **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](/docs/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 54ad35171ef..3fd5a08602e 100644
--- a/docs/guides/applications/project-management/install-farmos/index.md
+++ b/docs/guides/applications/project-management/install-farmos/index.md
@@ -22,13 +22,13 @@ This guide explains how to install, setup and host your own farmOS web app on a
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for [setting your Linode's hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) and [timezone](/docs/products/compute/compute-instances/guides/set-up-and-secure/#set-the-timezone).
+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](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) and [timezone](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#set-the-timezone).
-1. Follow our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to [create a standard user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account), [harden SSH access](/docs/products/compute/compute-instances/guides/set-up-and-secure/#harden-ssh-access), and [create firewall rules](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) for your web server; you may need to make additional firewall exceptions for your specific application.
+1. Follow 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](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account), [harden SSH access](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#harden-ssh-access), and [create firewall rules](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) for your web server; you may need to make additional firewall exceptions for your specific application.
{{% content "limited-user-note-shortguide" %}}
-1. Install and configure a [LAMP stack on Ubuntu 20.04](/docs/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](/docs/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](/docs/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 >}}
@@ -105,7 +105,7 @@ Ensure that the version number matches the farmOS version you wish to download.
## Configure farmOS
-1. Go to your Linode's domain or [IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) in a web browser. This shows you the first step of the farmOS/Drupal web configuration.
+1. Go to your Linode's domain or [IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) in a web browser. This shows you the first step of the farmOS/Drupal web configuration.
1. The first screen you encounter asks you to choose a profile and a language:
@@ -127,7 +127,7 @@ Ensure that the version number matches the farmOS version you wish to download.

-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](/docs/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
@@ -146,7 +146,7 @@ After each user is created, use the **People** tab to verify success:
### Registering a Domain Name for farmOS
-To register a domain name (e.g., `yourfarm.com`), check out our guide on the [DNS Manager](/docs/products/networking/dns-manager/) and add your FQDN (e.g., `farmos.yourfarm.com`) to the Linode Manager. A FQDN provides you, and the people who plan on using farmOS, the ability to navigate to a URL instead of your Linode's public IP address. If you plan on using farmOS internally, you can skip this step.
+To register a domain name (e.g., `yourfarm.com`), check out our guide on the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) and add your FQDN (e.g., `farmos.yourfarm.com`) to the Linode Manager. A FQDN provides you, and the people who plan on using farmOS, the ability to navigate to a URL instead of your Linode's public IP address. If you plan on using farmOS internally, you can skip this step.
### Generate a Google API Key
diff --git a/docs/guides/applications/project-management/jupyter-notebook-on-jekyll/index.md b/docs/guides/applications/project-management/jupyter-notebook-on-jekyll/index.md
index d262d169694..5c0df662c09 100644
--- a/docs/guides/applications/project-management/jupyter-notebook-on-jekyll/index.md
+++ b/docs/guides/applications/project-management/jupyter-notebook-on-jekyll/index.md
@@ -23,9 +23,9 @@ This guide will take you through the process of installing Jekyll and configurin
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+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. This guide will use `sudo` wherever possible. Complete the appropriate sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account.
+2. This guide will use `sudo` wherever possible. Complete the appropriate 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.
3. Update your system:
diff --git a/docs/assets/705-init-nginx-deb.sh b/docs/guides/applications/project-management/manage-projects-with-redmine-on-debian-5-lenny/705-init-nginx-deb.sh
similarity index 100%
rename from docs/assets/705-init-nginx-deb.sh
rename to docs/guides/applications/project-management/manage-projects-with-redmine-on-debian-5-lenny/705-init-nginx-deb.sh
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 872bcd0b5a8..69911270904 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
@@ -20,7 +20,7 @@ deprecated: true
Redmine is a popular open source project management system. Written in Ruby on Rails, it gives teams the ability to track project objectives, integrates well with various source control systems, and includes customizable reporting functionality. This guide will help you install it on your Debian 5 (Lenny) Linode. We'll be using nginx with Phusion Passenger as the web server daemon for the site. If you already have the Apache web server installed, guidance will be provided for proxying incoming Redmine requests to nginx running on a different port.
-We assume you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Please make sure you're logged into your Linode as root via an SSH session before proceeding. Throughout this guide, we use the example domain "example.com"; please be sure to substitute your own domain name for each step.
+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). Please make sure you're logged into your Linode as root via an SSH session before proceeding. Throughout this guide, we use the example domain "example.com"; please be sure to substitute your own domain name for each step.
## Basic System Configuration
@@ -96,7 +96,7 @@ Please do **not** remove the Passenger files from `opt` after the install. They
Nginx is now installed in `/opt/nginx`, but we need a way of controlling it. Issue the following commands to download an "init" script to control the process, set permissions, and configure system startup links:
cd /opt/
- wget -O init-nginx-deb.sh http://www.linode.com/docs/assets/705-init-nginx-deb.sh
+ wget -O init-nginx-deb.sh 705-init-nginx-deb.sh
mv /opt/init-nginx-deb.sh /etc/init.d/nginx
chmod +x /etc/init.d/nginx
/usr/sbin/update-rc.d -f nginx defaults
@@ -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](/docs/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 4a8fb781e7c..8e0b1f137f7 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
@@ -18,11 +18,11 @@ relations:
deprecated: true
---
-This guide will help you install Redmine on your Debian 6 (Squeeze) Linode. It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Please make sure you're logged into your Linode as root via an SSH session before proceeding. Throughout this guide, the example domain "example.com" is used. Please be sure to replace it with your own domain name wherever it is found.
+This guide will help you install Redmine on your Debian 6 (Squeeze) Linode. 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). Please make sure you're logged into your Linode as root via an SSH session before proceeding. Throughout this guide, the example domain "example.com" is used. Please be sure to replace it with your own domain name wherever it is found.
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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 1cd2c820c96..736ef61d842 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
@@ -18,11 +18,11 @@ relations:
deprecated: true
---
-This guide will help you install Redmine on your Ubuntu 10.04 LTS (Lucid) Linode. It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Please make sure you're logged into your Linode as root via an SSH session before proceeding. Throughout this guide, the example domain "example.com" is used. Please be sure to replace it with your own domain name wherever it is found.
+This guide will help you install Redmine on your Ubuntu 10.04 LTS (Lucid) Linode. 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). Please make sure you're logged into your Linode as root via an SSH session before proceeding. Throughout this guide, the example domain "example.com" is used. Please be sure to replace it with your own domain name wherever it is found.
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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-11-04-natty/index.md b/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-11-04-natty/index.md
index 0ccc0c53e7f..bee209dd102 100644
--- a/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-11-04-natty/index.md
+++ b/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-11-04-natty/index.md
@@ -18,11 +18,11 @@ relations:
deprecated: true
---
-This guide will help you install Redmine on your Ubuntu 11.04 (Natty) Linode. It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Please make sure you're logged into your Linode as root via an SSH session before proceeding. Throughout this guide, the example domain "example.com" is used. Please be sure to replace it with your own domain name wherever it is found.
+This guide will help you install Redmine on your Ubuntu 11.04 (Natty) Linode. 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). Please make sure you're logged into your Linode as root via an SSH session before proceeding. Throughout this guide, the example domain "example.com" is used. Please be sure to replace it with your own domain name wherever it is found.
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
diff --git a/docs/assets/704-init-nginx-deb.sh b/docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-9-10-karmic/704-init-nginx-deb.sh
similarity index 100%
rename from docs/assets/704-init-nginx-deb.sh
rename to docs/guides/applications/project-management/manage-projects-with-redmine-on-ubuntu-9-10-karmic/704-init-nginx-deb.sh
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 3c76acc809b..05e66b1b2c2 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
@@ -20,11 +20,11 @@ deprecated: true
Redmine is a popular open source project management system. Written in Ruby on Rails, it gives teams the ability to track project objectives, integrates well with various source control systems, and includes customizable reporting functionality. This guide will help you install it on your Ubuntu 9.10 (Karmic) Linode. We'll be using nginx with Phusion Passenger as the web server daemon for the site. If you already have the Apache web server installed, guidance will be provided for proxying incoming Redmine requests to nginx running on a different port.
-We assume you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Please make sure you're logged into your Linode as root via an SSH session before proceeding. Throughout this guide, we use the example domain "example.com"; please be sure to substitute your own domain name for each step.
+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). Please make sure you're logged into your Linode as root via an SSH session before proceeding. Throughout this guide, we use the example domain "example.com"; please be sure to substitute your own domain name for each step.
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -113,7 +113,7 @@ Please do **not** remove the Passenger files from `opt` after the install. They
Nginx is now installed in `/opt/nginx`, but we need a way of controlling it. Issue the following commands to download an "init" script to control the process, set permissions, and configure system startup links:
cd /opt/
- wget -O init-nginx-deb.sh http://www.linode.com/docs/assets/704-init-nginx-deb.sh
+ wget -O init-nginx-deb.sh 704-init-nginx-deb.sh
mv /opt/init-nginx-deb.sh /etc/init.d/nginx
chmod +x /etc/init.d/nginx
/usr/sbin/update-rc.d -f nginx defaults
@@ -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](/docs/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 2db624c642d..15f1ac1e267 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
@@ -17,19 +17,19 @@ external_resources:
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. 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](/docs/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](/docs/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](/docs/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](/docs/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 b110362b33a..175562494a2 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/guides/linux-system-administration-basics/).Additionally, you will need install a [LAMP stack](/docs/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 73e49300e2e..f1405490ecd 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/guides/linux-system-administration-basics/). Additionally, you will need install a [LAMP stack](/docs/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](/docs/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 7a9e7d60275..fc9dec35f5a 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/guides/linux-system-administration-basics/). Additionally, you will need install a [LAMP stack](/docs/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 f52128f9b4e..d26a3d89fb6 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/guides/linux-system-administration-basics/). Additionally, you will need install a [LAMP stack](/docs/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](/docs/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/project-management/setting-up-taskwarrior-on-ubuntu-16-10/index.md b/docs/guides/applications/project-management/setting-up-taskwarrior-on-ubuntu-16-10/index.md
index c7134d16ac1..0d4ecd1d087 100644
--- a/docs/guides/applications/project-management/setting-up-taskwarrior-on-ubuntu-16-10/index.md
+++ b/docs/guides/applications/project-management/setting-up-taskwarrior-on-ubuntu-16-10/index.md
@@ -24,9 +24,9 @@ deprecated: true
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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.
## Install Taskwarrior
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 df7e7e43a77..6155ede2a9b 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
@@ -23,14 +23,14 @@ relations:
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. 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](/docs/guides/linux-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](/docs/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

-1. You are notified that the connection is unencrypted. However, the steps in the [Secure Your VNC Connection](/docs/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**.

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 0bb8fa88c09..06c362dae8f 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
@@ -31,12 +31,12 @@ This guide explains how to install a graphic desktop environment on your Linode
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/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:

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 d7c4ec25803..c37731080fa 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
@@ -31,12 +31,12 @@ This guide explains how to install a graphic desktop environment on your Linode
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/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:

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 be925e3599a..5598384d35d 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
@@ -27,12 +27,12 @@ This guide explains how to install a graphic desktop environment on your Linode
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/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:

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 f85b7f98cb0..847c4c0d670 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
@@ -15,17 +15,17 @@ external_resources:
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/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 ba01bcaf87e..411fe3919d2 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
@@ -15,12 +15,12 @@ external_resources:
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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 4dd1688574d..f08e04e601e 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](/docs/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](/docs/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 681988b18da..a2f6243763e 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](/docs/guides/linux-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 aaea276c5ce..cadf1b2aaa3 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](/docs/guides/linux-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 445f662eabd..77b19a11bd1 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](/docs/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 b74425d19c6..dfc17be7649 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](/docs/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:

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 08def99fd6a..fb1b1be56f1 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](/docs/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 b9f458d8b6f..ca3545ed2c5 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: ['/web-applications/social-networking/planet/debian-5-lenny/','/applications/social-networking/create-an-aggregate-blog-using-planet-on-debian-5-lenny/']
external_resources:
- '[The Planet''s Project''s Home Page](http://www.planetplanet.org)'
- - '[Using Cron to Schedule Tasks](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 ef909b73c6f..370c80b76a8 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: ['/web-applications/social-networking/planet/ubuntu-9-10-karmic/','/applications/social-networking/create-an-aggregate-blog-using-planet-on-ubuntu-9-10-karmic/']
external_resources:
- '[The Planet''s Project''s Home Page](http://www.planetplanet.org)'
- - '[Using Cron to Schedule Tasks](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 68ef69352f7..25e9194d45f 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: ['/web-applications/social-networking/planet/ubuntu-10-04-lucid/','/applications/social-networking/create-an-aggregate-blog-using-planet-venus-on-ubuntu-10-04-lucid/']
external_resources:
- '[Planet Venus GitHub Repo](https://github.com/rubys/venus)'
- - '[Using Cron to Schedule Tasks](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 1f8db304860..62866c68d4f 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: ['/web-applications/social-networking/planet/ubuntu-12-04-precise-pangolin/','/applications/social-networking/create-an-aggregate-blog-using-planet-venus-on-ubuntu-12-04-precise-pangolin/']
external_resources:
- '[Planet Venus GitHub Repo](https://github.com/rubys/venus)'
- - '[Using Cron to Schedule Tasks](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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](/docs/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 6de0facb97f..f127c49a1b3 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](/docs/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](/docs/email/postfix/). You should be able to use [send-only exim](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) and the [Firewall reference manuals](/docs/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](/docs/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
@@ -364,7 +364,7 @@ Dolphin comes with a free Media Server software (formerly Ray Media Server - RMS
20. If the start was successful, you can use the [Boonex Media Server Tester](http://www.boonex.com/rms.html) to verify that your RMS install is working properly. If you get "NetConnection.Connect.Success", everything is working.
{{< note>}}
- If you receive "NetConnection.Connect.Failed", make sure you have ports 1935 and 1936 open in your firewall. For more information, see the [Securing Your Server guide](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) and the [Firewall reference manuals](/docs/security/firewalls).
+ If you receive "NetConnection.Connect.Failed", make sure you have ports 1935 and 1936 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/security/firewalls).
{{< /note >}}
21. If your test was successful, hold Control and press C to stop `red5.sh`.
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 d65f5ac3a6e..d86b8aaa8c2 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
@@ -65,16 +65,16 @@ For more information about Hubzilla and its features, see the [Hubzilla Document
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. Assign a domain name for the Hubzilla hub and point it to the IP address of the server. For information on domain names and pointing a domain name to a Linode, see the [Linode DNS Manager guide](/docs/products/networking/dns-manager/).
+1. Assign a domain name for the Hubzilla hub and point it to the IP address of the server. For information on domain names and pointing a domain name to a Linode, see the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager).
-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](/docs/guides/email).
+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](/docs/guides/linux-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 d1cdf81903d..a917ce68a4c 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
@@ -45,16 +45,16 @@ For those users who do not want to use Collabora with Nextcloud, integration and
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. 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](/docs/products/networking/dns-manager/).
+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](/docs/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](/docs/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](/docs/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 f73ae5bb49e..40ccf091446 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
@@ -46,14 +46,14 @@ For more information about PeerTube, see the [PeerTube FAQ](https://joinpeertube
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. 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](/docs/products/networking/dns-manager/).
+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](/docs/guides/linux-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](/docs/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 488c9f672ec..a8433960b9f 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
@@ -43,16 +43,16 @@ For a more complete list of Pixelfed features, see the [Pixelfed features page](
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. Assign a domain name for the Pixelfed server and point it at the IP address of the server. For information on domain names and pointing a domain name to a Linode, see the [Linode DNS Manager guide](/docs/products/networking/dns-manager/).
+1. Assign a domain name for the Pixelfed server and point it at the IP address of the server. For information on domain names and pointing a domain name to a Linode, see the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager).
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](/docs/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](/docs/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 3241fadc2f9..dd07b69493a 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/guides/linux-system-administration-basics/). Furthermore, this guide presumes that you have installed the [Apache HTTP server](/docs/guides/apache-2-web-server-on-debian-5-lenny/) and the [MySQL database engine](/docs/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](/docs/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 2360695cf42..2be650fa158 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](/docs/guides/how-to-install-and-configure-drupal-8/), [Django](/docs/frameworks/), or [Ruby on Rails](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). You will also need to install a [LAMP stack](/docs/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](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/), but you can also [configure additional databases and user credentials](/docs/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](/docs/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 25f3f57a5d3..ce5cc87043e 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](/docs/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 62d5609a672..6efe7c6b743 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](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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](/docs/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](/docs/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.
@@ -124,11 +124,11 @@ You will now need to log in to the Linode Manager in order to change your Linode
1. Navigate to the **Dashboard** page of the Linode you are going to use for Asterisk.
2. Click the profile you are currently using and select **pv-grub-x86\_64** (or **pv-grub-x86\_32** if you are using a 32 bit system) from the kernel drop down.
3. Save this configuration profile. You may wish to change its name to indicate that this is no longer a default profile.
-4. Reboot your system to make sure that these changes are applied. You will need to do this before you can proceed. It is a good idea to watch the shutdown and reboot phases via [LISH](/docs/products/compute/compute-instances/guides/lish/) to see if there are any errors.
+4. Reboot your system to make sure that these changes are applied. You will need to do this before you can proceed. It is a good idea to watch the shutdown and reboot phases via [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) to see if there are any errors.
### Troubleshoot
-It's very important that you follow the steps outlined above carefully or your system may not boot. It is highly recommended that you watch the console during the shutdown and reboot phases via [LISH](/docs/products/compute/compute-instances/guides/lish/). If your Linode does not boot and you get an error, change your configuration profile back to the latest Paravirt kernel and read over this guide to make sure you have not missed any steps.
+It's very important that you follow the steps outlined above carefully or your system may not boot. It is highly recommended that you watch the console during the shutdown and reboot phases via [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). If your Linode does not boot and you get an error, change your configuration profile back to the latest Paravirt kernel and read over this guide to make sure you have not missed any steps.
## Install Asterisk
@@ -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](/docs/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 74bd8d5ab4f..f04fb7c4a35 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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](/docs/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](/docs/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
@@ -113,7 +113,7 @@ Reboot your system to make sure that these changes are applied. You will need to
### Troubleshooting
-It's very important that you follow the steps outlined above carefully or your system may not boot. It is highly recommended that you watch the console during the shutdown and reboot phases via [Lish](/docs/products/compute/compute-instances/guides/lish/). If your Linode does not boot and you get an error, change your configuration profile back to the latest Paravirt kernel and read over this guide to make sure you have not missed any steps.
+It's very important that you follow the steps outlined above carefully or your system may not boot. It is highly recommended that you watch the console during the shutdown and reboot phases via [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). If your Linode does not boot and you get an error, change your configuration profile back to the latest Paravirt kernel and read over this guide to make sure you have not missed any steps.
## Install the Dahdi Module
@@ -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](/docs/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 df49743eda3..c284efff0f6 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
@@ -21,16 +21,16 @@ deprecated: true
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+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. Complete the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access and remove unnecessary network services.
+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. Update your system.
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](/docs/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 86d4f33e16d..b4f94ee3d5e 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,20 +27,20 @@ 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](/docs/guides/linux-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. Create a CentOS 7 Linode in your closest data center. A 2GB Linode is enough to handle 10-20 concurrent calls using a non-compressed codec, depending on the processing required on each channel.
-1. Ensure you have followed the [Getting Started](/docs/products/platform/get-started/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides to prepare your Linode. **Do not** complete the steps to set up a firewall.
+1. Ensure you have followed 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 prepare your Linode. **Do not** complete the steps to set up a firewall.
1. Update your system:
sudo yum update
-1. Disable SELinux and reboot your Linode. If you have [Lassie](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/) enabled, your Linode is back up and running in a few minutes.
+1. Disable SELinux and reboot your Linode. If you have [Lassie](https://techdocs.akamai.com/cloud-computing/docs/recover-from-unexpected-shutdowns-with-lassie) enabled, your Linode is back up and running in a few minutes.
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
diff --git a/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-centos-7/index.md b/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-centos-7/index.md
index aef90a4833e..75d2ea8ef58 100644
--- a/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-centos-7/index.md
+++ b/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-centos-7/index.md
@@ -34,8 +34,8 @@ After completing this guide, you will have a single-node, production-ready insta
### Before You Begin
-1. Complete the [Getting Started](/docs/products/platform/get-started/) guide for setting up a new Linode.
-2. While it is recommended you complete the entire [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it will be necessary at least to possess a limited user account.
+1. Complete the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide for setting up a new Linode.
+2. While it is recommended you complete the entire [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it will be necessary at least to possess a limited user account.
### Add Repositories and GPG Keys
diff --git a/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-centos-8/index.md b/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-centos-8/index.md
index 16f0477f697..0135394da0a 100644
--- a/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-centos-8/index.md
+++ b/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-centos-8/index.md
@@ -32,8 +32,8 @@ In order to successfully execute the commands in this guide, you will need to ru
## Before You Begin
-1. Complete the [Getting Started](/docs/products/platform/get-started/) guide for setting up a new Linode.
-1. While it is recommended you complete the entire [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, at minimum, you should [add a limited user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account).
+1. Complete the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide for setting up a new Linode.
+1. While it is recommended you complete the entire [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, at minimum, you should [add a limited user account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account).
### Add Repositories and GPG Keys
@@ -164,7 +164,7 @@ permissions_validity_in_ms: 0
The `cqlshrc` file holds configuration settings that influence user preferences and how Cassandra performs certain tasks.
{{< note >}}
-Ensure you complete the steps in this section using your limited user account. This account will need [sudo privileges](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account), if it does not already have them.
+Ensure you complete the steps in this section using your limited user account. This account will need [sudo privileges](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account), if it does not already have them.
{{< /note >}}
Since your Cassandra username and password can be stored in plaintext, the `cqlshrc` file should only be accessible to your administrative user account, and is designed to be inaccessible to other accounts on your Linux system.
diff --git a/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-debian-9/index.md b/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-debian-9/index.md
index 24f53caede5..491065482bd 100644
--- a/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-debian-9/index.md
+++ b/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-debian-9/index.md
@@ -33,8 +33,8 @@ In order to successfully execute the commands in this guide, you will need to ru
## Before You Begin
-1. Complete the [Getting Started](/docs/products/platform/get-started/) guide for setting up a new Linode.
-1. While it is recommended you complete the entire [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, at minimum, you should [add a limited user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account).
+1. Complete the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide for setting up a new Linode.
+1. While it is recommended you complete the entire [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, at minimum, you should [add a limited user account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account).
## Install Cassandra and Supporting Applications
@@ -197,7 +197,7 @@ permissions_validity_in_ms: 0
The `cqlshrc` file holds configuration settings that influence user preferences and how Cassandra performs certain tasks.
{{< note >}}
-Ensure you complete the steps in this section using your limited user account. This account will need [sudo privileges](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account), if it does not already have them.
+Ensure you complete the steps in this section using your limited user account. This account will need [sudo privileges](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account), if it does not already have them.
{{< /note >}}
Since your Cassandra username and password can be stored in plaintext, the `cqlshrc` file should only be accessible to your administrative user account, and is designed to be inaccessible to other accounts on your Linux system.
diff --git a/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-ubuntu-18-04/index.md b/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-ubuntu-18-04/index.md
index e4f52247094..1939f52e803 100644
--- a/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-ubuntu-18-04/index.md
+++ b/docs/guides/databases/cassandra/how-to-install-apache-cassandra-on-ubuntu-18-04/index.md
@@ -33,8 +33,8 @@ In order to successfully execute the commands in this guide, you will need to ru
## Before You Begin
-1. Complete the [Getting Started](/docs/products/platform/get-started/) guide for setting up a new Linode.
-1. While it is recommended you complete the entire [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, at minimum, you should [add a limited user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account).
+1. Complete the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide for setting up a new Linode.
+1. While it is recommended you complete the entire [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, at minimum, you should [add a limited user account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account).
## Install OpenJDK (Java)
@@ -164,7 +164,7 @@ permissions_validity_in_ms: 0
The `cqlshrc` file holds configuration settings that influence user preferences and how Cassandra performs certain tasks.
{{< note >}}
-Ensure you complete the steps in this section using your limited user account. This account will need [sudo privileges](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account), if it does not already have them.
+Ensure you complete the steps in this section using your limited user account. This account will need [sudo privileges](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account), if it does not already have them.
{{< /note >}}
Since your Cassandra username and password can be stored in plaintext, the `cqlshrc` file should only be accessible to your administrative user account, and is designed to be inaccessible to other accounts on your Linux system.
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 2d346386eec..d5f5032ec36 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
@@ -62,14 +62,14 @@ Cassandra is usually not the best choice for small or little-used data sets, or
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. 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](/docs/guides/linux-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 41bed23506e..80b9a8dd16b 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](/docs/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](/docs/guides/configure-firewall-with-ufw/). FirewallD instructions are located at [Introduction to FirewallD on CentOS](/docs/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 c3d19bae780..bfd28fa0f0b 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: ['/databases/couchdb/securely-administer-couchdb-with-an-ssh-tunnel/','/databases/couchdb/ssh-tunnel/','/databases/couchdb/access-futon-over-ssh-using-putty-on-windows/']
external_resources:
- - '[Using PuTTY](/docs/guides/connect-to-server-over-ssh-using-putty/)'
- - '[Linode Docs - CouchDB](/docs/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](/docs/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 7d1b6bea6f9..18ba051341d 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
@@ -22,12 +22,12 @@ This guide shows you how to install CouchDB on Ubuntu 20.04. At the end of this
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/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 6a2a8d0ec75..76dff456231 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
@@ -21,14 +21,14 @@ This guide shows you how to get started with CouchDB using its web interface—*
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/guides/linux-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](/docs/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 b2c1572d89d..09f7765a856 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 350d61160c5..4b2f8b3a0ab 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 c014b32debb..17bc866b14b 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](/docs/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 f1b2a488155..e76432eef4e 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 e0cfc382c3f..9fa46eba0e3 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](/docs/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 d77561e0d06..0a1bc2bfbb6 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 680fce51766..4799fe213c5 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 948aa7d6a00..6567729f085 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 873a665d05f..e9df4258c3c 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 b3c2214f7fd..23a0720d552 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,14 +32,14 @@ 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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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.
## Installation
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 5b37c8e5a18..7886324d3d1 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,16 +24,16 @@ 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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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 1fb8fc30aae..fba36903169 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
@@ -46,23 +46,23 @@ This guide shows how to:
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and create a Linode to install the Elastic stack on. Then, complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and create a Linode to install the Elastic stack on. Then, complete the steps for setting your Linode's hostname and timezone.
{{< note respectIndent=false >}}
Multiple services are run on a single Linode in this guide. We recommend using at least a 2G (or `g6-standard-1`) sized Linode instance to support these services.
{{< /note >}}
-1. This guide uses `sudo` wherever possible. Complete the sections of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account with `sudo` privileges, harden SSH access, and remove unnecessary network services.
+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](/docs/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](/docs/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](/docs/guides/how-to-install-apache-web-server-centos-8/#configure-virtual-hosting) section of the [Apache Web Server on CentOS 8](/docs/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 9978efbf27f..a385339d9b6 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
@@ -48,23 +48,23 @@ This guide shows how to:
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and create a Linode to install the Elastic stack on. Then, complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and create a Linode to install the Elastic stack on. Then, complete the steps for setting your Linode's hostname and timezone.
{{< note respectIndent=false >}}
Multiple services are run on a single Linode in this guide. We recommend using at least a 2G (or `g6-standard-1`) sized Linode instance to support these services.
{{< /note >}}
-1. This guide uses `sudo` wherever possible. Complete the sections of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account with `sudo` privileges, harden SSH access, and remove unnecessary network services.
+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](/docs/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)](/docs/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](/docs/guides/how-to-install-apache-web-server-debian-10/#configure-virtual-hosting) section of the [Apache Web Server on Debian 10](/docs/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 a6650f3bd86..b29ff0d9869 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,16 +35,16 @@ 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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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)](/docs/web-servers/apache/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)](/docs/web-servers/apache/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 f1c1f53af73..19e58cb8fc8 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
@@ -47,23 +47,23 @@ This guide shows how to:
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and create a Linode to install the Elastic stack on. Then, complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and create a Linode to install the Elastic stack on. Then, complete the steps for setting your Linode's hostname and timezone.
{{< note respectIndent=false >}}
Multiple services are run on a single Linode in this guide. We recommend using at least a 2G (or `g6-standard-1`) sized Linode instance to support these services.
{{< /note >}}
-1. This guide uses `sudo` wherever possible. Complete the sections of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account with `sudo` privileges, harden SSH access, and remove unnecessary network services.
+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](/docs/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)](/docs/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](/docs/guides/apache-web-server-debian-8/#configure-apache-for-virtual-hosting) section of the [Apache Web Server on Debian 8](/docs/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 8e64aee3733..973292a79f1 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
@@ -45,23 +45,23 @@ This guide shows how to:
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and create a Linode to install the Elastic stack on. Then, complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and create a Linode to install the Elastic stack on. Then, complete the steps for setting your Linode's hostname and timezone.
{{< note respectIndent=false >}}
Multiple services are run on a single Linode in this guide. We recommend using at least a 2G (or `g6-standard-1`) sized Linode instance to support these services.
{{< /note >}}
-1. This guide uses `sudo` wherever possible. Complete the sections of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account with `sudo` privileges, harden SSH access, and remove unnecessary network services.
+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](/docs/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](/docs/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](/docs/guides/how-to-install-apache-web-server-ubuntu-18-04/#configure-virtual-hosting) section of the [Apache Web Server on Ubuntu 18.04](/docs/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 7fd3ac8d3c2..a62b5a4a3f2 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](/docs/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 →](/docs/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 →](/docs/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 →](/docs/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 →](/docs/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](/docs/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](/docs/guides/wha
|
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 →](/docs/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 →](/docs/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 →](/docs/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 →](/docs/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
@@ -82,7 +82,7 @@ Many users employ provisioning tools like Terraform and configuration management
The [Managed Database](https://techdocs.akamai.com/cloud-computing/docs/managed-databases) service is an easy-to-use and fully-managed database solution. When a database is deployed through Managed Databases, the infrastructure, software, firewall, and high availability systems are configured automatically. This saves you time and resources. Once provisioned, you can add your application's IP addresses to allow traffic and then connect to the database directly from your application.
-Managed Databases can be deployed with a single node (1 underlying machine) or a cluster of 3 nodes. Using 3 nodes provides you with a highly available database cluster, complete with data redundancy and automatic failover. Further, you can customize the size of the nodes and select from [Dedicated CPU](/docs/products/compute/compute-instances/plans/dedicated-cpu/) or [Shared CPU](/docs/products/compute/compute-instances/plans/shared-cpu/) Compute Instance plans. Since the underlying machines are fully-managed, direct root or console access is not provided and there is limited customization options for the database software.
+Managed Databases can be deployed with a single node (1 underlying machine) or a cluster of 3 nodes. Using 3 nodes provides you with a highly available database cluster, complete with data redundancy and automatic failover. Further, you can customize the size of the nodes and select from [Dedicated CPU](https://techdocs.akamai.com/cloud-computing/docs/dedicated-cpu-compute-instances) or [Shared CPU](https://techdocs.akamai.com/cloud-computing/docs/shared-cpu-compute-instances) Compute Instance plans. Since the underlying machines are fully-managed, direct root or console access is not provided and there is limited customization options for the database software.
Currently, the following databases are supported. Click on each database below to learn more and to view the available software versions.
@@ -90,7 +90,7 @@ Currently, the following databases are supported. Click on each database below t
- [PostgreSQL](https://techdocs.akamai.com/cloud-computing/docs/postgresql-managed-databases)
{{< note >}}
-Updates and security patches are automatically applied to the underlying operating system but *not* to the database software. For more details, review the [Automatic Updates and Maintenance Windows](/docs/products/databases/managed-databases/guides/updates-and-maintenance/) guide.
+Updates and security patches are automatically applied to the underlying operating system but *not* to the database software. For more details, review the [Automatic Updates and Maintenance Windows](https://techdocs.akamai.com/cloud-computing/docs/aiven-manage-database#automatic-updates-and-maintenance-window) guide.
{{< /note >}}
### Quick Deploy Apps and Clusters
@@ -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](/docs/guides/databases/mysql/)
-- [MongoDB guides](/docs/guides/databases/mongodb/)
-- [Apache Cassandra guides](/docs/guides/databases/cassandra/)
-- [Redis guides](/docs/guides/databases/redis/)
-- [PostgreSQL guides](/docs/guides/databases/postgresql/)
-- [CouchDB guides](/docs/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 9aef2ecfd83..02770dc10b2 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
@@ -66,12 +66,12 @@ Transformers are applied on a per-column or per-key basis. The same transformer
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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 253ca63cb40..1c7883759ba 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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 bce7d468ff7..9687774b4b8 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](/docs/guides/install-mongodb-on-centos-7/). For more information on NoSQL systems, consult the Linode guide for a [comparison between SQL and NoSQL databases](/docs/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 1a1216dd213..1c9102fb66d 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
@@ -27,13 +27,13 @@ Hadoop is an open-source Apache project that allows creation of parallel process
## Before You Begin
-1. Create 3 Linode Compute Instances. They'll be referred to throughout this guide as **node-master**, **node1**, and **node2**. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+1. Create 3 Linode Compute Instances. They'll be referred to throughout this guide as **node-master**, **node1**, and **node2**. 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. [Add a Private IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) to each Linode so that your Cluster can communicate with an additional layer of security.
+1. [Add a Private IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) to each Linode so that your Cluster can communicate with an additional layer of security.
-1. Follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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. 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](/docs/guides/install-java-on-debian/), [CentOS](/docs/guides/install-java-on-centos/) or [Ubuntu](/docs/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](/docs/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](/docs/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 bbddd3ca5cb..861df334eca 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](/docs/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](/docs/guides/linux-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](/docs/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 a38131095b2..28170de01d6 100644
--- a/docs/guides/databases/harperdb/create-a-harperdb-cluster/index.md
+++ b/docs/guides/databases/harperdb/create-a-harperdb-cluster/index.md
@@ -47,14 +47,14 @@ Some advantages of HarperDB are:
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. 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](/docs/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 99e89df91ff..c120cab2db7 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,22 +29,22 @@ 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](/docs/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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/products/storage/object-storage/guides/manage-buckets/) guide if you do not already have one.
+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.
{{% content "object-storage-cancellation-shortguide" %}}
-1. [Generate Object Storage access keys](/docs/products/storage/object-storage/guides/access-keys/).
+1. [Generate Object Storage access keys](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys).
1. Ensure your Linode has the `wget` and `bzip2` utilities installed. Install them with the following commands:
@@ -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](/docs/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](/docs/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 13f8edcd449..5e5d767d4a0 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: ['/databases/mariadb/configure-wordpress-remote-database/']
## Before You Begin
-- This guide uses two Linodes in the same data center to communicate via [private IP](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) addresses. You will need to configure a [LEMP](/docs/web-servers/lemp/) or [LAMP](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and [Secure your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides to create a non-root sudo user.
+- 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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 c87a8b4b321..706a1d33181 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,17 +27,17 @@ MariaDB is a fork of the popular cross-platform MySQL database management system

-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](/docs/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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and configure the hostname. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access.
+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 and configure the hostname. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access.
To check your hostname run:
@@ -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](/docs/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 780aad2a0bb..c367b39fec6 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,14 +28,14 @@ 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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
+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 and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
To check your hostname run:
@@ -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](/docs/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 2c42fa56290..0981fd28965 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,14 +26,14 @@ 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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
+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 and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
To check your hostname run:
@@ -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](/docs/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 ef423d0d9b3..69fbaa8e66f 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,14 +27,14 @@ 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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
+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 and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
To check your hostname run:
@@ -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](/docs/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 946de4a65e2..6c3161a35fd 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,14 +25,14 @@ 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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
+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 and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
To check your hostname run:
@@ -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](/docs/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 85fcf3c64fa..754808e0cc5 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
@@ -56,14 +56,14 @@ Cluster performance is constrained by the slowest node in the cluster. To avoid
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides. This guide requires at least two, preferably three, Ubuntu 22.04 LTS instances.
+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. This guide requires at least two, preferably three, Ubuntu 22.04 LTS instances.
-1. Follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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. **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](/docs/guides/linux-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 069791cc99f..b700079307b 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](/docs/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](/docs/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/mariadb/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/index.md b/docs/guides/databases/mariadb/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/index.md
index 093fb565a33..e425a85aab4 100644
--- a/docs/guides/databases/mariadb/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/index.md
+++ b/docs/guides/databases/mariadb/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/index.md
@@ -24,7 +24,7 @@ deprecated_link: /docs/guides/how-to-set-up-mariadb-galera-clusters-on-ubuntu-22
MariaDB replication with Galera adds redundancy for a site's database. With database replication, multiple servers act as a database cluster. Database clustering is particularly useful for high availability website configurations. This guide uses three separate Linodes to configure database replication, each with private IPv4 addresses on Debian and Ubuntu.
{{< note >}}
-Communication between nodes are unencrypted. This guide assumes that your Linodes are each configured with a [Private IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) and located within the same data center.
+Communication between nodes are unencrypted. This guide assumes that your Linodes are each configured with a [Private IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) and located within the same data center.
{{< /note >}}
Additionally:
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 8d35e1c1fba..c2de53a0509 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
@@ -17,14 +17,14 @@ This guide walks through the installation steps for Memcached on Debian 11 and U
## Before You Begin
-1. If you do not already have a virtual machine to use, create a Compute Instance with at least 4 GB of memory. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+1. If you do not already have a virtual machine to use, create a Compute Instance with at least 4 GB of memory. 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/guides/linux-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 2cb41d1de4a..03940c53bb4 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: ['/mongodb-deployment-methods-shortguide/']
---
-To perform the steps in the guide, you need to have a running MongoDB database as well as the [MongoDB Shell](/docs/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](/docs/guides/install-mongodb-on-ubuntu-20-04/)
- - [Installing MongoDB on CentOS 7](/docs/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 83f140399e2..6c0b4db8dec 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: ['/mongodb-shell-shortguide/']
---
{{< 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](/docs/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 a32c587269d..462b4b1422d 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
@@ -19,16 +19,16 @@ MongoDB is a popular non-relationship database management system that stores key
Backing up the data stored in a MongoDB database is an important step to maintain data integrity and disaster recovery plans. To assure that the MongoDB databases are backed up regularly to an external source such as a Linode Object Storage bucket, a simple Bash script can be created. Then, the Bash script can be configured to run daily using the Linux Cron job workflow.
## Before You Begin
-1. Learn about the fundamentals of Linode Object Storage by viewing the [Get Started with Object Storage](/docs/products/storage/object-storage/get-started/) guide or by reviewing the available [Object Storage guides](/docs/products/storage/object-storage/guides/).
+1. Learn about the fundamentals of Linode Object Storage by viewing the [Get Started with Object Storage](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage) guide or by reviewing the available [Object Storage guides](https://techdocs.akamai.com/cloud-computing/docs/object-storage).
-1. Create a [Linode Object Storage bucket](/docs/products/storage/object-storage/guides/manage-buckets/). This bucket is used to store your MongoDB backups.
+1. Create a [Linode Object Storage bucket](https://techdocs.akamai.com/cloud-computing/docs/create-and-manage-buckets). This bucket is used to store your MongoDB backups.
-1. Create a pair of [Access Keys](/docs/products/storage/object-storage/guides/access-keys/) for your Linode Object Storage bucket.
+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](/docs/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](/docs/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](/docs/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:
@@ -142,4 +142,4 @@ Select your preferred text editor from the menu and enter the following line in
Replace `/path/to/` from the above line with the full directory path to your `backup_mongodb.sh` file.
-The above Cron job is scheduled to run daily at 9:00 AM in your system's configured time zone. For more information on Cron job configuration parameters, review our guide on [Using Cron to Schedule Tasks for Certain Times or Intervals](/docs/guides/schedule-tasks-with-cron).
+The above Cron job is scheduled to run daily at 9:00 AM in your system's configured time zone. For more information on Cron job configuration parameters, review our guide on [Using Cron to Schedule Tasks for Certain Times or Intervals](/cloud/guides/schedule-tasks-with-cron).
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 0a5ede16824..6cc0fbf16fd 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
@@ -28,14 +28,14 @@ The commands and filepaths in this guide are based on those used in Ubuntu 16.04
## Before You Begin
-1. If you have not already done so, create a Linode account and *at least 6* Compute Instances. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+1. If you have not already done so, create a Linode account and *at least 6* Compute Instances. 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/guides/linux-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,11 +48,11 @@ Before we get started, let's review the components of the setup we'll be creatin

-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](/docs/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
-If your Linodes are all located in the same data center, we recommend [adding a private IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) for each one and using those here to avoid transmitting data over the public internet. If you don't use private IP addresses, be sure to [encrypt your data with SSL/TLS](https://docs.mongodb.com/manual/tutorial/configure-ssl/).
+If your Linodes are all located in the same data center, we recommend [adding a private IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) for each one and using those here to avoid transmitting data over the public internet. If you don't use private IP addresses, be sure to [encrypt your data with SSL/TLS](https://docs.mongodb.com/manual/tutorial/configure-ssl/).
On each Linode in your cluster, add the following to the `/etc/hosts` file:
@@ -70,7 +70,7 @@ On each Linode in your cluster, add the following to the `/etc/hosts` file:
Replace the IP addresses above with the IP addresses for each Linode. Also substitute the hostnames of the Linodes in your cluster for the hostnames above.
{{< note >}}
-You may also configure DNS records for each host rather than using hosts file entries. However, be aware that public DNS servers, such as the ones used when configuring records in the [DNS Manager](/docs/products/networking/dns-manager/), only support public IP addresses.
+You may also configure DNS records for each host rather than using hosts file entries. However, be aware that public DNS servers, such as the ones used when configuring records in the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager), only support public IP addresses.
{{< /note >}}
## Set Up MongoDB Authentication
@@ -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](/docs/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](/docs/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](/docs/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](/docs/products/tools/cli/get-started/) if you'd like to automate the process. For more information, see our guide on [Linode Images](/docs/products/tools/images/).
+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 3eaec172104..64787efd92a 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
@@ -24,14 +24,14 @@ This guide has been tested with Ubuntu 16.04 and CentOS 7. Because most of the c
## Before You Begin
-1. If you have not already done so, create a Linode account and *at least 3* Compute Instances. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+1. If you have not already done so, create a Linode account and *at least 3* Compute Instances. 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/guides/linux-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
@@ -42,11 +42,11 @@ To allow for consistent replication, each node will need to communicate with all
There are two major ways to allow the members of your replica set to communicate.
-The first method is to use [private IP addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) for each member of the replica set. This allows the Linodes in your replica set to communicate without exposing your data to the public internet. This method is recommended, but note that it requires all members of the replica set be in the same data center.
+The first method is to use [private IP addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) for each member of the replica set. This allows the Linodes in your replica set to communicate without exposing your data to the public internet. This method is recommended, but note that it requires all members of the replica set be in the same data center.
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](/docs/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](/docs/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](/docs/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 22868101d36..ae71d6f2b4a 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](/docs/guides/introduction-to-linux-concepts/) and [Administration Basics guide](/docs/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](/docs/guides/linux-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 da3e837d861..9db105e5386 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](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/guides/linux-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 1d7749ee547..92db817be5a 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](/docs/guides/introduction-to-linux-concepts/) and [Administration Basics guide](/docs/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](/docs/guides/linux-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 bacd012f3ab..718a27d4676 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](/docs/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](/docs/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](/docs/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](/docs/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 ca176bb4ded..cbd42ceede8 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](/docs/guides/mongodb-introduction/) guide. Know more about the basics of using MongoDB in our [Getting Started with MongoDB](/docs/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](/docs/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 c7035d12600..36ecf5f2df9 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
@@ -33,16 +33,16 @@ Since MongoDB can require a significant amount of RAM, we recommend using a [hig
## Before You Begin
-- Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+- 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 the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account, harden SSH access and remove unnecessary network services.
+- 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.
- 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](/docs/guides/linux-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 5801c2229a6..ac5187ab1bc 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
@@ -34,16 +34,16 @@ Since MongoDB can require a significant amount of RAM, we recommend using a [Hig
## Before You Begin
-- Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+- 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 the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account, harden SSH access and remove unnecessary network services.
+- 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.
- 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](/docs/guides/linux-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 ac8d816b33e..2a0de37d903 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,16 +34,16 @@ 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](/docs/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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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 19a5d0683bb..d642558552c 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](/docs/guides/install-mongodb-on-centos-7/), or the guide on [How To Install MongoDB on Ubuntu 16.04](/docs/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 80ce5b01cf8..687b33188db 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](/docs/guides/mongodb-introduction/) guide. Then, find out about the basics of using MongoDB in our [Getting Started with MongoDB](/docs/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](/docs/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/assets/624-mongodb-init-rpm.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-centos-5/624-mongodb-init-rpm.sh
similarity index 100%
rename from docs/assets/624-mongodb-init-rpm.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-centos-5/624-mongodb-init-rpm.sh
diff --git a/docs/assets/625-mongodb-start.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-centos-5/625-mongodb-start.sh
similarity index 100%
rename from docs/assets/625-mongodb-start.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-centos-5/625-mongodb-start.sh
diff --git a/docs/assets/626-mongodb-stop.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-centos-5/626-mongodb-stop.sh
similarity index 100%
rename from docs/assets/626-mongodb-stop.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-centos-5/626-mongodb-stop.sh
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 d4059b018b5..837eaeb66dd 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -68,8 +68,8 @@ In typical installations, the MongoDB server process is controlled using command
Issue the following sequence of commands to download the scripts and set the permissions on these files:
cd /opt/bin/
- wget -O mongodb-start http://www.linode.com/docs/assets/625-mongodb-start.sh
- wget -O mongodb-stop http://www.linode.com/docs/assets/626-mongodb-stop.sh
+ wget -O mongodb-start 625-mongodb-start.sh
+ wget -O mongodb-stop 626-mongodb-stop.sh
chmod +x *
Review the contents of the `mongodb-start` and `mongodb-stop` and modify these files if your deployment requires an alternate initialization procedure. From now on, issuing `/opt/bin/mongodb-start` or `/opt/bin/mongodb-stop` will start or stop the MongoDB process, respectively. The behavior of the `mongod` process is controlled by the values set in `/opt/config/mongodb`.
@@ -107,7 +107,7 @@ Setting the `fork` option to equal `true` configures MongoDB to run as a daemon
We've also created a *very* basic "init script" as a wrapper around the `mongodb-start` and `mongo-stop` scripts described above. You will still need to modify and manage the configuration of your MongoDB server in the files above. This script only provides a means for ensuring that MongoDB will start at boot. Issue the following commands:
- wget -O init-rpm.sh http://www.linode.com/docs/assets/624-mongodb-init-rpm.sh
+ wget -O init-rpm.sh 624-mongodb-init-rpm.sh
mv init-rpm.sh /etc/init.d/mongodb
chmod +x /etc/init.d/mongodb
chkconfig --add mongodb
diff --git a/docs/assets/607-mongodb-start.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-debian-5-lenny/607-mongodb-start.sh
similarity index 100%
rename from docs/assets/607-mongodb-start.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-debian-5-lenny/607-mongodb-start.sh
diff --git a/docs/assets/608-mongodb-stop.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-debian-5-lenny/608-mongodb-stop.sh
similarity index 100%
rename from docs/assets/608-mongodb-stop.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-debian-5-lenny/608-mongodb-stop.sh
diff --git a/docs/assets/609-mongodb-init-deb.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-debian-5-lenny/609-mongodb-init-deb.sh
similarity index 100%
rename from docs/assets/609-mongodb-init-deb.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-debian-5-lenny/609-mongodb-init-deb.sh
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 51101771228..f9311be3db9 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -59,8 +59,8 @@ In typical installations, the MongoDB server process is controlled using command
Issue the following sequence of commands to download the scripts and set the permissions on these files:
cd /opt/bin/
- wget -O mongodb-start http://www.linode.com/docs/assets/607-mongodb-start.sh
- wget -O mongodb-stop http://www.linode.com/docs/assets/608-mongodb-stop.sh
+ wget -O mongodb-start 607-mongodb-start.sh
+ wget -O mongodb-stop 608-mongodb-stop.sh
chmod +x *
Review the contents of the `mongodb-start` and `mongodb-stop` and modify these files if your deployment requires an alternate initialization procedure. From now on, issuing `/opt/bin/mongodb-start` or `/opt/bin/mongodb-stop` will start or stop the MongoDB process, respectively. The behavior of the `mongod` process is controlled by the values set in `/opt/config/mongodb`.
@@ -98,7 +98,7 @@ Setting the `fork` option to equal `true` configures MongoDB to run as a daemon
We've also created a *very* basic "init script" as a wrapper around the `mongodb-start` and `mongo-stop` scripts described above. You will still need to modify and manage the configuration of your MongoDB server in the files above. This script only provides a means for ensuring that MongoDB will start at boot. Issue the following commands:
- wget -O init-deb.sh http://www.linode.com/docs/assets/609-mongodb-init-deb.sh
+ wget -O init-deb.sh 609-mongodb-init-deb.sh
mv init-deb.sh /etc/init.d/mongodb
chmod +x /etc/init.d/mongodb
/usr/sbin/update-rc.d -f mongodb defaults
diff --git a/docs/assets/574-mongodb-init-rpm.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-12/574-mongodb-init-rpm.sh
similarity index 100%
rename from docs/assets/574-mongodb-init-rpm.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-12/574-mongodb-init-rpm.sh
diff --git a/docs/assets/575-mongodb-start.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-12/575-mongodb-start.sh
similarity index 100%
rename from docs/assets/575-mongodb-start.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-12/575-mongodb-start.sh
diff --git a/docs/assets/576-mongodb-stop.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-12/576-mongodb-stop.sh
similarity index 100%
rename from docs/assets/576-mongodb-stop.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-12/576-mongodb-stop.sh
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 20f0599ff7c..88ae06a84b5 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -67,8 +67,8 @@ In typical installations, the MongoDB server process is controlled using command
Issue the following sequence of commands to download the scripts and set the permissions on these files:
cd /opt/bin/
- wget -O mongodb-start http://www.linode.com/docs/assets/575-mongodb-start.sh
- wget -O mongodb-stop http://www.linode.com/docs/assets/576-mongodb-stop.sh
+ wget -O mongodb-start 575-mongodb-start.sh
+ wget -O mongodb-stop 576-mongodb-stop.sh
chmod +x *
Review the contents of the `mongodb-start` and `mongodb-stop` and modify these files if your deployment requires an alternate initialization procedure. From now on, issuing `/opt/bin/mongodb-start` or `/opt/bin/mongodb-stop` will start or stop the MongoDB process, respectively. The behavior of the `mongod` process is controlled by the values set in `/opt/config/mongodb`.
@@ -106,7 +106,7 @@ Setting the `fork` option to equal `true` configures MongoDB to run as a daemon
We've also created a *very* basic "init script" as a wrapper around the `mongodb-start` and `mongo-stop` scripts described above. You will still need to modify and manage the configuration of your MongoDB server in the files above. This script only provides a means for ensuring that MongoDB will start at boot. Issue the following commands:
- wget -O init-rpm.sh http://www.linode.com/docs/assets/574-mongodb-init-rpm.sh
+ wget -O init-rpm.sh 574-mongodb-init-rpm.sh
mv init-rpm.sh /etc/rc.d/init.d/mongodb
chmod +x /etc/rc.d/init.d/mongodb /etc/init.d/mongodb
chkconfig --add mongodb
diff --git a/docs/assets/571-mongodb-init-rpm.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-13/571-mongodb-init-rpm.sh
similarity index 100%
rename from docs/assets/571-mongodb-init-rpm.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-13/571-mongodb-init-rpm.sh
diff --git a/docs/assets/572-mongodb-start.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-13/572-mongodb-start.sh
similarity index 100%
rename from docs/assets/572-mongodb-start.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-13/572-mongodb-start.sh
diff --git a/docs/assets/573-mongodb-stop.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-13/573-mongodb-stop.sh
similarity index 100%
rename from docs/assets/573-mongodb-stop.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-13/573-mongodb-stop.sh
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 4c2ca62643b..5957a7387c1 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -67,8 +67,8 @@ In typical installations, the MongoDB server process is controlled using command
Issue the following sequence of commands to download the scripts and set the permissions on these files:
cd /opt/bin/
- wget -O mongodb-start http://www.linode.com/docs/assets/572-mongodb-start.sh
- wget -O mongodb-stop http://www.linode.com/docs/assets/573-mongodb-stop.sh
+ wget -O mongodb-start 572-mongodb-start.sh
+ wget -O mongodb-stop 573-mongodb-stop.sh
chmod +x *
Review the contents of the `mongodb-start` and `mongodb-stop` and modify these files if your deployment requires an alternate initialization procedure. From now on, issuing `/opt/bin/mongodb-start` or `/opt/bin/mongodb-stop` will start or stop the MongoDB process, respectively. The behavior of the `mongod` process is controlled by the values set in `/opt/config/mongodb`.
@@ -106,7 +106,7 @@ Setting the `fork` option to equal `true` configures MongoDB to run as a daemon
We've also created a *very* basic "init script" as a wrapper around the `mongodb-start` and `mongo-stop` scripts described above. You will still need to modify and manage the configuration of your MongoDB server in the files above. This script only provides a means for ensuring that MongoDB will start at boot. Issue the following commands:
- wget -O init-rpm.sh http://www.linode.com/docs/assets/571-mongodb-init-rpm.sh
+ wget -O init-rpm.sh 571-mongodb-init-rpm.sh
mv init-rpm.sh /etc/rc.d/init.d/mongodb
chmod +x /etc/rc.d/init.d/mongodb /etc/init.d/mongodb
chkconfig --add mongodb
diff --git a/docs/assets/621-mongodb-start.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-14/621-mongodb-start.sh
similarity index 100%
rename from docs/assets/621-mongodb-start.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-14/621-mongodb-start.sh
diff --git a/docs/assets/622-mongodb-stop.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-14/622-mongodb-stop.sh
similarity index 100%
rename from docs/assets/622-mongodb-stop.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-14/622-mongodb-stop.sh
diff --git a/docs/assets/623-mongodb-init-rpm.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-14/623-mongodb-init-rpm.sh
similarity index 100%
rename from docs/assets/623-mongodb-init-rpm.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-fedora-14/623-mongodb-init-rpm.sh
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 cc60cc096a6..d8af72ee4a2 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -67,8 +67,8 @@ In typical installations, the MongoDB server process is controlled using command
Issue the following sequence of commands to download the scripts and set the permissions on these files:
cd /opt/bin/
- wget -O mongodb-start http://www.linode.com/docs/assets/621-mongodb-start.sh
- wget -O mongodb-stop http://www.linode.com/docs/assets/622-mongodb-stop.sh
+ wget -O mongodb-start 621-mongodb-start.sh
+ wget -O mongodb-stop 622-mongodb-stop.sh
chmod +x *
Review the contents of the `mongodb-start` and `mongodb-stop` and modify these files if your deployment requires an alternate initialization procedure. From now on, issuing `/opt/bin/mongodb-start` or `/opt/bin/mongodb-stop` will start or stop the MongoDB process, respectively. The behavior of the `mongod` process is controlled by the values set in `/opt/config/mongodb`.
@@ -106,7 +106,7 @@ Setting the `fork` option to equal `true` configures MongoDB to run as a daemon
We've also created a *very* basic "init script" as a wrapper around the `mongodb-start` and `mongo-stop` scripts described above. You will still need to modify and manage the configuration of your MongoDB server in the files above. This script only provides a means for ensuring that MongoDB will start at boot. Issue the following commands:
- wget -O init-rpm.sh http://www.linode.com/docs/assets/623-mongodb-init-rpm.sh
+ wget -O init-rpm.sh 623-mongodb-init-rpm.sh
mv init-rpm.sh /etc/rc.d/init.d/mongodb
chmod +x /etc/rc.d/init.d/mongodb /etc/init.d/mongodb
chkconfig --add mongodb
diff --git a/docs/assets/611-mongodb-init-deb.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-04-lucid/611-mongodb-init-deb.sh
similarity index 100%
rename from docs/assets/611-mongodb-init-deb.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-04-lucid/611-mongodb-init-deb.sh
diff --git a/docs/assets/612-mongodb-start.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-04-lucid/612-mongodb-start.sh
similarity index 100%
rename from docs/assets/612-mongodb-start.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-04-lucid/612-mongodb-start.sh
diff --git a/docs/assets/613-mongodb-stop.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-04-lucid/613-mongodb-stop.sh
similarity index 100%
rename from docs/assets/613-mongodb-stop.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-04-lucid/613-mongodb-stop.sh
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 7d6aaba56f3..9948a539c41 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -59,8 +59,8 @@ In typical installations, the MongoDB server process is controlled using command
Issue the following sequence of commands to download the scripts and set the permissions on these files:
cd /opt/bin/
- wget -O mongodb-start http://www.linode.com/docs/assets/612-mongodb-start.sh
- wget -O mongodb-stop http://www.linode.com/docs/assets/613-mongodb-stop.sh
+ wget -O mongodb-start 612-mongodb-start.sh
+ wget -O mongodb-stop 613-mongodb-stop.sh
chmod +x *
Review the contents of the `mongodb-start` and `mongodb-stop` and modify these files if your deployment requires an alternate initialization procedure. From now on, issuing `/opt/bin/mongodb-start` or `/opt/bin/mongodb-stop` will start or stop the MongoDB process, respectively. The behavior of the `mongod` process is controlled by the values set in `/opt/config/mongodb`.
@@ -98,7 +98,7 @@ Setting the `fork` option to equal `true` configures MongoDB to run as a daemon
We've also created a *very* basic "init script" as a wrapper around the `mongodb-start` and `mongo-stop` scripts described above. You will still need to modify and manage the configuration of your MongoDB server in the files above. This script only provides a means for ensuring that MongoDB will start at boot. Issue the following commands:
- wget -O init-deb.sh http://www.linode.com/docs/assets/611-mongodb-init-deb.sh
+ wget -O init-deb.sh 611-mongodb-init-deb.sh
mv init-deb.sh /etc/init.d/mongodb
chmod +x /etc/init.d/mongodb
/usr/sbin/update-rc.d -f mongodb defaults
diff --git a/docs/assets/618-mongodb-init-deb.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-10-maverick/618-mongodb-init-deb.sh
similarity index 100%
rename from docs/assets/618-mongodb-init-deb.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-10-maverick/618-mongodb-init-deb.sh
diff --git a/docs/assets/619-mongodb-start.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-10-maverick/619-mongodb-start.sh
similarity index 100%
rename from docs/assets/619-mongodb-start.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-10-maverick/619-mongodb-start.sh
diff --git a/docs/assets/620-mongodb-stop.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-10-maverick/620-mongodb-stop.sh
similarity index 100%
rename from docs/assets/620-mongodb-stop.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-10-10-maverick/620-mongodb-stop.sh
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 e90beb49ce8..897beff3da9 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -59,8 +59,8 @@ In typical installations, the MongoDB server process is controlled using command
Issue the following sequence of commands to download the scripts and set the permissions on these files:
cd /opt/bin/
- wget -O mongodb-start http://www.linode.com/docs/assets/619-mongodb-start.sh
- wget -O mongodb-stop http://www.linode.com/docs/assets/620-mongodb-stop.sh
+ wget -O mongodb-start 619-mongodb-start.sh
+ wget -O mongodb-stop 620-mongodb-stop.sh
chmod +x *
Review the contents of the `mongodb-start` and `mongodb-stop` and modify these files if your deployment requires an alternate initialization procedure. From now on, issuing `/opt/bin/mongodb-start` or `/opt/bin/mongodb-stop` will start or stop the MongoDB process, respectively. The behavior of the `mongod` process is controlled by the values set in `/opt/config/mongodb`.
@@ -98,7 +98,7 @@ Setting the `fork` option to equal `true` configures MongoDB to run as a daemon
We've also created a *very* basic "init script" as a wrapper around the `mongodb-start` and `mongo-stop` scripts described above. You will still need to modify and manage the configuration of your MongoDB server in the files above. This script only provides a means for ensuring that MongoDB will start at boot. Issue the following commands:
- wget -O init-deb.sh http://www.linode.com/docs/assets/618-mongodb-init-deb.sh
+ wget -O init-deb.sh 618-mongodb-init-deb.sh
mv init-deb.sh /etc/init.d/mongodb
chmod +x /etc/init.d/mongodb
/usr/sbin/update-rc.d -f mongodb defaults
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 0de95d0804b..408df3839c7 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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/assets/568-mongodb-init-deb.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-9-10-karmic/568-mongodb-init-deb.sh
similarity index 100%
rename from docs/assets/568-mongodb-init-deb.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-9-10-karmic/568-mongodb-init-deb.sh
diff --git a/docs/assets/569-mongodb-start.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-9-10-karmic/569-mongodb-start.sh
similarity index 100%
rename from docs/assets/569-mongodb-start.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-9-10-karmic/569-mongodb-start.sh
diff --git a/docs/assets/570-mongodb-stop.sh b/docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-9-10-karmic/570-mongodb-stop.sh
similarity index 100%
rename from docs/assets/570-mongodb-stop.sh
rename to docs/guides/databases/mongodb/use-mongodb-to-store-application-data-on-ubuntu-9-10-karmic/570-mongodb-stop.sh
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 fd394497b64..59af78fa0d3 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -59,8 +59,8 @@ In typical installations, the MongoDB server process is controlled using command
Issue the following sequence of commands to download the scripts and set the permissions on these files:
cd /opt/bin/
- wget -O mongodb-start http://www.linode.com/docs/assets/569-mongodb-start.sh
- wget -O mongodb-stop http://www.linode.com/docs/assets/570-mongodb-stop.sh
+ wget -O mongodb-start 569-mongodb-start.sh
+ wget -O mongodb-stop 570-mongodb-stop.sh
chmod +x *
Review the contents of the `mongodb-start` and `mongodb-stop` and modify these files if your deployment requires an alternate initialization procedure. From now on, issuing `/opt/bin/mongodb-start` or `/opt/bin/mongodb-stop` will start or stop the MongoDB process, respectively. The behavior of the `mongod` process is controlled by the values set in `/opt/config/mongodb`.
@@ -98,7 +98,7 @@ Setting the `fork` option to equal `true` configures MongoDB to run as a daemon
We've also created a *very* basic "init script" as a wrapper around the `mongodb-start` and `mongo-stop` scripts described above. You will still need to modify and manage the configuration of your MongoDB server in the files above. This script only provides a means for ensuring that MongoDB will start at boot. Issue the following commands:
- wget -O init-deb.sh http://www.linode.com/docs/assets/568-mongodb-init-deb.sh
+ wget -O init-deb.sh 568-mongodb-init-deb.sh
mv init-deb.sh /etc/init.d/mongodb
chmod +x /etc/init.d/mongodb
/usr/sbin/update-rc.d -f mongodb defaults
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 69f24f0c5fa..c5d007b8cbd 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)](/docs/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*](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 50e38a552fe..b1615f916cd 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,22 +12,22 @@ 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](/docs/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](/docs/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.

-Before beginning the installation process, we assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Additionally, you will need to install the [MySQL Database](/docs/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](/docs/guides/linux-users-and-groups/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
-Most backups of MySQL databases in this guide are performed using the `mysqldump` tool, which is distributed with the default MySQL server installation. We recommend that you use `mysqldump` whenever possible because it is often the easiest and most efficient way to take database backups. Other methods detailed in this guide are provided for situations when you do not have access to the `mysqldump` tool, as in a recovery environment like [Finnix](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#rescuing) or in situations where the local instance of the MySQL server will not start.
+Most backups of MySQL databases in this guide are performed using the `mysqldump` tool, which is distributed with the default MySQL server installation. We recommend that you use `mysqldump` whenever possible because it is often the easiest and most efficient way to take database backups. Other methods detailed in this guide are provided for situations when you do not have access to the `mysqldump` tool, as in a recovery environment like [Finnix](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#rescuing) or in situations where the local instance of the MySQL server will not start.
Nevertheless, this guide provides a mere overview of the `mysqldump` tool, as there are many options for and uses of `mysqldump` that fall beyond the scope of this document. We encourage you to become familiar with all of the procedures covered in this document, and to continue your exploration of `mysqldump` beyond the cases described here. Be sure to note the following:
@@ -58,7 +58,7 @@ In the crontab example, ensure that there is no space between the -P flag, and y
### Option 2: Create Backups of an Entire DBMS Using Copies of the MySQL Data Directory
-While the `mysqldump` tool is the preferred backup method, there are a couple of cases that require a different approach. `mysqldump` only works when the database server is accessible and running. If the database cannot be started or the host system is inaccessible, we can copy MySQL's database directly. This method is often necessary in situations where you only have access to a recovery environment like [Finnix](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/) with your system's disks mounted in that file system. If you're attempting this method on your system itself, ensure that the database is **not** running. Issue a command that resembles the following:
+While the `mysqldump` tool is the preferred backup method, there are a couple of cases that require a different approach. `mysqldump` only works when the database server is accessible and running. If the database cannot be started or the host system is inaccessible, we can copy MySQL's database directly. This method is often necessary in situations where you only have access to a recovery environment like [Finnix](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild) with your system's disks mounted in that file system. If you're attempting this method on your system itself, ensure that the database is **not** running. Issue a command that resembles the following:
/etc/init.d/mysqld stop
@@ -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](/docs/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](/docs/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 4776643f7c0..ee365df24f4 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](/docs/guides/linux-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 beee2c65178..0b9da439611 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
@@ -44,14 +44,14 @@ Enabling source-replica replication offers many significant advantages over a no
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 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](/docs/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 978e3f82836..e0e923d4a33 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: ['/databases/mysql/create-an-ssh-tunnel-for-mysql-remote-access/','/databases/mysql/securely-administer-mysql-with-an-ssh-tunnel/','/databases/mysql/mysql-ssh-tunnel/']
external_resources:
- - '[Using PuTTY](/docs/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](/docs/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 b414ebd600a..e25e0b04182 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: ['/databases/mysql/create-physical-backups-of-your-mariadb-or-mysql-dat
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](/docs/products/compute/compute-instances/guides/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](/docs/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 a4847d7183b..4bc4c5b99ef 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,14 +21,14 @@ 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](/docs/guides/linux-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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
+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 and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
To check your hostname run:
@@ -45,7 +45,7 @@ During the installation process, you will be prompted to set a password for the

-MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/docs/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 9be0ffd0e3f..03a8c7ce765 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](/docs/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 95556fce520..1e95352b172 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
@@ -33,11 +33,11 @@ In this guide, you will:
Make sure you have the following:
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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 bf1b31b60b6..33489ac1215 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
@@ -29,15 +29,15 @@ In this guide you will learn:
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](/docs/products/platform/get-started/) guide to provision a Linode.
+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](/docs/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
Before you create your MySQL views, create a sample database, define a few tables, and populate them with some data first:
-1. [SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) to your Linode. Then, enter this command to log in to MySQL as the root user:
+1. [SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) to your Linode. Then, enter this command to log in to MySQL as the root user:
mysql -u root -p
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 ea3edf0bc1f..6e21b3e714d 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,12 +29,12 @@ 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](/docs/guides/linux-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. Ensure that you have followed the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides, and the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname).
+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).
To check your hostname run:
@@ -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](/docs/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 e2a85101b2b..eceb3358cc0 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,19 +25,19 @@ aliases: ['/databases/mysql/how-to-install-mysql-on-centos-7/']
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](/docs/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](/docs/guides/linux-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. Ensure that you have followed the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides, and the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname).
+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).
To check your hostname run:
@@ -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](/docs/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 18476531c0f..380212572e6 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](/docs/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 7f658ef217c..ad4a6655c91 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,12 +31,12 @@ 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](/docs/guides/linux-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. Ensure that you have followed the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides, and the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname).
+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).
To check your hostname run:
@@ -59,7 +59,7 @@ During the installation process, you will be prompted to set a password for the

-MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/docs/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 d258f40bead..bce50115c32 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,12 +31,12 @@ 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](/docs/guides/linux-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. Ensure that you have followed the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides, and the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname).
+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).
To check your hostname run:
@@ -63,7 +63,7 @@ During the installation process, you will be prompted to set a password for the

-MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/docs/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 b8b276b143a..bdf699d8fb4 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](/docs/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.

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](/docs/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](/docs/guides/top-htop-iotop/) or with the Linode [Longview](/docs/products/tools/longview/get-started/) 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 4d069032f50..d2ef266106e 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
@@ -31,11 +31,11 @@ In this guide you will learn:
To follow along with this guide, make sure you have the following:
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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 8807c570f21..e6b827ebd5e 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
@@ -39,11 +39,11 @@ In this guide, you will learn:
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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 fe17d272724..690a972a90b 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](/docs/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 9a2d019f667..c9eeee56dcb 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: ['/databases/mysql/mysql-workbench/','/databases/mysql/install-and-configure-mysql-workbench-on-ubuntu/']
external_resources:
- '[MySQL Workbench Manual](https://dev.mysql.com/doc/workbench/en/)'
- - '[Deploy MySQL Workbench for Database Administration](/docs/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
---
@@ -21,11 +21,11 @@ MySQL Workbench is a feature-rich graphical tool used to model data, build SQL q
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+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. This guide will use `sudo` wherever possible. Complete the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account, harden SSH access and remove unnecessary network services.
+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](/docs/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,9 +62,9 @@ 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](/docs/guides/install-mysql-on-ubuntu-14-04/) or [Debian 8](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) and download the sample [Sakila database provided in the MySQL documentation](http://downloads.mysql.com/docs/sakila-db.tar.gz):
+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):
wget 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](/docs/guides/in

{{< 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](/docs/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 1527bb2790f..c3bebf2de17 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,12 +23,12 @@ phpMyAdmin is a web application that provides a GUI to aid in MySQL database adm

{{< 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](/docs/guides/linux-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. Ensure that you have followed the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides and the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname).
+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).
To check your hostname run:
@@ -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](/docs/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](/docs/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 33f619cadcd..f91910c5b8c 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,14 +30,14 @@ 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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
+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 and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
To check your hostname run:
@@ -54,7 +54,7 @@ During the installation process, you will be prompted to set a password for the

-MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/docs/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 e2661a794d2..622b1bc1b97 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,12 +26,12 @@ 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](/docs/guides/linux-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. Ensure that you have followed the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides and the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname).
+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).
To check your hostname run:
@@ -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](/docs/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](/docs/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 1e5be7590b2..3e4098695b8 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,14 +24,14 @@ 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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
+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 and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
To check your hostname run:
@@ -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](/docs/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](/docs/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 2f991a2f2f2..d5448ebb089 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,14 +26,14 @@ 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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
+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 and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
To check your hostname run:
@@ -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](/docs/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](/docs/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 6bbd47b827c..93e4419e425 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](/docs/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](/docs/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 464b021b2f3..853f1ca11f4 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
@@ -40,12 +40,12 @@ To summarize, both systems are more than adequate for most users. MariaDB featur
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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 0ec5336f9c9..4ac9905ce02 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
@@ -15,21 +15,21 @@ This guide provides the commands you can use to list tables in MySQL and MariaDB
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/how-to-install-mysql-on-debian-8/) or on [How to Install MariaDB](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 ad1c9393e75..c80489bd3d0 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). 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](/docs/lamp-guides/) 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](/docs/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](/docs/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 715d5d6e6d7..eddf3163ec2 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). 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](/docs/lamp-guides/) 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](/docs/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](/docs/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 bae57ac217e..57c25207023 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). 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](/docs/lamp-guides/) 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](/docs/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](/docs/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 287e7f1cc25..f01c6b123e5 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,14 +26,14 @@ 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](/docs/guides/linux-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](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
+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 and configure your hostname. You may also wish to set the timezone, create a limited user account, and harden SSH access.
To check your hostname run:
@@ -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](/docs/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](/docs/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](/docs/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 6d12f3e4657..886316c94b9 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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/guides/databases/mysql/) and specific [MariaDB guides](/docs/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 2dcc2bb6929..c2e5bcd68e5 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*](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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/securely-store-mysql-credentials/index.md b/docs/guides/databases/mysql/securely-store-mysql-credentials/index.md
index dd0a87e9a1e..dfee031e098 100644
--- a/docs/guides/databases/mysql/securely-store-mysql-credentials/index.md
+++ b/docs/guides/databases/mysql/securely-store-mysql-credentials/index.md
@@ -12,7 +12,7 @@ external_resources:
tags: ["mariadb","database","mysql"]
---
-MySQL includes the [mysql_config_editor](https://dev.mysql.com/doc/refman/8.0/en/mysql-config-editor.html) utility, which is used to store your MySQL credentials inside of an encrypted file in your home directory: `~/.mylogin.cnf`. The file is obfuscated and cannot be viewed in plaintext unless running the [print](#view-stored-credentials) command. Any stored passwords are never made visible. This arrangement adds a layer of security and convenience when connecting to your database using command-line tools like mysql or [mysqldump](/docs/guides/mysqldump-backups).
+MySQL includes the [mysql_config_editor](https://dev.mysql.com/doc/refman/8.0/en/mysql-config-editor.html) utility, which is used to store your MySQL credentials inside of an encrypted file in your home directory: `~/.mylogin.cnf`. The file is obfuscated and cannot be viewed in plaintext unless running the [print](#view-stored-credentials) command. Any stored passwords are never made visible. This arrangement adds a layer of security and convenience when connecting to your database using command-line tools like mysql or [mysqldump](/cloud/guides/mysqldump-backups).
Each set of credentials is stored in option groups called *login paths*. You can create your own custom login paths, which you can then specify when connecting to your database.
diff --git a/docs/guides/databases/mysql/securing-mysql/index.md b/docs/guides/databases/mysql/securing-mysql/index.md
index 89e34ed6c0b..5e96f36baaf 100644
--- a/docs/guides/databases/mysql/securing-mysql/index.md
+++ b/docs/guides/databases/mysql/securing-mysql/index.md
@@ -20,24 +20,24 @@ MySQL is an open-source relational database management system. This guide will s
## Before You Begin
-1. Ensure that you have followed the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides. Ensure that the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname).
+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. Ensure that the Linode's [hostname is set](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname).
Check your Linode's hostname. The first command should show your short hostname and the second should show your fully qualified domain name (FQDN).
hostname
hostname -f
- {{< note respectIndent=false >}} If you have a registered domain name for your website, then [add the domain](/docs/products/networking/dns-manager/guides/create-domain/) to the Linode server on which you plan to install the LAMP stack. If you do not have a registered domain name, then replace `example.com` with the IP address of the Linode server in the following instructions.{{< /note >}}
+ {{< note respectIndent=false >}} If you have a registered domain name for your website, then [add the domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) to the Linode server on which you plan to install the LAMP stack. If you do not have a registered domain name, then replace `example.com` with the IP address of the Linode server in the following instructions.{{< /note >}}
1. Update your system:
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](/docs/guides/linux-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 ](/docs/guides/install-mysql-on-ubuntu-14-04)
+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)
{{< note respectIndent=false >}}The instructions in this guide are based on Ubuntu 18.04, though all the steps are distribution agnostic with the exception of package names and package managers.{{< /note >}}
diff --git a/docs/guides/databases/mysql/standalone-mysql-server/index.md b/docs/guides/databases/mysql/standalone-mysql-server/index.md
index 057ebe7a7dc..107b350d66b 100644
--- a/docs/guides/databases/mysql/standalone-mysql-server/index.md
+++ b/docs/guides/databases/mysql/standalone-mysql-server/index.md
@@ -15,16 +15,16 @@ 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](/docs/guides/how-to-install-and-configure-wordpress/) and [Drupal](/docs/guides/how-to-install-and-configure-drupal-8/) to custom applications written in [Ruby on Rails](/docs/frameworks/) and [Django](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide for both Linodes.
+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](/docs/lamp-guides/) 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](/docs/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](/docs/products/compute/compute-instances/guides/manual-network-configuration/) 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.
+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.
## Edit /etc/hosts
@@ -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](/docs/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](/docs/web-applications/)
-- [Web Application Frameworks](/docs/frameworks/)
-- [Database Management Systems](/docs/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 a66b51626a7..85945ea69be 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
@@ -18,7 +18,7 @@ tags: ["database","mysql","centos"]
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 a CentOS 5 Linode. For purposes of this tutorial, we'll assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH.
+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 a CentOS 5 Linode. For purposes of this tutorial, we'll 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), that your system is up to date, and that you've logged into your Linode as root via SSH.
## System Configuration
@@ -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](/docs/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-debian-5-lenny/index.md b/docs/guides/databases/mysql/use-mysql-relational-databases-on-debian-5-lenny/index.md
index d9914fcbe61..d0de3091736 100644
--- a/docs/guides/databases/mysql/use-mysql-relational-databases-on-debian-5-lenny/index.md
+++ b/docs/guides/databases/mysql/use-mysql-relational-databases-on-debian-5-lenny/index.md
@@ -18,7 +18,7 @@ tags: ["debian","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 a Debian Lenny Linode. For purposes of this tutorial, we'll assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH.
+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 a Debian Lenny Linode. For purposes of this tutorial, we'll 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), that your system is up to date, and that you've logged into your Linode as root via SSH.
## Installing MySQL
diff --git a/docs/guides/databases/mysql/use-mysql-relational-databases-on-debian-6-squeeze/index.md b/docs/guides/databases/mysql/use-mysql-relational-databases-on-debian-6-squeeze/index.md
index 8eaa9e0e398..5145ad9cd59 100644
--- a/docs/guides/databases/mysql/use-mysql-relational-databases-on-debian-6-squeeze/index.md
+++ b/docs/guides/databases/mysql/use-mysql-relational-databases-on-debian-6-squeeze/index.md
@@ -18,7 +18,7 @@ tags: ["debian","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 a Debian 6 (Squeeze) Linode. For purposes of this tutorial, it is assumed that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH.
+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 a Debian 6 (Squeeze) Linode. For purposes of this tutorial, it is assumed 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), that your system is up to date, and that you've logged into your Linode as root via SSH.
## Install MySQL
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 2f02d80ba6b..ba631d9def7 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
@@ -18,7 +18,7 @@ tags: ["database","mysql","fedora"]
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 a Fedora 12 Linode. For purposes of this tutorial, it is assumed that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH.
+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 a Fedora 12 Linode. For purposes of this tutorial, it is assumed 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), that your system is up to date, and that you've logged into your Linode as root via SSH.
## System Configuration
@@ -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](/docs/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 82898042826..d568d237043 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
@@ -18,7 +18,7 @@ tags: ["database","mysql","fedora"]
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 a Fedora 13 Linode. For purposes of this tutorial, it is assumed that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH.
+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 a Fedora 13 Linode. For purposes of this tutorial, it is assumed 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), that your system is up to date, and that you've logged into your Linode as root via SSH.
## System Configuration
@@ -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](/docs/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 36a5f84981f..ad61af0e44c 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
@@ -18,7 +18,7 @@ tags: ["database","mysql","fedora"]
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 a Fedora 14 Linode. For purposes of this tutorial, it is assumed that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH.
+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 a Fedora 14 Linode. For purposes of this tutorial, it is assumed 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), that your system is up to date, and that you've logged into your Linode as root via SSH.
## System Configuration
@@ -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](/docs/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 9454c662c8b..a77fc332e5c 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
@@ -18,7 +18,7 @@ tags: ["ubuntu","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 an Ubuntu 10.04 LTS (Lucid) Linode. For purposes of this tutorial, we'll assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH. If you're performing these steps as a standard user with sudo privileges, remember to prepend "sudo" to the commands shown below.
+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 an Ubuntu 10.04 LTS (Lucid) Linode. For purposes of this tutorial, we'll 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), that your system is up to date, and that you've logged into your Linode as root via SSH. If you're performing these steps as a standard user with sudo privileges, remember to prepend "sudo" to the commands shown below.
## Basic System Configuration
@@ -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](/docs/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](/docs/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 e29b0ba2141..e8f60faca04 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
@@ -18,7 +18,7 @@ tags: ["ubuntu","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 an Ubuntu 10.10 (Maverick) Linode. It is assumed that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH.
+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 an Ubuntu 10.10 (Maverick) Linode. It is assumed 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), that your system is up to date, and that you've logged into your Linode as root via SSH.
## Basic System Configuration
@@ -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](/docs/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](/docs/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-8-04-hardy/index.md b/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-8-04-hardy/index.md
index ac1e4ae7265..6e03474db5a 100644
--- a/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-8-04-hardy/index.md
+++ b/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-8-04-hardy/index.md
@@ -18,7 +18,7 @@ tags: ["ubuntu","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 an Ubuntu Hardy Linode. For purposes of this tutorial, we'll assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH. If you're performing these steps as a standard user with sudo privileges, remember to prepend "sudo" to the commands shown below.
+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 an Ubuntu Hardy Linode. For purposes of this tutorial, we'll 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), that your system is up to date, and that you've logged into your Linode as root via SSH. If you're performing these steps as a standard user with sudo privileges, remember to prepend "sudo" to the commands shown below.
## Installing MySQL
diff --git a/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-9-04-jaunty/index.md b/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-9-04-jaunty/index.md
index 98860a79003..34ee69e4549 100644
--- a/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-9-04-jaunty/index.md
+++ b/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-9-04-jaunty/index.md
@@ -18,7 +18,7 @@ tags: ["ubuntu","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 an Ubuntu Jaunty Linode. For purposes of this tutorial, we'll assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH. If you're performing these steps as a standard user with sudo privileges, remember to prepend "sudo" to the commands shown below.
+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 an Ubuntu Jaunty Linode. For purposes of this tutorial, we'll 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), that your system is up to date, and that you've logged into your Linode as root via SSH. If you're performing these steps as a standard user with sudo privileges, remember to prepend "sudo" to the commands shown below.
## Installing MySQL
diff --git a/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-9-10-karmic/index.md b/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-9-10-karmic/index.md
index c16c957e987..ffa5c5d9eab 100644
--- a/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-9-10-karmic/index.md
+++ b/docs/guides/databases/mysql/use-mysql-relational-databases-on-ubuntu-9-10-karmic/index.md
@@ -18,7 +18,7 @@ tags: ["ubuntu","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 an Ubuntu Karmic Linode. For purposes of this tutorial, we'll assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH. If you're performing these steps as a standard user with sudo privileges, remember to prepend "sudo" to the commands shown below.
+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 an Ubuntu Karmic Linode. For purposes of this tutorial, we'll 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), that your system is up to date, and that you've logged into your Linode as root via SSH. If you're performing these steps as a standard user with sudo privileges, remember to prepend "sudo" to the commands shown below.
## Installing MySQL
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 0a7b68e0cca..f8194de1196 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](/docs/guides/lemp-server-on-arch-linux/) and [LAMP guides](/docs/lamp-guides/).
+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](/docs/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 e08344cfb48..f99cff5b735 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
@@ -17,7 +17,7 @@ tags: ["database","mysql","fedora"]
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 a Fedora 14 Linode. For purposes of this tutorial, it is assumed that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), that your system is up to date, and that you've logged into your Linode as root via SSH.
+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 a Fedora 14 Linode. For purposes of this tutorial, it is assumed 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), that your system is up to date, and that you've logged into your Linode as root via SSH.
## System Configuration
@@ -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](/docs/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/using-mysql-relational-databases-on-gentoo/index.md b/docs/guides/databases/mysql/using-mysql-relational-databases-on-gentoo/index.md
index c6c15f205d3..cb577b0282c 100644
--- a/docs/guides/databases/mysql/using-mysql-relational-databases-on-gentoo/index.md
+++ b/docs/guides/databases/mysql/using-mysql-relational-databases-on-gentoo/index.md
@@ -20,7 +20,7 @@ deprecated: true
MySQL is a relational database management system (RDBMS) that is used as a backend for countless web and server applications. Originally released in 1995, it remains a popular choice for developers as a database server.
-Before beginning this guide, please make sure that you have completed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Additionally, make sure you are logged into your system as the root user.
+Before beginning this guide, please make sure 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). Additionally, make sure you are logged into your system as the root user.
## Installing MySQL
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 b42f213b131..9ae9f9696b3 100644
--- a/docs/guides/databases/mysql/vitess-mysql-for-kubernetes/index.md
+++ b/docs/guides/databases/mysql/vitess-mysql-for-kubernetes/index.md
@@ -61,7 +61,7 @@ Vitess features fall into 5 major areas.
## Prerequisites
-Before you install Vitess on LKE, you need to create a basic Kubernetes cluster. Follow the generic instructions in our [LKE getting started guide](/docs/products/compute/kubernetes/get-started/). You also need to install `kubectl`, the `mysql client`, and `vtctldclient` locally.
+Before you install Vitess on LKE, you need to create a basic Kubernetes cluster. Follow the generic instructions in our [LKE getting started guide](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine). You also need to install `kubectl`, the `mysql client`, and `vtctldclient` locally.
### Create an LKE (Kubernetes) Cluster
@@ -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](/docs/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 b0bc0f75002..5b69cba699f 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](/docs/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](/docs/guides/what-is-nosql/). However, NoSQL encompasses more than just graph databases. For example, a key-value store such as [Redis](/docs/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 9be43332a23..afe17ae1fe0 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,16 +14,16 @@ 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](/docs/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
-1. If you have not already done so, create a Linode account and several Compute Instances. See our [Getting Started](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides. You need two Ubuntu 22.04 LTS instances in the same datacenter. While it's possible to experiment with Neo4j on a single-core instance backed by one gigabyte of RAM, practical Neo4j applications generally occupy at least four cores and eight or more gigabytes of RAM. Also be sure to add a private IP address to both instances.
+1. If you have not already done so, create a Linode account and several Compute Instances. See our [Getting Started](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. You need two Ubuntu 22.04 LTS instances in the same datacenter. While it's possible to experiment with Neo4j on a single-core instance backed by one gigabyte of RAM, practical Neo4j applications generally occupy at least four cores and eight or more gigabytes of RAM. Also be sure to add a private IP address to both instances.
-1. Follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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 1ea538e7249..6bb3ffda9ef 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
@@ -20,7 +20,7 @@ deprecated: true
Oracle 10g is a robust, enterprise-grade relational database management system (RDBMS). The Oracle database platform was the first commercially available SQL-based DBMS, and is a great choice for applications that require large, distributed databases. This guide will help you get started with Oracle 10g XE (Express Edition) on your Debian 5 (Lenny) Linode.
-It is assumed that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH.
+It is assumed 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). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH.
**Please note:** Depending on the amount of memory your Linode has, Oracle may require up to a 1,024 MB swap partition. While we normally do not advise using a swap partition larger than 256 MB, in this case it's a good idea to resize your existing swap to 1,025 MB before proceeding with Oracle installation (the extra MB avoids differences in how megabytes are calculated).
@@ -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](/docs/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:

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 2f999583874..a4baa360596 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
@@ -20,7 +20,7 @@ deprecated: true
Oracle 10g is a robust, enterprise-grade relational database management system (RDBMS). The Oracle database platform was the first commercially available SQL-based DBMS, and is a great choice for applications that require large, distributed databases. This guide will help you get started with Oracle 10g XE (Express Edition) on your Debian 6 (Squeeze) Linode.
-It is assumed that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH.
+It is assumed 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). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH.
**Please note:** Depending on the amount of memory your Linode has, Oracle may require up to a 1,024 MB swap partition. While we normally do not advise using a swap partition larger than 256 MB, in this case it's a good idea to resize your existing swap to 1,025 MB before proceeding with Oracle installation (the extra MB avoids differences in how megabytes are calculated).
@@ -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](/docs/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:

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 86376598992..d533e1a7eac 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
@@ -20,7 +20,7 @@ deprecated: true
Oracle 10g is a robust, enterprise-grade relational database management system (RDBMS). The Oracle database platform was the first commercially available SQL-based DBMS, and is a great choice for applications that require large, distributed databases. This guide will help you get started with Oracle 10g XE (Express Edition) on your Ubuntu 10.04 LTS (Lucid) Linode.
-It is assumed that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH.
+It is assumed 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). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH.
**Please note:** Depending on the amount of memory your Linode has, Oracle may require up to a 1,024 MB swap partition. While we normally do not advise using a swap partition larger than 256 MB, in this case it's a good idea to resize your existing swap to 1,025 MB before proceeding with Oracle installation (the extra MB avoids differences in how megabytes are calculated).
@@ -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](/docs/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:

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 fe781a0ca44..ed63125d0cd 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
@@ -20,7 +20,7 @@ deprecated: true
Oracle 10g is a robust, enterprise-grade relational database management system (RDBMS). The Oracle database platform was the first commercially available SQL-based DBMS, and is a great choice for applications that require large, distributed databases. This guide will help you get started with Oracle 10g XE (Express Edition) on your Ubuntu 10.10 (Maverick) Linode.
-It is assumed that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH.
+It is assumed 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). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH.
**Please note:** Depending on the amount of memory your Linode has, Oracle may require up to a 1,024 MB swap partition. While we normally do not advise using a swap partition larger than 256 MB, in this case it's a good idea to resize your existing swap to 1,025 MB before proceeding with Oracle installation (the extra MB avoids differences in how megabytes are calculated).
@@ -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](/docs/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:

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 59e0132ac52..010e7f517a9 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
@@ -20,7 +20,7 @@ deprecated: true
Oracle 10g is a robust, enterprise-grade relational database management system (RDBMS). The Oracle database platform was the first commercially available SQL-based DBMS, and is a great choice for applications that require large, distributed databases. This guide will help you get started with Oracle 10g XE (Express Edition) on your Ubuntu 9.10 (Karmic) Linode.
-It is assumed that you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH.
+It is assumed 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). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH.
**Please note:** Depending on the amount of memory your Linode has, Oracle may require up to a 1,024 MB swap partition. While we normally do not advise using a swap partition larger than 256 MB, in this case it's a good idea to resize your existing swap to 1,025 MB before proceeding with Oracle installation (the extra MB avoids differences in how megabytes are calculated).
@@ -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](/docs/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:

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 6e389212d8e..e6f89545943 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: ['/databases/oracle/ssh-tunnel/','/databases/oracle/securely-administer-oracle-xe-with-an-ssh-tunnel/']
external_resources:
- - '[Using PuTTY](/docs/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 8e9e74c56d4..19426c25e78 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](/docs/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*](/docs/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](/docs/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 341b7c73154..fe227fc7635 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](/docs/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](/docs/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](/docs/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 10891cfd9fa..ae14f790adf 100644
--- a/docs/guides/databases/postgresql/centos-5/index.md
+++ b/docs/guides/databases/postgresql/centos-5/index.md
@@ -18,7 +18,7 @@ aliases: ['/databases/postgresql/centos-5/']
deprecated: true
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on CentOS 5. We assume you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on CentOS 5. We assume you've followed 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're logged into your Linode as root via SSH.
## Installing PostgreSQL
@@ -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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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 271531d87b4..5738109707d 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
@@ -35,12 +35,12 @@ This guide demonstrates how to install and use [*PostgreSQL*](https://www.postgr
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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 f3963b6973d..9eae38972bc 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,19 +103,19 @@ 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](/docs/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](/docs/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.
This solution has some limitations. It is not possible to choose the size of the HA cluster or manually edit any application variables. It is a viable option for a smaller organization with less technical expertise. However, it might not meet the specific requirements of a more complicated network.
-It is also possible to configure redundancy using the [IP failover](/docs/products/compute/compute-instances/guides/failover/) option. This feature allows multiple computing instances to share an IP address. If the primary system becomes inaccessible, the secondary server can take over. This enables some level of redundancy, although it is more limited than a full high-availability solution. Adding this enhancement involves configuring the [Lelastic](https://github.com/linode/lelastic) utility on your instances.
+It is also possible to configure redundancy using the [IP failover](https://techdocs.akamai.com/cloud-computing/docs/configure-failover-on-a-compute-instance) option. This feature allows multiple computing instances to share an IP address. If the primary system becomes inaccessible, the secondary server can take over. This enables some level of redundancy, although it is more limited than a full high-availability solution. Adding this enhancement involves configuring the [Lelastic](https://github.com/linode/lelastic) utility on your instances.
### Manual Deployment Using a Replication Manager
diff --git a/docs/guides/databases/postgresql/configure-postgresql/index.md b/docs/guides/databases/postgresql/configure-postgresql/index.md
index 08ef7bcfa14..ed3cb98c708 100644
--- a/docs/guides/databases/postgresql/configure-postgresql/index.md
+++ b/docs/guides/databases/postgresql/configure-postgresql/index.md
@@ -18,16 +18,16 @@ aliases: ['/databases/postgresql/configure-postgresql/']
## What is PostgreSQL?
-[PostgreSQL](https://www.postgresql.org/) is a popular, open source relational database system. Our [PostgreSQL section](/docs/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](/docs/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](/docs/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 cd6bb579589..d13ede03662 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
@@ -28,25 +28,25 @@ This guide shows you how to create a highly available Postgres cluster of three
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and familiarize yourself with SSH and connecting to your linode.
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and familiarize yourself with SSH and connecting to your linode.
-2. This guide will use `sudo` wherever possible. Complete the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account and harden SSH access.
+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 and harden SSH access.
3. Update your system:
sudo apt update && sudo apt upgrade
-4. Create five Linodes on your account, all within the same data center. Take note of each Linode's [private IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address)
+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](/docs/guides/linux-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
Install Postgres on three Linodes in your setup. Because the configuration in this guide uses private IP addresses to communicate between Linodes in the same data center, this setup may not meet certain [Highly Available requirements](https://docs.oracle.com/cd/B28359_01/server.111/b28281/hadesign.htm#g1007388).
-The examples in this guide assign the private IP addresses of the three Postgres Linodes `192.0.2.11`, `192.0.2.12` and `192.0.2.13`. To setup a private IP address on a Linode, refer to the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) guide for more information.
+The examples in this guide assign the private IP addresses of the three Postgres Linodes `192.0.2.11`, `192.0.2.12` and `192.0.2.13`. To setup a private IP address on a Linode, refer to the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) guide for more information.
1. On the three Linodes where you want to install Postgres, update the package lists:
diff --git a/docs/guides/databases/postgresql/debian-5-lenny/index.md b/docs/guides/databases/postgresql/debian-5-lenny/index.md
index 75df2e019d3..cfefdd50f74 100644
--- a/docs/guides/databases/postgresql/debian-5-lenny/index.md
+++ b/docs/guides/databases/postgresql/debian-5-lenny/index.md
@@ -18,7 +18,7 @@ aliases: ['/databases/postgresql/debian-5-lenny/']
deprecated: true
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Debian 5 (Lenny). We assume you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Debian 5 (Lenny). We assume you've followed 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're logged into your Linode as root via SSH.
## Installing PostgreSQL
diff --git a/docs/guides/databases/postgresql/debian-6-squeeze/index.md b/docs/guides/databases/postgresql/debian-6-squeeze/index.md
index 4d4e5210e48..7ad90e940f3 100644
--- a/docs/guides/databases/postgresql/debian-6-squeeze/index.md
+++ b/docs/guides/databases/postgresql/debian-6-squeeze/index.md
@@ -18,7 +18,7 @@ aliases: ['/databases/postgresql/debian-6-squeeze/']
deprecated: true
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Debian 6 (Squeeze). It is assumed that you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Debian 6 (Squeeze). It is assumed that you've followed 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're logged into your Linode as root via SSH.
## Installing PostgreSQL
diff --git a/docs/guides/databases/postgresql/fedora-12/index.md b/docs/guides/databases/postgresql/fedora-12/index.md
index c3fb7db9ffd..080572482de 100644
--- a/docs/guides/databases/postgresql/fedora-12/index.md
+++ b/docs/guides/databases/postgresql/fedora-12/index.md
@@ -18,7 +18,7 @@ aliases: ['/databases/postgresql/fedora-12/']
deprecated: true
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Fedora 12. We assume you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Fedora 12. We assume you've followed 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're logged into your Linode as root via SSH.
## Installing PostgreSQL
@@ -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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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 693f837b38e..1cbadca5afa 100644
--- a/docs/guides/databases/postgresql/fedora-13/index.md
+++ b/docs/guides/databases/postgresql/fedora-13/index.md
@@ -18,7 +18,7 @@ aliases: ['/databases/postgresql/fedora-13/']
deprecated: true
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Fedora 13. We assume you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Fedora 13. We assume you've followed 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're logged into your Linode as root via SSH.
## Installing PostgreSQL
@@ -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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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 53bf151ca99..6b0deaa3a13 100644
--- a/docs/guides/databases/postgresql/fedora-14/index.md
+++ b/docs/guides/databases/postgresql/fedora-14/index.md
@@ -18,7 +18,7 @@ aliases: ['/databases/postgresql/fedora-14/']
deprecated: true
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Fedora 14. We assume you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Fedora 14. We assume you've followed 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're logged into your Linode as root via SSH.
## System Configuration
@@ -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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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 8bf5b66318b..971912bfb7f 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"]

-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](/docs/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
@@ -58,7 +58,7 @@ Click the "Open" button to start your connection. If you haven't logged into you

-PuTTY is asking you to verify that the server you're logging into is who it says it is. This is due to the possibility that someone could be eavesdropping on your connection and posing as the server you are trying to log into. You need some "out of band" method to compare the key fingerprint presented to PuTTY with the fingerprint of the public key on the server you wish to log into. You may do so by logging into your Linode via [Lish](/docs/products/compute/compute-instances/guides/lish/) and executing the following command:
+PuTTY is asking you to verify that the server you're logging into is who it says it is. This is due to the possibility that someone could be eavesdropping on your connection and posing as the server you are trying to log into. You need some "out of band" method to compare the key fingerprint presented to PuTTY with the fingerprint of the public key on the server you wish to log into. You may do so by logging into your Linode via [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and executing the following command:
ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
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 152a99f9bc7..2f7e9f25131 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
@@ -28,12 +28,12 @@ The [PostgreSQL](https://www.postgresql.org/) (also known as "Postgres") relatio
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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 866f5e79e6e..443b886a4de 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
@@ -25,16 +25,16 @@ The [PostgreSQL](http://www.postgresql.org/) relational database system is a pow
## Before You Begin
-1. Familiarize yourself with our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and complete the steps for setting your Linode's hostname and timezone.
-2. Complete the sections of our [Securing Your Server guide](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account, harden SSH access and remove unnecessary network services.
+2. Complete the sections of our [Securing Your Server guide](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. 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, visit the [Users and Groups guide](/docs/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](/docs/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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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 7c38da9752f..8d0f1c19cf1 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
@@ -23,12 +23,12 @@ This guide provides an introduction to [*PostgreSQL*](https://www.postgresql.org
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-* [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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 55a53ff4f37..bcb1ef3944f 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
@@ -71,14 +71,14 @@ A drawback of repmgr is that it cannot recover resources or restore the state of
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with the Akamai cloud computing platform](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with the Akamai cloud computing platform](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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 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](/docs/guides/linux-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](/docs/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](/docs/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.
@@ -125,7 +125,7 @@ Users can choose to install PostgreSQL either from the default Ubuntu packages o
To install PostgreSQL, execute the instructions in this section on both the primary and standby nodes.
{{< note >}}
-Instead of running the same commands on both nodes, users have the option of cloning the primary server configuration to the standby server. Users selecting this option must perform the clone operation before adding any primary-specific PostgreSQL or repmgr configuration. See the [Instance Cloning guide](/docs/products/compute/compute-instances/guides/clone-instance/) for more information.
+Instead of running the same commands on both nodes, users have the option of cloning the primary server configuration to the standby server. Users selecting this option must perform the clone operation before adding any primary-specific PostgreSQL or repmgr configuration. See the [Instance Cloning guide](https://techdocs.akamai.com/cloud-computing/docs/clone-a-compute-instance) for more information.
{{< /note >}}
1. Ensure the server is up to date. Use the `apt update` command to install any updates. Reboot the server if necessary.
@@ -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](/docs/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](/docs/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 242f9dd0ad8..81f1a87ac54 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
@@ -22,14 +22,14 @@ pgAdmin is a free, open-source PostgreSQL database administration GUI for Micros
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/guides/linux-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 3ec5d42a043..513790810bc 100644
--- a/docs/guides/databases/postgresql/ubuntu-10-04-lucid/index.md
+++ b/docs/guides/databases/postgresql/ubuntu-10-04-lucid/index.md
@@ -19,7 +19,7 @@ deprecated: true
deprecated_link: /docs/guides/how-to-install-use-postgresql-ubuntu-20-04/
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on your Ubuntu 10.04 LTS (Lucid Linode. We assume you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on your Ubuntu 10.04 LTS (Lucid Linode. We assume you've followed 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're logged into your Linode as root via SSH.
## Installing PostgreSQL
@@ -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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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 fab914f673d..83e03ac1812 100644
--- a/docs/guides/databases/postgresql/ubuntu-10-10-maverick/index.md
+++ b/docs/guides/databases/postgresql/ubuntu-10-10-maverick/index.md
@@ -19,7 +19,7 @@ deprecated: true
deprecated_link: /docs/guides/how-to-install-use-postgresql-ubuntu-20-04/
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on your Ubuntu 10.10 (Maverick) system. We assume you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on your Ubuntu 10.10 (Maverick) system. We assume you've followed 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're logged into your Linode as root via SSH.
## Installing PostgreSQL
@@ -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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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-8-04-hardy/index.md b/docs/guides/databases/postgresql/ubuntu-8-04-hardy/index.md
index 32903349433..bdf3f4b7c30 100644
--- a/docs/guides/databases/postgresql/ubuntu-8-04-hardy/index.md
+++ b/docs/guides/databases/postgresql/ubuntu-8-04-hardy/index.md
@@ -19,7 +19,7 @@ deprecated: true
deprecated_link: /docs/guides/how-to-install-use-postgresql-ubuntu-20-04/
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Ubuntu 8.04 LTS (Hardy). We assume you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Ubuntu 8.04 LTS (Hardy). We assume you've followed 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're logged into your Linode as root via SSH.
## Installing PostgreSQL
diff --git a/docs/guides/databases/postgresql/ubuntu-9-04-jaunty/index.md b/docs/guides/databases/postgresql/ubuntu-9-04-jaunty/index.md
index 268118b5c38..1a34443a4d3 100644
--- a/docs/guides/databases/postgresql/ubuntu-9-04-jaunty/index.md
+++ b/docs/guides/databases/postgresql/ubuntu-9-04-jaunty/index.md
@@ -19,7 +19,7 @@ deprecated: true
deprecated_link: /docs/guides/how-to-install-use-postgresql-ubuntu-20-04/
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Ubuntu 9.04 (Jaunty). We assume you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Ubuntu 9.04 (Jaunty). We assume you've followed 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're logged into your Linode as root via SSH.
## Installing PostgreSQL
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 fb558a2f0a4..a4c2ab153f3 100644
--- a/docs/guides/databases/postgresql/ubuntu-9-10-karmic/index.md
+++ b/docs/guides/databases/postgresql/ubuntu-9-10-karmic/index.md
@@ -19,7 +19,7 @@ deprecated: true
deprecated_link: /docs/guides/how-to-install-use-postgresql-ubuntu-20-04/
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Ubuntu 9.10 (Karmic). We assume you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable, and standards-compliant open source database platform. This guide will help you install and configure PostgreSQL on Ubuntu 9.10 (Karmic). We assume you've followed 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're logged into your Linode as root via SSH.
## Installing PostgreSQL
@@ -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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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 a53527d2377..ffae1c61f5b 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
@@ -21,7 +21,7 @@ deprecated: true
deprecated_link: /docs/guides/how-to-install-use-postgresql-ubuntu-20-04/
---
-The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable and standards-compliant open-source database platform. This guide will help you install and configure PostgreSQL on your Ubuntu 12.04 LTS (Precise Pangolin) Linode. We assume you've followed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you're logged into your Linode as root via SSH.
+The [PostgreSQL](http://www.postgresql.org/) relational database system is a fast, scalable and standards-compliant open-source database platform. This guide will help you install and configure PostgreSQL on your Ubuntu 12.04 LTS (Precise Pangolin) Linode. We assume you've followed 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're logged into your Linode as root via SSH.
## Install PostgreSQL
@@ -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](/docs/guides/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/)
-- [Securely Manage Remote PostgreSQL Servers with pgAdmin on Mac OS X](/docs/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 c4dce017c2e..69bb9f1ae33 100644
--- a/docs/guides/databases/redis/hashes-in-redis-databases/index.md
+++ b/docs/guides/databases/redis/hashes-in-redis-databases/index.md
@@ -19,9 +19,9 @@ Redis, the open-source NoSQL database, is frequently used for caching, messaging
## Before You Begin
-1. Familiarize yourself with our [Getting Started with Linode](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for setting your Linode's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure 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.
1. Update your system.
@@ -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](/docs/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](/docs/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](/docs/guides/development/python/) and [Ruby](/docs/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](/docs/guides/databases/redis/). They cover topics like, [Using Sorted Sets in Redis Databases](/docs/guides/using-sorted-sets-in-redis-database/) and [Using Lists and Sets in Redis Databases](/docs/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 6f46d07d506..99fe20fb4ae 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
@@ -32,16 +32,16 @@ Since Redis serves all data from memory, we recommend using a [High Memory Linod
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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.
4. Install the `software-properties-common` package:
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](/docs/guides/linux-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 >}}
@@ -158,9 +158,9 @@ The following steps will guide you through master/slave replication, with the sl
For this section of the guide, you will use two Linodes, respectively named `master` and `slave`.
-1. Set up both Linodes with a Redis instance, using **Redis Installation** and **Redis Configuration** steps from this guide. You can also copy your initially configured disk to another Linode using the [Clone](/docs/products/compute/compute-instances/guides/clone-instance/#clone-to-an-existing-compute-instance) option in the Cloud Manager.
+1. Set up both Linodes with a Redis instance, using **Redis Installation** and **Redis Configuration** steps from this guide. You can also copy your initially configured disk to another Linode using the [Clone](https://techdocs.akamai.com/cloud-computing/docs/clone-a-compute-instance#clone-to-an-existing-compute-instance) option in the Cloud Manager.
-2. Configure [Private IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) on both Linodes, and make sure you can access the `master` Linode's private IP address from `slave`. You will use only private addresses for replication traffic for security reasons.
+2. Configure [Private IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) on both Linodes, and make sure you can access the `master` Linode's private IP address from `slave`. You will use only private addresses for replication traffic for security reasons.
3. Configure the `master` Redis instance to listen on a private IP address by updating the `bind` configuration option in `redis.conf`. Replace `192.0.2.100` with the `master` Linode's private IP address
@@ -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](/docs/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 e81a5997750..f9b640705be 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
@@ -30,14 +30,14 @@ This document provides both instructions for deploying the Redis server, and an
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/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
@@ -116,7 +116,7 @@ vm.overcommit_memory = 1
### Additional Swap
-Depending upon your usage, you may find it necessary to add extra swap disk space. You can add swap by [resizing your disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#resize-a-disk) in the Cloud Manager. The [Redis documentation](https://redis.io/topics/admin) recommends the size of your swap disk match the amount of memory available to your system.
+Depending upon your usage, you may find it necessary to add extra swap disk space. You can add swap by [resizing your disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#resize-a-disk) in the Cloud Manager. The [Redis documentation](https://redis.io/topics/admin) recommends the size of your swap disk match the amount of memory available to your system.
## Distributed Redis
@@ -138,9 +138,9 @@ To communicate over the private network, your master and slave Linodes must resi
### Prepare Your Linodes
-1. Set up both Linodes with a Redis instance, using the [Installation](#install-redis) and [Configuration](#configure-redis) steps from this guide. You can also copy your initially configured disk to another Linode using the [Clone](/docs/products/compute/compute-instances/guides/disks-and-storage/#resize-a-disk) option in the Cloud Manager.
+1. Set up both Linodes with a Redis instance, using the [Installation](#install-redis) and [Configuration](#configure-redis) steps from this guide. You can also copy your initially configured disk to another Linode using the [Clone](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#resize-a-disk) option in the Cloud Manager.
-2. Configure [Private IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) on both Linodes, and make sure you can access the master Linode's private IP address from the slave. You will use only private addresses for replication traffic for security reasons.
+2. Configure [Private IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) on both Linodes, and make sure you can access the master Linode's private IP address from the slave. You will use only private addresses for replication traffic for security reasons.
### Configure the Master Linode
@@ -198,7 +198,7 @@ Your master/slave replication setup is working properly.
Since Redis is designed to work in trusted environments and with trusted clients, you should control access to the Redis instance. Some recommended security steps include:
-- Set up a firewall using [your tool of choice](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall).
+- Set up a firewall using [your tool of choice](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall).
- Encrypt 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-redis-ubuntu/index.md b/docs/guides/databases/redis/install-redis-ubuntu/index.md
index 1a29033c914..ecbdda01cd6 100644
--- a/docs/guides/databases/redis/install-redis-ubuntu/index.md
+++ b/docs/guides/databases/redis/install-redis-ubuntu/index.md
@@ -25,12 +25,12 @@ This guide explains how to install and perform the basic configuration of [*Redi
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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 71bcec115a6..a9bd97c380d 100644
--- a/docs/guides/databases/redis/lua-scripting-for-redis/index.md
+++ b/docs/guides/databases/redis/lua-scripting-for-redis/index.md
@@ -21,14 +21,14 @@ In this tutorial learn what Redis' Lua scripting has to offer and how you can st
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/guides/linux-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](/docs/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 073d678166f..3d9da91890a 100644
--- a/docs/guides/databases/redis/redis-client-side-caching/index.md
+++ b/docs/guides/databases/redis/redis-client-side-caching/index.md
@@ -20,9 +20,9 @@ This tutorial explains the concepts behind Redis's server-assisted client-side c
## Before You Begin
-1. Familiarize yourself with our [Getting Started with Linode](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for setting your Linode's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+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) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
1. Update your system.
@@ -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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/guides/redis-getting-started/) to working with the [hash data type in Redis](/docs/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 620073f9faf..d150fb2458c 100644
--- a/docs/guides/databases/redis/redis-getting-started/index.md
+++ b/docs/guides/databases/redis/redis-getting-started/index.md
@@ -20,18 +20,18 @@ This tutorial gets you started using Redis. It explains how to connect to a Redi
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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/assets/631-redis-init-rpm.sh b/docs/guides/databases/redis/redis-on-centos-5/631-redis-init-rpm.sh
similarity index 100%
rename from docs/assets/631-redis-init-rpm.sh
rename to docs/guides/databases/redis/redis-on-centos-5/631-redis-init-rpm.sh
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 b6142deff38..ee938c1c557 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -131,7 +131,7 @@ While running the Redis instance in this configuration is useful for testing and
Issue the following sequence of commands to download a basic init script, create a dedicated system user, mark this file as executable, and ensure that the Redis process will start following the next boot cycle:
cd /opt/
- wget -O init-rpm.sh http://www.linode.com/docs/assets/631-redis-init-rpm.sh
+ wget -O init-rpm.sh 631-redis-init-rpm.sh
useradd -M -r --home-dir /opt/redis redis
mv /opt/init-rpm.sh /etc/init.d/redis
chmod +x /etc/init.d/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](/docs/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](/docs/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/assets/628-redis-init-deb.sh b/docs/guides/databases/redis/redis-on-debian-5-lenny/628-redis-init-deb.sh
similarity index 100%
rename from docs/assets/628-redis-init-deb.sh
rename to docs/guides/databases/redis/redis-on-debian-5-lenny/628-redis-init-deb.sh
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 62894bcca99..41b264c82e8 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -127,7 +127,7 @@ While running the Redis instance in this configuration is useful for testing and
Issue the following sequence of commands to download a basic init script, create a dedicated system user, mark this file as executable, and ensure that the Redis process will start following the next boot cycle:
cd /opt/
- wget -O init-deb.sh http://www.linode.com/docs/assets/628-redis-init-deb.sh
+ wget -O init-deb.sh 628-redis-init-deb.sh
adduser --system --no-create-home --disabled-login --disabled-password --group redis
mv /opt/init-deb.sh /etc/init.d/redis
chmod +x /etc/init.d/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](/docs/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](/docs/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/assets/627-redis-init-deb.sh b/docs/guides/databases/redis/redis-on-debian-6-squeeze/627-redis-init-deb.sh
similarity index 100%
rename from docs/assets/627-redis-init-deb.sh
rename to docs/guides/databases/redis/redis-on-debian-6-squeeze/627-redis-init-deb.sh
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 7c5bc9d1ab8..54e859ad650 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -127,7 +127,7 @@ While running the Redis instance in this configuration is useful for testing and
Issue the following sequence of commands to download a basic init script, create a dedicated system user, mark this file as executable, and ensure that the Redis process will start following the next boot cycle:
cd /opt/
- wget -O init-deb.sh http://www.linode.com/docs/assets/627-redis-init-deb.sh
+ wget -O init-deb.sh 627-redis-init-deb.sh
adduser --system --no-create-home --disabled-login --disabled-password --group redis
mv /opt/init-deb.sh /etc/init.d/redis
chmod +x /etc/init.d/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](/docs/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](/docs/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/assets/578-redis-init-rpm.sh b/docs/guides/databases/redis/redis-on-fedora-13/578-redis-init-rpm.sh
similarity index 100%
rename from docs/assets/578-redis-init-rpm.sh
rename to docs/guides/databases/redis/redis-on-fedora-13/578-redis-init-rpm.sh
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 af03a37a59e..68f05ea4705 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -126,7 +126,7 @@ While running the Redis instance in this configuration is useful for testing and
Issue the following sequence of commands to download a basic init script, create a dedicated system user, mark this file as executable, and ensure that the Redis process will start following the next boot cycle:
cd /opt
- wget -O init-rpm.sh http://www.linode.com/docs/assets/578-redis-init-rpm.sh
+ wget -O init-rpm.sh 578-redis-init-rpm.sh
useradd -M -r --home-dir /opt/redis redis
mv /opt/init-rpm.sh /etc/init.d/redis
chmod +x /etc/rc.d/init.d/redis /etc/init.d/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](/docs/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](/docs/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/assets/632-redis-init-rpm.sh b/docs/guides/databases/redis/redis-on-fedora-14/632-redis-init-rpm.sh
similarity index 100%
rename from docs/assets/632-redis-init-rpm.sh
rename to docs/guides/databases/redis/redis-on-fedora-14/632-redis-init-rpm.sh
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 58389641ed5..70316674d47 100644
--- a/docs/guides/databases/redis/redis-on-fedora-14/index.md
+++ b/docs/guides/databases/redis/redis-on-fedora-14/index.md
@@ -124,7 +124,7 @@ While running the Redis instance in this configuration is useful for testing and
Issue the following sequence of commands to download a basic init script, create a dedicated system user, mark this file as executable, and ensure that the Redis process will start following the next boot cycle:
cd /opt
- wget -O init-rpm.sh http://www.linode.com/docs/assets/632-redis-init-rpm.sh
+ wget -O init-rpm.sh 632-redis-init-rpm.sh
useradd -M -r --home-dir /opt/redis redis
mv /opt/init-rpm.sh /etc/init.d/redis
chmod +x /etc/rc.d/init.d/redis /etc/init.d/redis
@@ -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](/docs/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](/docs/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/assets/629-redis-init-deb.sh b/docs/guides/databases/redis/redis-on-ubuntu-10-04-lucid/629-redis-init-deb.sh
similarity index 100%
rename from docs/assets/629-redis-init-deb.sh
rename to docs/guides/databases/redis/redis-on-ubuntu-10-04-lucid/629-redis-init-deb.sh
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 149954541b7..c7e68c98a77 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux systems administration, we recommend that you read the guides in our [using Linux](/docs/guides/introduction-to-linux-concepts/) series, particularly the [administration basics guide](/docs/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
@@ -127,7 +127,7 @@ While running the Redis instance in this configuration is useful for testing and
Issue the following sequence of commands to download a basic init script, create a dedicated system user, mark this file as executable, and ensure that the Redis process will start following the next boot cycle:
cd /opt/
- wget -O init-deb.sh http://www.linode.com/docs/assets/629-redis-init-deb.sh
+ wget -O init-deb.sh 629-redis-init-deb.sh
adduser --system --no-create-home --disabled-login --disabled-password --group redis
mv /opt/init-deb.sh /etc/init.d/redis
chmod +x /etc/init.d/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](/docs/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](/docs/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/assets/630-redis-init-deb.sh b/docs/guides/databases/redis/redis-on-ubuntu-10-10-maverick/630-redis-init-deb.sh
similarity index 100%
rename from docs/assets/630-redis-init-deb.sh
rename to docs/guides/databases/redis/redis-on-ubuntu-10-10-maverick/630-redis-init-deb.sh
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 6f8b483ca73..fb0d579aa08 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -176,7 +176,7 @@ While running the Redis instance in this configuration is useful for testing and
Issue the following sequence of commands to download a basic init script, create a dedicated system user, mark this file as executable, and ensure that the Redis process will start following the next boot cycle:
cd /opt/
- wget -O init-deb.sh http://www.linode.com/docs/assets/630-redis-init-deb.sh
+ wget -O init-deb.sh 630-redis-init-deb.sh
adduser --system --no-create-home --disabled-login --disabled-password --group redis
mv /opt/init-deb.sh /etc/init.d/redis
chmod +x /etc/init.d/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](/docs/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](/docs/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 a65a4da32d5..d0b8836d494 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux systems administration, we recommend that you read the [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/) and the [administration basics guide](/docs/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](/docs/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](/docs/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/assets/577-redis-init-deb.sh b/docs/guides/databases/redis/redis-on-ubuntu-9-10-karmic/577-redis-init-deb.sh
similarity index 100%
rename from docs/assets/577-redis-init-deb.sh
rename to docs/guides/databases/redis/redis-on-ubuntu-9-10-karmic/577-redis-init-deb.sh
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 925a1337eec..cd6348bea39 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
@@ -127,7 +127,7 @@ While running the Redis instance in this configuration is useful for testing and
Issue the following sequence of commands to download a basic init script, create a dedicated system user, mark this file as executable, and ensure that the Redis process will start following the next boot cycle:
cd /opt/
- wget -O init-deb.sh http://www.linode.com/docs/assets/577-redis-init-deb.sh
+ wget -O init-deb.sh 577-redis-init-deb.sh
adduser --system --no-create-home --disabled-login --disabled-password --group redis
mv /opt/init-deb.sh /etc/init.d/redis
chmod +x /etc/init.d/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](/docs/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](/docs/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 e68ab9db2d9..360c9fb1cfb 100644
--- a/docs/guides/databases/redis/redis-server-cli/index.md
+++ b/docs/guides/databases/redis/redis-server-cli/index.md
@@ -17,9 +17,9 @@ Redis is an open-source NoSQL database boasting quick transactions and low laten
## Before You Begin
-1. Familiarize yourself with our [Getting Started with Linode](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for setting your Linode's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure 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.
1. Update your system.
@@ -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](/docs/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](/docs/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](/docs/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](/docs/guides/redis-getting-started/) to [using sorted sets in Redis databases](/docs/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 98e19bfae03..68abfdbd2d0 100644
--- a/docs/guides/databases/redis/redis-transaction-blocks/index.md
+++ b/docs/guides/databases/redis/redis-transaction-blocks/index.md
@@ -20,9 +20,9 @@ This guide walks you through using Redis's transaction blocks. Transaction block
## Before You Begin
-1. Familiarize yourself with our [Getting Started with Linode](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for setting your Linode's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+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) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
1. Update your system.
@@ -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](/docs/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](/docs/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](/docs/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](/docs/guides/redis-getting-started/) to working with the [hash data type](/docs/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 0244157cddd..a7645741c92 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,18 +17,18 @@ 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](/docs/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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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 384aad8d9c9..875d1ed3654 100644
--- a/docs/guides/databases/redis/using-redis-scan-commands/index.md
+++ b/docs/guides/databases/redis/using-redis-scan-commands/index.md
@@ -21,9 +21,9 @@ This guide covers Redis's SCAN commands, which provide a cursor-based method for
## Before You Begin
-1. Familiarize yourself with our [Getting Started with Linode](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for setting your Linode's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure 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.
1. Update your system.
@@ -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](/docs/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](/docs/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](/docs/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 e54bf79f773..0c8700b0cbd 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,18 +15,18 @@ 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](/docs/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
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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](/docs/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 17991ad972d..70edcb60e73 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](/docs/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](/docs/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 02a267e0cc2..48460b61cc2 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](/docs/guides/sql-joins/), [grouping and totaling](/docs/guides/sql-grouping-and-totaling/), and [SQL user management security](/docs/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 c5abce4e9c6..f2183b36ded 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](/docs/guides/sql-data-types/), [joins](/docs/guides/sql-joins/), and [SQL user management security](/docs/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 00ec14d291e..06038bc58b5 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](/docs/guides/sql-data-types/), [grouping and totaling](/docs/guides/sql-grouping-and-totaling/), and [SQL user management security](/docs/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 d569764b44a..07a42c5fbc4 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](/docs/guides/sql-joins/), [data types](/docs/guides/sql-data-types/), and [grouping and totaling](/docs/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 5b16307d347..cf95c797f75 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](/docs/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,11 +82,11 @@ 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*](/docs/guides/control-network-traffic-with-iptables/) can control traffic on Linux operating systems. Other popular firewall options are also available, including [UFW](/docs/guides/configure-firewall-with-ufw/), [nftables](/docs/guides/how-to-use-nftables/), and [FirewallD](/docs/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.
-- You can also [add the free Linode Cloud Firewalls service](/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/) to a Linode Compute Instance that hosts SQL Server.
+- You can also [add the free Linode Cloud Firewalls service](https://techdocs.akamai.com/cloud-computing/docs/create-a-cloud-firewall) to a Linode Compute Instance that hosts SQL Server.
## SQL Server Patches (Service Packs)
@@ -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](/docs/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 0c4adb4fe95..e119240b940 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](/docs/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](/docs/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](/docs/guides/configure-firewall-with-ufw/), [nftables](/docs/guides/how-to-use-nftables/), and [FirewallD](/docs/guides/introduction-to-firewalld-on-centos/). You can also [add the free Linode Cloud Firewalls service](/docs/products/networking/cloud-firewall/guides/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](/docs/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 43fdcf3a08c..f75e26412c3 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](/docs/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 37416e6d117..385e67100da 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](/docs/guides/databases/mysql/) or [PostgreSQL](/docs/guides/databases/postgresql/)), and NoSQL databases (like [MongoDB](/docs/guides/databases/mongodb/) or [CouchDB](/docs/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 e4f9416ddc6..44136c6c5a2 100644
--- a/docs/guides/databases/surrealdb/deploy-surrealdb-cluster/index.md
+++ b/docs/guides/databases/surrealdb/deploy-surrealdb-cluster/index.md
@@ -25,13 +25,13 @@ Typically, SurrealDB uses either in-memory or in-file storage, but SurrealDB als
To get started, you need to have a Kubernetes cluster up and running, along with `kubectl` or a similar tool set up to manage the cluster. This tutorial provides commands specifically for `kubectl`.
-Linode offers the Linode Kubernetes Engine (LKE) as a convenient way to get started. You can deploy a cluster directly from the Cloud Manager. Our guide [Linode Kubernetes Engine - Getting Started](/docs/products/compute/kubernetes/get-started/) includes steps for deploying a new cluster and setting up a `kubectl` instance to manage it.
+Linode offers the Linode Kubernetes Engine (LKE) as a convenient way to get started. You can deploy a cluster directly from the Cloud Manager. Our guide [Linode Kubernetes Engine - Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine) includes steps for deploying a new cluster and setting up a `kubectl` instance to manage it.
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](/docs/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](/docs/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](/docs/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.
@@ -501,6 +501,6 @@ As the beginning of this tutorial indicated, SurrealDB can fit a range of use ca
To keep learning about SurrealDB, and to get more ideas for using it with your applications, take a look at our other SurrealDB guides:
-- [Building an Web Application on Top of SurrealDB](/docs/guides/surrealdb-for-web-applications)
+- [Building an Web Application on Top of SurrealDB](/cloud/guides/surrealdb-for-web-applications)
-- [Modeling Data with SurrealDB’s Inter-document Relations](/docs/guides/surrealdb-interdocument-modeling)
\ No newline at end of file
+- [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/getting-started-with-surrealdb/index.md b/docs/guides/databases/surrealdb/getting-started-with-surrealdb/index.md
index 26142bbf26c..a4c3b0c930b 100644
--- a/docs/guides/databases/surrealdb/getting-started-with-surrealdb/index.md
+++ b/docs/guides/databases/surrealdb/getting-started-with-surrealdb/index.md
@@ -29,12 +29,12 @@ Though not complete, here is a list of some of the features that SurrealDB offer
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/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](/docs/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](/docs/guides/deploy-surrealdb-cluster/)
-- [Building an Web Application on Top of SurrealDB](/docs/guides/surrealdb-for-web-applications)
-- [Modeling Data with SurrealDB’s Inter-document Relations](/docs/guides/surrealdb-interdocument-modeling)
\ No newline at end of file
+- [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 2206d7b5697..13e7a572df7 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](/docs/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](/docs/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](/docs/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](/docs/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.
@@ -474,6 +474,6 @@ You now have what you need to secure your SurrealDB instance and start managing
With a secured SurrealDB server, you're in an excellent position to consider setting up SurrealDB for a particular use case. Get a head start by following along with one of our other guides on SurrealDB:
-- [Building an Web Application on Top of SurrealDB](/docs/guides/surrealdb-for-web-applications)
-- [Modeling Data with SurrealDB’s Inter-document Relations](/docs/guides/surrealdb-interdocument-modeling)
-- [Deploying a SurrealDB Cluster](/docs/guides/deploy-surrealdb-cluster/)
\ No newline at end of file
+- [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
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 52fb81c20b4..99bf5a120c4 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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/guides/set-up-web-server-host-website/). Additionally, our guide on how to [Deploy a Static Site using Hugo and Object Storage](/docs/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.
@@ -787,7 +787,7 @@ The steps that follow outline a method for deploying the Gatsby application crea
gatsby build
```
-1. Install `s3cmd` and configure it for your Linode Object Storage credentials and settings. See how to do that in our guide [Using S3cmd with Object Storage](/docs/products/storage/object-storage/guides/s3cmd/).
+1. Install `s3cmd` and configure it for your Linode Object Storage credentials and settings. See how to do that in our guide [Using S3cmd with Object Storage](https://techdocs.akamai.com/cloud-computing/docs/using-s3cmd-with-object-storage).
1. Use `s3cmd` to create a new bucket, initialize the bucket as a website, and sync the application's static files to the bucket:
@@ -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](/docs/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](/docs/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 6eae89d166f..0aac778c8d4 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](/docs/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](/docs/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](/docs/guides/surrealdb-for-web-applications)
+- [Building an Web Application on Top of SurrealDB](/cloud/guides/surrealdb-for-web-applications)
-- [Deploying a SurrealDB Cluster](/docs/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 9c19d5560a8..3fbd4802a68 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](/docs/guides/what-is-a-tls-certificate/) and [Securing Web Traffic Using Certbot](/docs/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](/docs/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 b60cdf0d13f..4c4a7b2657c 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](/docs/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](/docs/guides/what-is-serverless-computing/) and [micro-services](/docs/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](/docs/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 5d75e7d818c..f81a8af6b38 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](/docs/guides/how-to-use-grep-command/) guide. The guide also shows you other useful operations, like [piping command outputs to grep](/docs/guides/how-to-use-grep-command/#piping-command-outputs-to-grep) and how to [recursively search through a directory tree](/docs/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](/docs/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](/docs/guides/manipulate-text-from-the-command-line-with-sed/#finding-and-replacing-strings-within-files-using-sed), [delete lines from files using sed](/docs/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](/docs/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 cd6b6fe8247..cbb94cfb5c5 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](/docs/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/bash/advanced-bash-scripting-1/index.md b/docs/guides/development/bash/advanced-bash-scripting-1/index.md
index dbe0ca1a175..ab659964f8b 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](/docs/guides/intro-bash-shell-scripting/) guide and our [Intermediate Guide to Bash Shell Scripting](/docs/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 8291811029e..02820f491be 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**](/docs/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](/docs/guides/intro-bash-shell-scripting/) and [Intermediate Guide to Bash Scripting](/docs/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 90495653a08..f5e458956a6 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: ['/development/bash/an-intermediate-guide-to-bash-scripting/']
---
-In the previous guide of this series, [Getting Started with Bash Scripting](/docs/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](/docs/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](/docs/guides/modify-file-permissions-with-chmod/#changing-file-permissions-with-chmod) set. |
-| `-k` | File exists and has a [sticky bit flag](/docs/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](/docs/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](/docs/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 13100afbb6d..39efc88894c 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
@@ -62,12 +62,12 @@ The directive `#!/bin/false` is a special Shebang. It immediately exits and retu
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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 6ee64321da1..2e348bdb85c 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](/docs/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](/docs/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](/docs/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 2dd87e3e470..bddefc56a2e 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](/docs/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](/docs/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 abeb0861eb1..a0cf0daeda3 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, we recommend considering the [beginner's guide](/docs/products/compute/compute-instances/faqs/) and the article concerning [systems administration basics](/docs/guides/linux-system-administration-basics/). Additionally, you'll need to have followed the [LAMP guide for CentOS 5](/docs/guides/lamp-server-on-centos-5/) and be able to [send email from your Linode](/docs/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](/docs/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 fdcab6ff0bc..fde5ea7adc6 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, we recommend considering the [beginner's guide](/docs/products/compute/compute-instances/faqs/) and the article concerning [systems administration basics](/docs/guides/linux-system-administration-basics/). Additionally, you'll need to have followed both the [LAMP guide for Debian Lenny](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/) as well as the [Exim guide](/docs/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](/docs/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 87d8cfa1cfb..4f46b841d98 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, we recommend considering the [beginner's guide](/docs/products/compute/compute-instances/faqs/) and the article concerning [systems administration basics](/docs/guides/linux-system-administration-basics/). Additionally, you'll need to have followed the [LAMP guide for Fedora 14](/docs/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) and be able to [send email from your Linode](/docs/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](/docs/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 2396e517220..e2297503678 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
@@ -17,12 +17,12 @@ In this guide, learn everything you need to get started using SonarQube. The gui
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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?](/docs/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](/docs/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 751e838ccf4..6dbb8139d38 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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 8b9b32b9744..5e9f49300fc 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/web-servers/lamp/) for your operating system. Additionally you will need to install a local [MTA to send email](/docs/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 9870eb39a76..8353dcc2e4a 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](/docs/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](/docs/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 e01713c6e25..ed1c2175f7d 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](/docs/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 3b433b8d341..910579d4d13 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
@@ -23,12 +23,12 @@ dedicated_cpu_link: true
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/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 743892db728..ea08f16639c 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: ['/development/ci/introduction-ci-cd/']
license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)'
external_resources:
- - '[How to Automate Builds with Jenkins on Ubuntu](/docs/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 6a1bca3e6b1..91d1bea3c97 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
@@ -28,17 +28,17 @@ aliases: ['/development/ci/use-buildbot-for-software-testing-on-ubuntu/']
## Before you Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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/"
...
{{ file >}}
- 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](/docs/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](/docs/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 9b5145a87f2..baefcb385d3 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: ['/development/ci/what-is-immutable-infrastructure/']
## What is Immutable Infrastructure?
-Within a [Continuous Delivery](/docs/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](/docs/guides/beginners-guide-chef/) or [Jenkins](/docs/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](/docs/guides/introduction-to-docker/) guide. You can also read [How to Deploy Microservices with Docker](/docs/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](/docs/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**
@@ -70,11 +70,11 @@ Immutable infrastructure is an idea that was popularized by [Chad Fowler in 2013
Here are some popular tools:
-- [Linode Images](/docs/products/tools/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.
+- [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](/docs/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](/docs/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](/docs/products/storage/block-storage/) can easily store and persist date across Linodes.
-- [Jenkins](/docs/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.
+- [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.
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 780f3b562bc..b7c58781a63 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
@@ -27,19 +27,19 @@ This guide will show how to deploy a Clojure application to WildFly - the popula
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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](/docs/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 1af13a640ef..c3f517bc8bf 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](/docs/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 8c519b5c980..a371b5581d6 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](/docs/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/introducing-http-2/index.md b/docs/guides/development/concepts/introducing-http-2/index.md
index c1c1d618bc9..96bad886ad0 100644
--- a/docs/guides/development/concepts/introducing-http-2/index.md
+++ b/docs/guides/development/concepts/introducing-http-2/index.md
@@ -63,6 +63,6 @@ While HTTP/2 is widely seen as a big improvement over HTTP/1.1, the new version
## Implement HTTP/2 on Apache or NGINX
-More in-depth resources on HTTP/2 are available for those who want to learn more about the protocol. You can refer to our [How to Configure HTTP/2 on Apache](/docs/guides/how-to-configure-http-2-on-apache) and [NGINX](/docs/guides/how-to-configure-http-2-on-nginx) to use the protocol for your websites.
+More in-depth resources on HTTP/2 are available for those who want to learn more about the protocol. You can refer to our [How to Configure HTTP/2 on Apache](/cloud/guides/how-to-configure-http-2-on-apache) and [NGINX](/cloud/guides/how-to-configure-http-2-on-nginx) to use the protocol for your websites.
diff --git a/docs/guides/development/concepts/oop-principles/index.md b/docs/guides/development/concepts/oop-principles/index.md
index fc218ac374e..4415d7135dc 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](/docs/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](/docs/guides/development/javascript/), [Python](/docs/guides/development/python/), and [Ruby](/docs/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/system-design/index.md b/docs/guides/development/concepts/system-design/index.md
index 2535082698e..3e7023b92e4 100644
--- a/docs/guides/development/concepts/system-design/index.md
+++ b/docs/guides/development/concepts/system-design/index.md
@@ -96,7 +96,7 @@ As the demand for an application changes, the underlying hardware must scale to
- Increased complexity due to needed tasks, such as cloning servers.
- Added demand on downstream servers to provide caching and database support.
- Reduced reliability because a single load balancer can become a single point of failure.
-- **Vertical**: Where the [size of the server changes](/docs/products/compute/compute-instances/guides/resize/) to meet new needs. This form of scaling is typically used to enhance anticipated changes in application use and is a manual process. It’s also normally used by small-to-medium-sized businesses that don’t want, or need, the complexity of load balancing. Issues with vertical scaling include:
+- **Vertical**: Where the [size of the server changes](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) to meet new needs. This form of scaling is typically used to enhance anticipated changes in application use and is a manual process. It’s also normally used by small-to-medium-sized businesses that don’t want, or need, the complexity of load balancing. Issues with vertical scaling include:
- Potential size limitations of the physical server or virtual server instance.
- Higher risk of downtime and outages because the load isn’t distributed across multiple, redundant servers.
diff --git a/docs/guides/development/concepts/types-of-api/index.md b/docs/guides/development/concepts/types-of-api/index.md
index b63c3ee72b6..558aa6ed55b 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](/docs/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](/docs/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](/docs/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](/docs/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 27b142fb263..e18ad45037c 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?](/docs/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](/docs/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 a5de33fe1e8..93d1cc056b4 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](/docs/guides/how-to-install-hashicorp-consul-service-mesh/)
-- [How to Deploy Linkerd 2 with Linode Kubernetes Engine](/docs/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 c97d0a50af1..279235affe1 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](/docs/guides/development/go/), [Python](/docs/guides/development/python/), [Ruby](/docs/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 2220ed7f658..5519d443ffe 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](/docs/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](/docs/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](/docs/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 b1d583f5f66..b8e23a5d8db 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
@@ -76,12 +76,12 @@ Under some circumstances, Deno and Node.js can be used together. Many NPM packag
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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-centos-8/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-centos-8/index.md
index bcad6dd1a0b..ea54a8678e7 100644
--- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-centos-8/index.md
+++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-centos-8/index.md
@@ -28,9 +28,9 @@ Apache Tomcat is an open-source software implementation of the Java Servlet and
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for [setting your Linode's hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) and [timezone](/docs/products/compute/compute-instances/guides/set-up-and-secure/#set-the-timezone).
+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](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) and [timezone](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#set-the-timezone).
-1. Follow our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to [create a standard user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account), [harden SSH access](/docs/products/compute/compute-instances/guides/set-up-and-secure/#harden-ssh-access), and [create firewall rules](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) for your web server; you may need to make additional firewall exceptions for your specific application.
+1. Follow 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](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account), [harden SSH access](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#harden-ssh-access), and [create firewall rules](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) for your web server; you may need to make additional firewall exceptions for your specific application.
{{% content "limited-user-note-shortguide" %}}
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 f562e671a1e..d6a96104637 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,9 +28,9 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](/docs/products/compute/compute-instances/faqs/) and the article concerning [systems administration basics](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). Issue the following commands to make sure it is set properly:
+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:
hostname
hostname -f
@@ -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](/docs/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-debian-5-lenny/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-debian-5-lenny/index.md
index f609d8fc51d..d0a23d1a245 100644
--- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-debian-5-lenny/index.md
+++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-debian-5-lenny/index.md
@@ -20,13 +20,13 @@ deprecated: true
Apache Tomcat is a free and open source software implementation for JavaServlets. It provides support for Java Server Pages (JSP), which power many popular web-based applications. You may choose to run Tomcat with either Sun's Java implementation or the OpenJDK implementation of Java, and this document provides instructions for using either option.
-This guide assumes that you have a working installation of Debian 5 (Lenny), and have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to get your system working and up to date. We also assume that you have a functional SSH connection and root access to your server.
+This guide assumes that you have a working installation of Debian 5 (Lenny), and 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. We also assume that you have a functional SSH connection and root access to your server.
Tomcat version 6 was not included as part of Debian Lenny because of concerns that because of how packages work, packaging Tomcat would introduce a unique class of bugs into it. In any case, installing without apt just adds a few extra steps, and is easily accomplished.
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
diff --git a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-debian-6-squeeze/index.md b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-debian-6-squeeze/index.md
index 94cd2b91ba3..98789d58984 100644
--- a/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-debian-6-squeeze/index.md
+++ b/docs/guides/development/frameworks/apache-tomcat/apache-tomcat-on-debian-6-squeeze/index.md
@@ -22,7 +22,7 @@ Apache Tomcat is a free and open source software implementation for JavaServlets
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
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 2fb7660daeb..8d406825b7e 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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 a179aead280..8ce377a267a 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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 e55687c06e2..2a4ee1a4db3 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
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 ad85f8e7140..d67ba8550cf 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](/docs/products/compute/compute-instances/faqs/) and the article concerning [systems administration basics](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
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 c04016a7183..38b77da0d02 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](/docs/products/compute/compute-instances/faqs/) and the article concerning [systems administration basics](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
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 688d1bbf42c..c67bc34c73b 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,11 +22,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](/docs/products/compute/compute-instances/faqs/) and the article concerning [systems administration basics](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
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 c068458ecb6..30519278ce4 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,9 +31,9 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](/docs/products/compute/compute-instances/faqs/) and the article concerning [systems administration basics](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). Issue the following commands to make sure it is set properly:
+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:
hostname
hostname -f
@@ -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](/docs/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 e40f58f8e4b..6d53e3bca42 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,9 +28,9 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](/docs/products/compute/compute-instances/faqs/) and the article concerning [systems administration basics](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). Issue the following commands to make sure it is set properly:
+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:
hostname
hostname -f
@@ -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](/docs/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 89c0bc5effb..ffc31c918e2 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, we recommend reviewing our [beginner's guide](/docs/products/compute/compute-instances/faqs/) and the article concerning [systems administration basics](/docs/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-8-04-lts-hardy/index.md b/docs/guides/development/frameworks/apache-tomcat/installing-apache-tomcat-on-ubuntu-8-04-lts-hardy/index.md
index 4fa62a7bc32..0a931cb1571 100644
--- a/docs/guides/development/frameworks/apache-tomcat/installing-apache-tomcat-on-ubuntu-8-04-lts-hardy/index.md
+++ b/docs/guides/development/frameworks/apache-tomcat/installing-apache-tomcat-on-ubuntu-8-04-lts-hardy/index.md
@@ -20,7 +20,7 @@ deprecated: true
Apache Tomcat is a free and open source software implementation for JavaServlets. It provides support for Java Server Pages (JSP), which power many popular web-based applications. You may choose to run Tomcat with either Sun's Java implementation or the OpenJDK implementation of Java, and this document provides instructions for using either option.
-This guide assumes that you have a working installation of Ubuntu 8.04 (Hardy), and have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to get your system working and up to date. We also assume that you have a functional SSH connection and root access to your server.
+This guide assumes that you have a working installation of Ubuntu 8.04 (Hardy), and 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. We also assume that you have a functional SSH connection and root access to your server.
Tomcat version 6 was not included as part of Ubuntu Hardy because of concerns that because of how packages work, packaging Tomcat would introduce a unique class of bugs into it. In any case, installing without apt just adds a few extra steps, and is easily accomplished.
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 b903ae2caee..ddec7c8c34b 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, we recommend considering the [beginner's guide](/docs/products/compute/compute-instances/faqs/), and the article concerning [systems administration basics](/docs/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 7442fdf3384..7316bb12dd3 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
@@ -14,7 +14,7 @@ external_resources:
[Appsmith](https://www.appsmith.com/) is a platform for building applications in a low-code, visual interface. It is an open source tool ideal for quickly developing internal applications with a combination of drag-and-drop UI widgets and JavaScript code.
-You can learn more about Appsmith and how to host your own instance in our guide [How to Self-host Appsmith with Docker Compose](/docs/guides/deploy-appsmith-docker).
+You can learn more about Appsmith and how to host your own instance in our guide [How to Self-host Appsmith with Docker Compose](/cloud/guides/deploy-appsmith-docker).
This tutorial covers everything you need to connect your Appsmith instance to the Linode API. With this, you can build your own Linode cloud manager or integrate Linode control into your application.
@@ -22,9 +22,9 @@ While this tutorial is specifically concerned with the Linode API, similar steps
## Before You Begin
-1. Familiarize yourself with our [Getting Started with Linode](/docs/products/platform/get-started/) guide, and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, and complete the steps for setting your Linode's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure 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.
1. Update your system.
@@ -36,10 +36,10 @@ While this tutorial is specifically concerned with the Linode API, similar steps
sudo dnf upgrade
-1. Follow our guide on [How to Self-host Appsmith with Docker Compose](/docs/guides/deploy-appsmith-docker) for steps to install Docker and start running an Appsmith instance on your own server.
+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](/docs/guides/linux-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](/docs/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 0ce7ac94fdc..1539da93f72 100644
--- a/docs/guides/development/frameworks/appsmith/deploy-appsmith-docker/index.md
+++ b/docs/guides/development/frameworks/appsmith/deploy-appsmith-docker/index.md
@@ -20,9 +20,9 @@ In this tutorial, learn how to get started with Appsmith by deploying your own s
## Before You Begin
-1. Familiarize yourself with our [Getting Started with Linode](/docs/products/platform/get-started/) guide, and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, and complete the steps for setting your Linode's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure 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.
1. Update your system.
@@ -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](/docs/guides/linux-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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 d563d8fb8ab..68764d5e088 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). You will install the [Apache web server](/docs/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](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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 9c64a6e76b1..24517fb80a6 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). You will install the [Apache web server](/docs/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](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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 00d09d828d7..6d6f0c25ebc 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). You will install the [Apache web server](/docs/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](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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 6675eca3989..8c91da5a1e9 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
@@ -21,14 +21,14 @@ This guide shows you how to install ASP.NET Core on your Linux server and how to
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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 `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](/docs/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](/docs/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 b666dec5d97..edf4f0168ca 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
@@ -20,12 +20,12 @@ Learn more about Astro in this tutorial, covering Astro's key features and provi
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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](/docs/products/compute/compute-instances/plans/shared-cpu/). 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](/docs/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](/docs/products/storage/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](/docs/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](/docs/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 8dd81a68fad..9a1a8acee86 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) as well as our [LAMP guide](/docs/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](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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 84c68750810..5f8f609a7c4 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: ['/development/frameworks/catalyst-and-modperl/','/websites/frameworks/
deprecated: true
---
-The Catalyst web framework is a contemporary Perl-based MVC, or Model View Controller. Like similar projects such as [Django](/docs/frameworks/), [Ruby On Rails](/docs/development/ror/), and [Seaside](/docs/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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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](/docs/guides/use-mysql-relational-databases-on-debian-5-lenny/) or [PostgreSQL](/docs/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](/docs/guides/apache-2-web-server-on-debian-5-lenny/) and [configuring the HTTP server](/docs/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](/docs/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 556ae4b0972..4f715d83d21 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,11 +26,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and have a running and up to date CentOS 5 system. Furthermore, you will want to have a running [Apache web server](/docs/guides/apache-2-web-server-on-centos-5/) and a functional [MySQL database](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/databases/) with Django, you will need to install and configure that independently of this guide. Consider one of our [database installation and configuration guides](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 baba130e658..2295d2a689e 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,11 +22,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and have a running and up to date Debian 5 (Lenny) system. Furthermore, you will want to have a running [Apache web server](/docs/guides/apache-2-web-server-on-debian-5-lenny/) and a functional [MySQL database](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
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 0cc996824fe..7ee0c1e70d9 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,11 +22,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and have a running and up to date Ubuntu 10.04 (Lucid) system. Furthermore, you will want to have a running [Apache web server](/docs/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) and a functional [MySQL database](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
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 0204eac6d7e..8b352b2fbce 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and have a running and up to date Ubuntu 8.04 (Hardy) system. Furthermore, you will want to have a running [Apache web server](/docs/guides/apache-2-web-server-on-ubuntu-8-04-lts-hardy/) and a functional [MySQL database](/docs/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 0fa2bc8601b..b1bf6ab68f4 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and have a running and up to date Ubuntu 9.04 (Jaunty) system. Furthermore, you will want to have a running [Apache web server](/docs/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/) and a functional [MySQL database](/docs/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 61af63954b3..1ea3937595a 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and have a running and up to date Ubuntu 9.10 (Karmic) system. Furthermore, you will want to have a running [Apache web server](/docs/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) and a functional [MySQL database](/docs/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 19af80a0558..7ebcd72b986 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,11 +27,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/docs/guides/apache-2-web-server-on-centos-5/) and a functional [MySQL database](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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 14f3c4cca70..4c259e4826f 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/docs/guides/apache-2-web-server-on-debian-5-lenny/) and a functional [MySQL database](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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 c09aa54b070..2fcbdc1504a 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/docs/guides/apache-2-web-server-on-debian-6-squeeze/) and a functional [MySQL database](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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 ca06aa0e6b6..95613a3ad90 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/docs/guides/apache-2-web-server-on-fedora-14/) and a functional [MySQL database](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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 8a0f391a76d..b05b193c6dd 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/docs/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) and a functional [MySQL database](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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 cf4261ed21c..3f11adea9c8 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/docs/guides/apache-2-web-server-on-ubuntu-10-10-maverick/) and a functional [MySQL database](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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 63bfd0cdd40..4e507d4142d 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) prior to beginning this guide on an up to date system. Furthermore, you will want a running [Apache web server](/docs/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) and a functional [MySQL database](/docs/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](/docs/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](/docs/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 d5b1e999e49..f835cf67bfc 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](/docs/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 8eb67e434fa..ca43396caa9 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
@@ -21,12 +21,12 @@ This guide walks you through the setup process for Laravel, then shows you how t
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/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 16a8b488c92..d4bd9f831ae 100644
--- a/docs/guides/development/frameworks/phoenix/using-phoenix-framework/index.md
+++ b/docs/guides/development/frameworks/phoenix/using-phoenix-framework/index.md
@@ -20,17 +20,17 @@ In this tutorial, learn more about the Phoenix framework and what sets it apart.
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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](/docs/guides/an-introduction-to-postgresql/) guide. You can also refer to our [8 Most Popular Databases](/docs/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](/docs/guides/how-to-install-use-postgresql-ubuntu-20-04/) or [How to Install and Use PostgreSQL on CentOS 8](/docs/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](/docs/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 5f60b172d09..4c5189425af 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). You'll also need to install [Apache](/docs/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](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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](/docs/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](/docs/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](/docs/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/assets/605-init-deb.sh b/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-5-lenny/605-init-deb.sh
similarity index 100%
rename from docs/assets/605-init-deb.sh
rename to docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-5-lenny/605-init-deb.sh
diff --git a/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-5-lenny/index.md b/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-5-lenny/index.md
index 32bc06fa362..8d0b50cb3ab 100644
--- a/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-5-lenny/index.md
+++ b/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-5-lenny/index.md
@@ -22,7 +22,7 @@ Sinatra is a simple lightweight framework for web application development in the
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -90,7 +90,7 @@ Do **not** remove the Passenger files from `opt` after the install. They need to
Nginx is now installed in `/opt/nginx`, but there are no "init" scripts to control this process. Issue the following sequence of commands to download a script, move it to the proper directory, set the proper permissions and set system startup links:
cd /opt
- wget -O init-deb.sh http://www.linode.com/docs/assets/605-init-deb.sh
+ wget -O init-deb.sh 605-init-deb.sh
mv /opt/init-deb.sh /etc/init.d/nginx
chmod +x /etc/init.d/nginx
/usr/sbin/update-rc.d -f nginx defaults
diff --git a/docs/assets/604-init-deb.sh b/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-6-squeeze/604-init-deb.sh
similarity index 100%
rename from docs/assets/604-init-deb.sh
rename to docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-6-squeeze/604-init-deb.sh
diff --git a/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-6-squeeze/index.md b/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-6-squeeze/index.md
index 263e559b908..0a98dabf994 100644
--- a/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-6-squeeze/index.md
+++ b/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-debian-6-squeeze/index.md
@@ -22,7 +22,7 @@ Sinatra is a simple lightweight framework for web application development in the
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -73,7 +73,7 @@ Do **not** remove the Passenger files from `opt` after the install. They need to
Nginx is now installed in `/opt/nginx`, but there are no "init" scripts to control this process. Issue the following sequence of commands to download a script, move it to the proper directory, set the proper permissions and set system startup links:
cd /opt
- wget -O init-deb.sh http://www.linode.com/docs/assets/604-init-deb.sh
+ wget -O init-deb.sh 604-init-deb.sh
mv /opt/init-deb.sh /etc/init.d/nginx
chmod +x /etc/init.d/nginx
/usr/sbin/update-rc.d -f nginx defaults
diff --git a/docs/assets/606-init-rpm.sh b/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-fedora-14/606-init-rpm.sh
similarity index 100%
rename from docs/assets/606-init-rpm.sh
rename to docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-fedora-14/606-init-rpm.sh
diff --git a/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-fedora-14/index.md b/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-fedora-14/index.md
index 2311d540850..0efd05b5b9c 100644
--- a/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-fedora-14/index.md
+++ b/docs/guides/development/frameworks/sinatra/sinatra-framework-and-nginx-on-fedora-14/index.md
@@ -22,7 +22,7 @@ Sinatra is a simple lightweight framework for web application development in the
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -64,7 +64,7 @@ Do **not** remove the Passenger files from `opt` after the install. They need to
Nginx is now installed in `/opt/nginx`, but there are no "init" scripts to control this process. Issue the following sequence of commands to download a script, move it to the proper directory, set the proper permissions and set system startup links:
cd /opt
- wget -O init-rpm.sh http://www.linode.com/docs/assets/606-init-rpm.sh
+ wget -O init-rpm.sh 606-init-rpm.sh
mv /opt/init-rpm.sh /etc/init.d/nginx
chmod +x /etc/init.d/nginx
chkconfig --add nginx
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 98157541941..ae0aea89deb 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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 d06f82ac3c1..a0269c1f227 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) prior to beginning. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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](/docs/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 dd0aed89b8e..0f716c0abc6 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,11 +20,11 @@ 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) prior to beginning. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/), [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/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
-Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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](/docs/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 02be13a4646..3a92d816e6c 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
@@ -22,7 +22,7 @@ Web.py is a web application framework that stresses minimalism, flexibility, rap
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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](/docs/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 deada9dcf97..c7a9f5989c5 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
@@ -22,7 +22,7 @@ Web.py is a web application framework that stresses minimalism, flexibility, rap
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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](/docs/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](/docs/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 1601314dfd8..e77b33c633c 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
@@ -22,7 +22,7 @@ Web.py is a web application framework that stresses minimalism, flexibility, rap
## 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). 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](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:
hostname
hostname -f
@@ -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](/docs/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](/docs/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](/docs/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](/docs/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 0efbfac18b8..4e12f066c83 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,12 +26,12 @@ 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](/docs/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
-Before you begin installing and configuring the components described below, please make sure you've followed our instructions in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide for setting your hostname. Here's how to check.
+Before you begin installing and configuring the components described below, please make sure you've followed our instructions in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for setting your hostname. Here's how to check.
1. Enter the following commands to view the hostname:
@@ -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)](/docs/web-servers/nginx/how-to-install-nginx-on-debian-7-wheezy/) and [How to Install MySQL on Debian 7](/docs/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](/docs/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 556d170cf18..e28060f587f 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: ['/development/go/before-you-begin-install-go-shortguide/']
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](/docs/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 958ee5bdef3..0226a236da1 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](/docs/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](/docs/guides/learning-go-functions-loops-and-errors-a-tutorial/) tutorial. More advanced guides are listed in the [Go section index](/docs/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 ae674ce4c1d..2e10671be18 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: ['/development/go/creating-reading-and-writing-files-in-go-a-tutorial/'
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](/docs/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](/docs/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 11df593c015..fe4d3becbe5 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: ['/development/go/developing-udp-and-tcp-clients-and-servers-in-go/']
---
-Go is a compiled, statically typed programming language developed by Google. Many modern applications, including [Docker](/docs/guides/introduction-to-docker/), [Kubernetes](/docs/guides/beginners-guide-to-kubernetes/), and [Terraform](/docs/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](/docs/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](/docs/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](/docs/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 7e1f65b39ee..b5a3df16ea8 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](/docs/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](/docs/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 4fe1b767a61..bb988046bee 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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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 55874fbc8b3..58ce0203588 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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/guides/learning-go-functions-loops-and-errors-a-tutorial/) and [Structs in Go](/docs/guides/go-structures/) tutorials are good next steps when learning Go. Afterwards, other advanced topics are covered in the [Go](/docs/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 0f2bea02422..2d8a89df249 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](/docs/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](/docs/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 de997ad44e4..310fb845f55 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](/docs/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](/docs/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 1788e89e2da..d453497a6fb 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](/docs/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 093d20fe6d8..f1e7527ede3 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](/docs/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](/docs/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](/docs/guides/beginners-guide-to-go/) for an introduction to programming with Go.
-- Check out our [Installing and Using Rust](/docs/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 b7423a4bcad..f292f097dc2 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](/docs/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 47504d0795c..67b37bbb564 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](/docs/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](/docs/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 92aff5006df..d73b5416953 100644
--- a/docs/guides/development/go/using-cobra/index.md
+++ b/docs/guides/development/go/using-cobra/index.md
@@ -18,10 +18,10 @@ aliases: ['/development/go/using-cobra/']
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](/docs/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](/docs/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 f1897383b72..dc9d1276f11 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](/docs/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](/docs/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 531a5e1c8dd..1621d828510 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
@@ -36,12 +36,12 @@ The Spring platform is very powerful and contains a large number of features. Fo
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/guides/linux-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-on-centos-8/index.md b/docs/guides/development/java/how-to-install-openjdk-on-centos-8/index.md
index 177df9d9898..510d5651c69 100644
--- a/docs/guides/development/java/how-to-install-openjdk-on-centos-8/index.md
+++ b/docs/guides/development/java/how-to-install-openjdk-on-centos-8/index.md
@@ -28,9 +28,9 @@ While there are many available versions of OpenJDK, version 11 is the latest Lon
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for connecting to your Linode with SSH and setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for connecting to your Linode with SSH and setting your Linode's hostname and timezone.
-1. Complete the sections of our guide on [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account, harden SSH access and remove unnecessary network services. This guide will use `sudo` commands wherever possible, which should be run by a limited, non-root user on your Linode.
+1. Complete the sections of our guide on [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. This guide will use `sudo` commands wherever possible, which should be run by a limited, non-root user on your Linode.
1. Ensure your system is up-to-date:
diff --git a/docs/guides/development/java/how-to-install-openjdk-on-debian-10/index.md b/docs/guides/development/java/how-to-install-openjdk-on-debian-10/index.md
index cc45336befe..10d0c4e2c3b 100644
--- a/docs/guides/development/java/how-to-install-openjdk-on-debian-10/index.md
+++ b/docs/guides/development/java/how-to-install-openjdk-on-debian-10/index.md
@@ -28,9 +28,9 @@ While there are many available versions of OpenJDK, version 11 is the latest Lon
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for connecting to your Linode with SSH and setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for connecting to your Linode with SSH and setting your Linode's hostname and timezone.
-1. Complete the sections of our guide on [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account, harden SSH access and remove unnecessary network services. This guide will use `sudo` commands wherever possible, which should be run by a limited, non-root user on your Linode.
+1. Complete the sections of our guide on [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. This guide will use `sudo` commands wherever possible, which should be run by a limited, non-root user on your Linode.
1. Ensure your system is up-to-date:
diff --git a/docs/guides/development/java/how-to-install-openjdk-on-ubuntu-18-04/index.md b/docs/guides/development/java/how-to-install-openjdk-on-ubuntu-18-04/index.md
index c9ef55a7eb0..dd418778cec 100644
--- a/docs/guides/development/java/how-to-install-openjdk-on-ubuntu-18-04/index.md
+++ b/docs/guides/development/java/how-to-install-openjdk-on-ubuntu-18-04/index.md
@@ -29,9 +29,9 @@ While there are many available versions of OpenJDK, version 11 is the latest Lon
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for connecting to your Linode with SSH and setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for connecting to your Linode with SSH and setting your Linode's hostname and timezone.
-1. Complete the sections of our guide on [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account, harden SSH access and remove unnecessary network services. This guide will use `sudo` commands wherever possible, which should be run by a limited, non-root user on your Linode.
+1. Complete the sections of our guide on [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. This guide will use `sudo` commands wherever possible, which should be run by a limited, non-root user on your Linode.
1. Ensure your system is up-to-date:
diff --git a/docs/guides/development/java/how-to-install-openjdk-on-ubuntu-20-04/index.md b/docs/guides/development/java/how-to-install-openjdk-on-ubuntu-20-04/index.md
index 4c00fa6c2a9..baeb92d4bd4 100644
--- a/docs/guides/development/java/how-to-install-openjdk-on-ubuntu-20-04/index.md
+++ b/docs/guides/development/java/how-to-install-openjdk-on-ubuntu-20-04/index.md
@@ -29,9 +29,9 @@ While there are many available versions of OpenJDK, version 11 is the latest Lon
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for connecting to your Linode with SSH and setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and complete the steps for connecting to your Linode with SSH and setting your Linode's hostname and timezone.
-1. Complete the sections of our guide on [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account, harden SSH access and remove unnecessary network services. This guide will use `sudo` commands wherever possible, which should be run by a limited, non-root user on your Linode.
+1. Complete the sections of our guide on [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. This guide will use `sudo` commands wherever possible, which should be run by a limited, non-root user on your Linode.
1. Ensure your system is up-to-date:
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 09287d81202..926c647ba38 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
@@ -35,12 +35,12 @@ For more information about OpenJDK, see the [OpenJDK website](https://openjdk.ja
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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/install-java-on-centos/index.md b/docs/guides/development/java/install-java-on-centos/index.md
index 733fa463c20..af1259dce5e 100644
--- a/docs/guides/development/java/install-java-on-centos/index.md
+++ b/docs/guides/development/java/install-java-on-centos/index.md
@@ -27,7 +27,7 @@ Java is a powerful programming language. Software written in Java can compile an
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+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. This guide will use `sudo` wherever possible.
diff --git a/docs/guides/development/java/install-java-on-debian/index.md b/docs/guides/development/java/install-java-on-debian/index.md
index e43e42bc2eb..6c22948f222 100644
--- a/docs/guides/development/java/install-java-on-debian/index.md
+++ b/docs/guides/development/java/install-java-on-debian/index.md
@@ -26,7 +26,7 @@ Java is a powerful programming language. Software written in Java can be compile
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+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. This guide will use `sudo` wherever possible.
diff --git a/docs/guides/development/java/install-java-on-ubuntu-16-04/index.md b/docs/guides/development/java/install-java-on-ubuntu-16-04/index.md
index a3cb1de5f7d..1f009be262c 100644
--- a/docs/guides/development/java/install-java-on-ubuntu-16-04/index.md
+++ b/docs/guides/development/java/install-java-on-ubuntu-16-04/index.md
@@ -32,9 +32,9 @@ In this guide, we'll install the Oracle Java development kit for building Java a
## Before You Begin
-1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone.
+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. This guide will use `sudo` wherever possible. Complete the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account, harden SSH access and remove unnecessary network services.
+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. Update your system:
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 c98df661e38..20ff3e35611 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
@@ -43,14 +43,14 @@ After full installation of above stack it was consuming around 650 MB of RAM wit
## Before You Begin
-- Please follow the steps mentioned in [Linode: Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) but skip the section Creating a Firewall as iptables has been replaced in CentOS 7 with [firewalld](https://fedoraproject.org/wiki/FirewallD).
+- Please follow the steps mentioned in [Linode: Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) but skip the section Creating a Firewall as iptables has been replaced in CentOS 7 with [firewalld](https://fedoraproject.org/wiki/FirewallD).
- Start & enable Firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
-- Please follow the steps mentioned in [Linode: Hosting a Website](/docs/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 91296e4b9fe..775c4ba62f4 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](/docs/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
{{ output >}}
-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](/docs/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](/docs/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](/docs/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 17fd15bee42..acd89bfa818 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
@@ -22,12 +22,12 @@ This guide helps you learn more about the Play framework and how to get started
## Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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 8f381a2fddc..4f006e0470c 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](/docs/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 861e8ccee07..64a9a5d1984 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](/docs/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](/docs/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](/docs/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](/docs/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 6d629c6c65e..25c89fd9637 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](/docs/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)](/docs/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
@@ -67,12 +67,12 @@ In this section, you learn how to implement a WebSocket server and how to use JW
### Before You Begin
-1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/docs/products/platform/get-started/) and [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guides.
+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](/docs/products/compute/compute-instances/guides/set-up-and-secure/) 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 [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](/docs/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](/docs/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 f4175f7c0b6..45662cc76cc 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
@@ -21,9 +21,9 @@ This MERN tutorial helps you get started building a MERN app of your own for an
## Before You Begin
-1. Familiarize yourself with our [Getting Started with Linode](/docs/products/platform/get-started/) guide, and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, and complete the steps for setting your Linode's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure 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.
1. Update your system using the following command:
@@ -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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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

-When you are ready to make your application accessible to the public, take a look at our [Deploying a React Application on Debian 10](/docs/guides/how-to-deploy-a-react-app-on-debian-10/) guide. Specifically, the [Configure your Web Server](/docs/guides/how-to-deploy-a-react-app-on-debian-10/#configure-your-web-server) and [Create your Deployment Script](/docs/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](/docs/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](/docs/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 b71b04e6c43..297dc9843b6 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,15 +17,15 @@ 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](/docs/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](/docs/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
-1. Familiarize yourself with our [Getting Started with Linode](/docs/products/platform/get-started/) guide, and complete the steps for setting your Linode's hostname and timezone.
+1. Familiarize yourself with our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, and complete the steps for setting your Linode's hostname and timezone.
-1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access, and remove unnecessary network services.
+1. This guide uses `sudo` wherever possible. Complete the sections of our [How to Secure 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.
1. Update your system using the following command:
@@ -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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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](/docs/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
@@ -206,7 +206,7 @@ To follow along, you can download the [MERN stack starter](https://github.com/rf
sudo ufw reload
```
- The above commands require you to have the UFW utility installed. It comes pre-installed if you use the Akamai Quick Deploy App. Otherwise, you can learn how to use UFW from our [How to Secure Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide discussed above.
+ The above commands require you to have the UFW utility installed. It comes pre-installed if you use the Akamai Quick Deploy App. Otherwise, you can learn how to use UFW from our [How to Secure Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide discussed above.
You can now use `scp` from your Windows machine, with a command like the one below. Replace the path to your MERN project folder with the actual path. Likewise, replace `example-user` with your user on the server instance and `192.0.2.0` with the instance's IP address:
@@ -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](/docs/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](/docs/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 6fa0d3b613a..8a2a1898c68 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](/docs/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.
@@ -187,7 +187,7 @@ As a result, the DOM is updated and the text, `item`, contained within the `